Problem mit rausfiltern von Daten aus Zeichenkette - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Datenkommunikation (/Forum-Datenkommunikation) +---- Thema: Problem mit rausfiltern von Daten aus Zeichenkette (/Thread-Problem-mit-rausfiltern-von-Daten-aus-Zeichenkette) |
Problem mit rausfiltern von Daten aus Zeichenkette - Alex84 - 02.06.2011 16:50 Hallo zusammen, ich bin auf folgendes Terminal-Programm gestoßen und würde es gerne derart erweitern, das ich bestimmte Teile der ASCII-kodierten Zeichenketten raus filtere, in Hex umwandle und anzeigen kann. Dazu hab ich das Programm mal durch folgende Komponenten erweitert (siehe Anhang). Allerdings zeigt es mir immer nur die Werte des ersten vom Terminal-Programm empfangenen String an. Jede Zeichenkette beginnt mit einem 0x04. Würde mich freue, wenn mir jemand weiterhelfen könnte. Muss ich die von mir zugefügten Komponenten irgendwo anders platzieren? Ich verwende die 8.5 Version! VG RE: Problem mit rausfiltern von Daten aus Zeichenkette - Richard - 03.06.2011 07:13 Hallo Alex84. ich weiß nicht, was für ein String von Visa kommt. Aber im Prinzip ist das was du da machst schon richtig. Die Anzeige von dem Suchstring wäre besser im '\'codes display, da du ja nach einem Hex Wert suchst, und nicht nach einem kryptischen zeichen. Was ist dieser offset von vier? Und die länge vier? Schau dir halt den String im Ursprünglichen mal als '\' codes an, dann siehst du evtl. auch gleich warum nur der erste Wert erkannt wird. Sind es immer exact zwei Werte in dem String? Oder hat der String einen charakteristischen aufbau? Dann könntest du mit Scan from String dir viel Arbeit ersparen. Ein kleines Beispiel, wie es aussehen könnte. Die For-schleife ist natürlich nur bei einer variablen Anzahl von Werten sinnvoll. [attachment=34078] Gruß Richard RE: Problem mit rausfiltern von Daten aus Zeichenkette - Alex84 - 03.06.2011 10:16 Hallo Richard, vielen Dank für deine Antwort. Der String hat einen charakteristischen Aufbau...Im Grunde wollte ich ausgehend von 0x04 die einzelnen Zeichen bis zu den Stellen 4 und 8 zählen. Da beginnen meine 4 Zeichen langen Daten die ich darstellen will. Also ich schreib meine Zeichenkette in ein Array mit Hilfe des Terminators 0x04. Dann will ich sie ja weiter auswerten, sprich die Teilstrings umwandeln und darstellen. Wie mache ich das am besten. Wäre klasse, wenn mir da jemand weiterhelfen könnte. Gruß Alex RE: Problem mit rausfiltern von Daten aus Zeichenkette - TSC - 03.06.2011 10:45 Wenn der String einen charakteristischen Aufbau hat, dann zeig ihn doch mal her. Es ist so viel leichter für uns, wenn wir wissen, welchen String wir zerlegen sollen,.. Ich träume von sowas wie: gelesener INPUT: xyz>+04.5-19.8 gewünschter OutputA: 4,5 gewünschter OutputB: -19,8 Grüße, Totti RE: Problem mit rausfiltern von Daten aus Zeichenkette - Alex84 - 03.06.2011 10:57 Hallo Totti, sorry, Du hast natürlich Recht. Hier der String: 01901C201F4019001C20C400271A00400008D000FFFF27103C023C007706BC042E000000920124000F002D2022061A2017312311CA14CA89D3 Der String besteht aus ASCII-Zeichen, die Hex-Zahlen darstellen. Ich möchte nun bspw. die fettgedruckten Stellen rausfiltern. 1C20(hex) = 7200(dec) 0027(hex) = 39(dec) --> soll als 3.9 dargestellt werden 1A(hex) = 26(dec) --> 2.6 20(hex) = 32(dec) --> 3.2 Also im Grunde muss man ja über einen Terminator, also 0x04, und Counter die einzelnen Stellen irgendwie rausfiltern können. Allerdings weiß ich nicht, wie ich das am besten bewerkstelligen soll. Ufff! RE: Problem mit rausfiltern von Daten aus Zeichenkette - TSC - 03.06.2011 12:32 Habs leider auch mit dem Beispiel noch nicht verstanden! Jede Hexzahl ist vier Zeichen lang? Wie entscheidest du, wo ein Komma hin kommt? Oder steht fest, dass du immer nur genau die Stellen brauchst, die du fett markiert hast? |