Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo! > Ich weiß, dass es dieses Thema schon gab, aber mein Problem ist ein bischen > anders. > Folgende Problemstellung: > Ich sende über den PC eine Befehlstring über die Serielle Schnittstelle. > Die Abfragen sollen immer mehr gesplittet werden. > Das heißt, dass am Anfang Unterschieden wird, zwischen Befehl und Anfrage. > Dafür steht das erste Zeichen in der String (A oder B). > Mit der Splittung will ich erreichen, dass die empfangene String nicht mit allen > vorhandenen Strings verglichen werden muß, sondern nur mit denen, die in die engere Wahl > kommen. > Die String soll dabei immer kürzer werden (die ersten Zeichen, die schon > interpretiert wurden (dass A bzw. B) sollen abgeschnitten werden. > Mein größtes Problem ist es, aus einer String zum Beispiel > BLIMOTOR=255 den Wert 255 zu extrahieren, um diesesn für die PLM Ports zu verwenden. > > Es wäre schön, wenn ihr die Befehle gut erklären könntet, da > ich mit den anderen Beispielen, die ich im Forum gefunden habe (zum Beispiel: > <code> > thread main > { string s, searchfor; int port; > hwcom.init(); > hwcom.setspeed(8); > hwcom.put(12); // Terminal-Fenster löschen > loop > { > s=""; > hwcom.inputstr(s,1); // String einlesen, Echo zurücksenden > hwcom.put(10); > strx.Ucase(s,0,str.length(s)); // String in Großbuchstaben umwandeln > if strx.getchar(s,0) == 'P' > { > port=strx.getchar(s,1)-0x30; > if port>=0 and port <=7 > {port=port+8; > searchfor="EIN"; > if strx.InStr(0,s,searchfor,str.length(s),3) != -1 ports.set(port,1); > searchfor="AUS"; > if strx.InStr(0,s,searchfor,str.length(s),3) != -1 ports.set(port,0); > searchfor="DEACT"; > if strx.InStr(0,s,searchfor,str.length(s),5) != -1 ports.deact(port); > } > } > else > if strx.getchar(s,0) == 'G' > { > port=strx.getchar(s,1)-0x30; > if port>=0 and port <=7 > { > s="Port P1H."; > str.putint(s,port); > port=port+8; > if ports.get(port) s=s+ " EIN"; else s=s+ " AUS"; > hwcom.print(s); > hwcom.ret(); > } > } > else > { > s="No Command"+13+10; > hwcom.print(s); > hwcom.ret(); > } > } > } > </code> leider nichts anfangen kann. > > > > ACU >