Archiv verlassen und diese Seite im Standarddesign anzeigen : variable mit <cr><lf> löschen
hallo ich bekomme einen string gesendet volgend <cr><lf> alles kein ding den einmal auszulesen danach die variable löschen mit s = "" nun sollte die wariable eigendlich lehr sein ist sie aber nicht es bleiben diese zeichen drin <cr><lf>.
wie bekomme ich die gelöscht
Onrxd:
S = S + Chr(udr)
If Len(s) > 11 Then
A = S
S = ""
End If
If A = "Œ01042054FA9" Then
A = ""
Incr Tran1:
End If
return
was amch ich da falsch? es fungtionirt ja immer einmal dann muß der mc resetet werden. und dann geht es auch wider einmal also wirt die variable anscheint nicht ganz gelöscht oder?
mit dem imput befehl und davor
Neu:
B = Inkey(#1)
If B = 0 Then 'fragt ab ob der soeicher null ist und liest gleichzeitg aus
Goto Gut
Else
Goto Neu
End If
Gut:
ist es kein problem nur als interupt geht zu viel zeit flöten
ich hoffe mir kann jemand helfen
gruß Nico
beim inkey iss das löschen des udr schon inbegriffen, das s liest jetz einfach vermutlich die steuerkommandos wieder it ein, wird aber nicht über 11 steigen, also wirds auch nich gelöscht, du musst das UDR noch löschen, wenn du nur UDR abfragst
Martin
hey danke erst mal für die antwort. bei der konfusen frage stellung. nun die frage wie kann ich denn die udr löschen ? das ist ja algemein mein problem.
du meinst das die steuer comandos nach dem eigendlichem string wider eingelesen werden ! ich habe mal eingestellt das er nach dem empfang von 13 zeichen erst löschen soll da macht er aber nichts weil er die steuerzeichen ergend wie nicht anerkennt. als zeichen.
wenn ich mir die variable mal anzeigen lasse übers lcd oder auf dem terminal mischen sich die zahlen also wirt immer was hinten drann gehängt.
kann mann die steuerzeichen ergend wie verarbeiten wenn das kommt mache das ? vofür wirt es denn mitgesendet?
versuchs doch mal mit udr = 0 ^^
mal schaun obs geht, hab grad keine passende appl, in der cih das so testen könnte.
Martin
hey mit udr = 0 geht es nicht weil der schohn lehr ist. mein problem habe ich glaube ich gefunden.
Onrxd:
S = S + Chr(udr)
If Len(s) > 11 Then
Select Case S
Case "Œ01042054FA9"
Tran3 = Tran3 + 2
If Tran3 =< 8 Then Print #2 , "c00" ; Tran3
Waitms 500
If Tran3 > 8 Then Print #2 , "c0" ; Tran3
Waitms 500
If Tran3 > 98 Then Print #2 , "c" ; Tran3
Waitms 500
Case usw.
Case Else
Waitms 500
End Select
S = ""
End If
Return
nach dem du mir gesagt hast das er die 11 zeichen nicht ereicht, habe ich gesucht ......
und zwar hohlt er die einzelnen bytes aus dem udr puffer unf fühgt sie bis er 11 zeichen hat an einander dann führt er den code aus. ist am ende und hat aber noch 2 zeichen im puffer (<cr><lf>)die lät er wider rein hat aber nur diese beiden und kommt somit nicht über 11 zeichen und hat dann die variable mit den mist voll und alles andere wirt dannhinten drann gehängt.
nun muß ich erst im programm also nicht in der rotine die variable löschen s = "" dann geht das.
ich würde das aber gerne noch werent des interupts machen
und mir fehlen da die idehen wie ich das abfragen kann ?
wenn ich sage sobalt nur 2 zeichen im pufer sind soll er löschen somit komm ich nie über 2 zeichen.
hast du noch eine ide?
oder kann mann die zeichen (<cr><lf>) auch abfragen das ich Case "Œ01042054FA9 <cr><lf>" das geht nicht.
danke Nico
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.