LabVIEWForum.de - Zeitstempel scannen

LabVIEWForum.de

Normale Version: Zeitstempel scannen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Leute,

habe einen Bug in LV 8.0.1 entdecket.

Und zwar wenn mein String z.B. "132504.00" ist und ich daraus einen Zeitstempel 13:25:04,00 auf deutschem PC machen will, dann nehme ich das VI Scan From String und schreibe folgende Formattierung: "%.;%<%H:%M:%S%3u>T". Dabei nimmt LV den Punkt nicht als Trennzeichen. Reagiert also auf "%.;" nicht.

eg
Und hier mein Workaround dazu.

eg
Hi eg,

ich weiß nicht...das ist doch kein Bug...das hängt halt vom verwendeten Decimal point ab...wenn du den in den Options veränderst...ist es genau umgekehrt...mein Workaround wär der hier gewesen:


[attachment=6553]


Gruss
Achim
' schrieb:Hi eg,

ich weiß nicht...das ist doch kein Bug...das hängt halt vom verwendeten Decimal point ab...wenn du den in den Options veränderst...ist es genau umgekehrt...mein Workaround wär der hier gewesen:
[attachment=33161:replace.gif]
Gruss
Achim


Hallo Achim, entweder verstehe ich dich nicht oder du mich. Der Hintergrund ist folgender:

ich schreibe gerade eine Applikation, die mit deutschen und englischen Einstellungen funken soll. Dabei ist eine der Schnittstellen für GPS Receiver gedacht. Da kommt eine NMEA Sequenz namens "GPGGA". In dieser Sequenz ist so ein Zeitstempel dabei (als ASCII Sctring). Diesen muss ich in einen LV-Zeitstempel umwandeln und anzeigen/loggen. Das Scannen vom String klappt aber nur dann wenn ich in den Optionen "Use lcal decimal point" abschalte. Dann ist ja klar, dass es funktioniert. Wenn ich aber eine EXE daraus mache, dann klappt es nicht mehr, weil mein PC auf deutsche Regionaleinstellungen eingestellt ist. So kann es auch dem deutschen Kunde passieren.
Wahrscheinlich könnte ich die LV-INI(mit der richtigen Einstellung) dem Kunde mitkopieren, aber dann sind auch die Log-Dateien mit dem Punkt als trennzeichen erstellt. Und das will ich nicht. Ich will, dass die Log-Dateien abhängig von der Regionaleinstellung bleiben, aber das Scannen vom String fest auf Punkt als Trennzeichen eingestellt ist. LV versteht es aber nicht: beim normalen Float-Scan funktioniert es, bei Zeitstempel-Scan funktioniert es nicht.
Dein vorgeschlagener Workaround habe ich nicht ausprobiert, aber ich vermute es wird nur funktionieren, wenn du deutsche Regionaleinstellungen hast und "Use local dec. point" in LV-Einstellungen gesetzt hast. Probiere mal dein Komma durch einen Punkt in dem Formatting String zu ersetzen, du wirst bestimmt das gleiche rauskriegen, wie mit dem Komma auch.

eg
Hi Eugen,

ich habs schon verstanden und das mit dem Komma oder Punkt im Formatting String hab ich in beiden LV-Einstellungen der Option "Local Decimal Point" ausprobiert und es ist so wie du sagst...mein Workaround wär aber einfach der, dass mir im Progamm völlig wurscht ist, wie der String kommt...ich ersetze einfach alle Punkte im String durch Kommata (oder umgekehrt) oder wahlweise (die jeweilige Einstellung von LV kann man bestimmt auslesen)...und fertig1

A.
' schrieb:Hi Eugen,

ich habs schon verstanden und das mit dem Komma oder Punkt im Formatting String hab ich in beiden LV-Einstellungen der Option "Local Decimal Point" ausprobiert und es ist so wie du sagst...mein Workaround wär aber einfach der, dass mir im Progamm völlig wurscht ist, wie der String kommt...ich ersetze einfach alle Punkte im String durch Kommata (oder umgekehrt) oder wahlweise (die jeweilige Einstellung von LV kann man bestimmt auslesen)...und fertig1

A.

Ja, einverstanden.

eg
' schrieb:Hallo Leute,

habe einen Bug in LV 8.0.1 entdecket.

Und zwar wenn mein String z.B. "132504.00" ist und ich daraus einen Zeitstempel 13:25:04,00 auf deutschem PC machen will, dann nehme ich das VI Scan From String und schreibe folgende Formattierung: "%.;%<%H:%M:%S%3u>T". Dabei nimmt LV den Punkt nicht als Trennzeichen. Reagiert also auf "%.;" nicht.

eg

Könnte es nicht auch sein dass Dein Formatstring einen Eingangsstring "13:25:04.00" erwartet Du ihm aber "132504.00" gibst?

Rolf Kalbermatter
' schrieb:Könnte es nicht auch sein dass Dein Formatstring einen Eingangsstring "13:25:04.00" erwartet Du ihm aber "132504.00" gibst?

Rolf Kalbermatter


Ich denke nicht. Mit dem Komma klappt es doch.

eg
Referenz-URLs