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 Blush](images/smilies/lvfsmilies/fun/blush.gif)
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!
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?
Wie änder ich das dann?
16 bit vorzeichenlos oder nicht?
(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 aufgeben
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/darfst
Gruss Marc
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?
(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-Offset
Gruss Marc
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 Blink](images/smilies/lvfsmilies/fun/blink.gif)
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]
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?