LabVIEWForum.de - String durchsuchen

LabVIEWForum.de

Normale Version: String durchsuchen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi!

Habe ein Problem, ich bekomm über TCP ein Paket, Format String.
Dieses muss ich nun durchsuchen, die ersten drei Zeichen sind wichtig. Je nachdem was dort steht wird der String in ein anderes Ausgabefeld geschrieben.
Ich habe nun die Daten (Ausgang) vom TCP lesen genommen.
Anschließend String durchsuchen und zergliedern verbunden.
Hier muss man ja nun angeben, nach was man suchen will.
Ich habe hier nun versucht Strings verknüpfen zu nehmen, Sting 0 SYN, String 1 TTL, String 2 ANA und String 3 RES. Dies geht dann in Nach String/Zeichen suchen rein.
Und nun weiß ich nicht wie man LV sagen kann, das eben je nach dem was die ersten drei Zeichen sind, es anderst behandelt werden muss.

Kann man in LV eigentlich auch sagen, gebe mit nur die Zeichen zwischen SYN und /end aus? Denn so soll ich das Paket aufteilen, wenn es nicht gehen sollte, dann muss ich eben dem sagen, der die Daten schickt, er soll alles einzeln an verschiedene Ports schicken, dann muss ich eben nicht trennen, seh welcher Port und schreibe es ins passende Feld rein.
Hallo Sarah,

da Du immer die ersten drei Zeichen erkennen möchtest kannst Du die Funktion "Teilstring ersetzen" verwenden. Den Eingang "String" verbindest Du mit Deinem ankommenden String, die Eingänge "Teilstring" und "Offset" lässt Du offen und in den Eingang "Offset" schreibst Du die Konstante 3 (für 3 Zeichen). Jetzt steht Dir an dem oberen Ausgang einmal der Rest-String hinter den ersten drei Zeichen zur Verfügung und an dem unteren Ausgang werden die ersten drei Zeichen des ankommenden Strings ausgegeben. Nun kannst Du über eine CASE-Anweisung in Abhängigkeit der ersten drei Zeichen entscheiden wie weterverfahren werden soll.

Ich hoffe das hilft Dir so weiter.

Marko
marker schrieb:in den Eingang "Offset" schreibst Du die Konstante 3 (für 3 Zeichen)

Ich hoffe das hilft Dir so weiter.

Marko

Hallo Marko,
meinst du hier nicht Länge statt Offset?
Hast recht, natürlich ist hier der Eingang "Länge" gemeint.


Marko
Hi Marco,

soweit so gutSmile
Nur mein Case ist seltsam.
Ich soll ja zusätzlich einen Standardcase haben, dort soll ja nichts passieren.
Habe also einen Case stand hinzugefügt, nun wechselt es aber nicht auch wenn im Teilstring die ersten Zeichen stimmen, es geht immer nur in den Standardcase aber nicht in den, wo es soll :?:
An was kann das liegen?

Hab in den einzelnen Cases nun Muster vergleichen String ist der den ich vom Teilstring bekomme und der Ausdruck ist eine Konstante mit den jeweiligen drei Zeichen, die im Paket zu finden sind.
Hallo Sarah,

hier ein kleines Beispielprogramm, ich hoffe es hilft Dir weiter.

Gruß,
Marko
Hmmm, also muss ich es anderst anbinden.
Ich hab' Dein VI etwas verändert.
Klappt es vielleicht so?

Marko
*g*
Ja, nun geht es so wie ich es auch wollteWink
Danke, hatte wohl etwas zu viel eingebaut.
Referenz-URLs