LabVIEWForum.de
TXT-Datei auslesen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: TXT-Datei auslesen (/Thread-TXT-Datei-auslesen)

Seiten: 1 2


TXT-Datei auslesen - seitzo - 27.09.2011 08:30

Hab mal wieder ne Frage und zwar les ich eine TXT Datei ein.
Die TXT-Datei kommt von einer SPS über ftp siehe im Anhang.

Jetzt will ich den Wert 50 auslesen, dieser änder sich immer.
in einem String-Anzeigeelemt kann ichs einlesen.
ABER der macht mir zwischen der 5 und der 0 ein Leerzeichen.
Beim umwandeln in eine Zahl erkennt er natürlich nur die 5.

Wie lös ich das Problem? Blush


RE: TXT-Datei auslesen - jg - 27.09.2011 08:36

Die Datei liegt im Unicode-Format (d.h. 16bit pro Zeichen) und nicht im ASCII-Format vor.

Gruß, Jens

P.S.: Eine geöffnete Datei-Referenz sollte man wieder schließen!


RE: TXT-Datei auslesen - lambda89 - 27.09.2011 08:46

Mir kam in den Sinn, dass du ja vielleicht die "Leerzeichen" raussuchen und entfernen lassen könntest, allerdings besteht dann ja auch die Gefahr das eine einzelne 5 und eine einzelne 0 zu einer 50 werden?
Oder hab ich jetzt was faslch verstanden?


RE: TXT-Datei auslesen - seitzo - 27.09.2011 08:47

Wie änder ich das dann?
16 bit vorzeichenlos oder nicht?


RE: TXT-Datei auslesen - M Nussbaumer - 27.09.2011 09:10

(27.09.2011 08:47 )seitzo schrieb:  Wie änder ich das dann?
16 bit vorzeichenlos oder nicht?

Es gibt vorgefertigte VI's welche dir Unicode in ASCII umwandeln, jedoch musst du dann die Methode mit dem Byte-Offset aufgebenDenknach

Hier noch die VI's samt Beispiele:

[attachment=36141] LabVIEW 8.6

Fundort:
https://decibel.ni.com/content/docs/DOC-10153


Da du mit Strings arbeitest könntest du ja einfach alles auslesen und mit String-Subset arbeiten (String-Palette)
Musst nur wissen, ab dem wievielten Zeichen du auslesen musst/kannst/darfstWink

Gruss Marc


RE: TXT-Datei auslesen - seitzo - 27.09.2011 09:28

Ich wills mal mit der Methode versuchen nur die Leerzeichen zu entfernen.
Habs schon versucht, aber kriegs nicht hin.
Wie mach ich das am besten?


RE: TXT-Datei auslesen - M Nussbaumer - 27.09.2011 09:38

(27.09.2011 09:28 )seitzo schrieb:  Ich wills mal mit der Methode versuchen nur die Leerzeichen zu entfernen.
Habs schon versucht, aber kriegs nicht hin.
Wie mach ich das am besten?

Den String an die Search&Replace Funktion anhängen,
als Suchstring erstellst du dir eine String-Konstante.

Auf diese machst du einen Rechtsklick und wählst Hex-Display, nun gibst du 00 ein. Als Replace-String wählst du die Empty-String Konstante.

Würde dir aber zur Variante mit der Unicode Umwandlung raten, das Stringoffset entspricht ja sogar deinem Byte-OffsetSmile

Gruss Marc


RE: TXT-Datei auslesen - seitzo - 27.09.2011 09:54

geht bei mir leider nicht.
Was macht die 00 im Hex-Format?
Sorry, Ich versteh die Beispiele zur ASCI-Umwandlung nicht.
Welches Beispiel hast du da gemeint, sind ja mehrere und wie wende ich das dann auf mein Problem an? Blink


RE: TXT-Datei auslesen - Lucki - 27.09.2011 10:20

Es ist ja nicht gesagt, daß bei Unicode das eine der beiden Zeichen immer ein Leerzeichen ist. Ich habe mal versucht, einfach jedes zweite Zeichen zu entfernen (Mit String2Array --> Array dezimieren --> Array2String). Das Ergebnis sieht nicht schlecht aus, vielleicht kannst Du damit was anfangen:

[attachment=36148]


RE: TXT-Datei auslesen - seitzo - 27.09.2011 10:21

OK, war mein Fehler weil mein Englisch so schlecht ist.
Aber wie lösch ich mehrere Leerzeichen hintereinander?
muss ich da immer eine Search&Replace-Funktion einfügen, oder geht das auch anders?