INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Problem mit rausfiltern von Daten aus Zeichenkette



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

02.06.2011, 16:50
Beitrag #1

Alex84 Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Oct 2010

8.5
-
de


Deutschland
Problem mit rausfiltern von Daten aus Zeichenkette
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


Angehängte Datei(en) Thumbnail(s)
   

0 .vi  Terminal.vi (Größe: 85,88 KB / Downloads: 195)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
03.06.2011, 07:13
Beitrag #2

Richard Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 70
Registriert seit: Jun 2009

8.6,9.0,9.1,10.0,11.0
2008
DE_EN

80797
Deutschland
RE: Problem mit rausfiltern von Daten aus Zeichenkette
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.

   

Gruß Richard

Murphy was an optimist
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.06.2011, 10:16
Beitrag #3

Alex84 Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Oct 2010

8.5
-
de


Deutschland
RE: Problem mit rausfiltern von Daten aus Zeichenkette
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


Angehängte Datei(en)
0 .vi  Terminal.vi (Größe: 66,96 KB / Downloads: 195)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.06.2011, 10:45
Beitrag #4

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
RE: Problem mit rausfiltern von Daten aus Zeichenkette
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

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.06.2011, 10:57
Beitrag #5

Alex84 Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Oct 2010

8.5
-
de


Deutschland
RE: Problem mit rausfiltern von Daten aus Zeichenkette
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!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.06.2011, 12:32
Beitrag #6

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
RE: Problem mit rausfiltern von Daten aus Zeichenkette
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?

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Gehe zu: