Forum: PC-Programmierung Basic Zeichenkette fehlerhaft


von Roy H. (roy01)


Angehängte Dateien:

Lesenswert?

Ich bin dabei mit FreeBasic mein erstes Programm zu schreiben.
Dabei soll die EEPROM Aufzeichnung meines µC Projekts
in eine Tabellenkalkulations taugliche *.csv Datei umgewandelt werden.

Jeder Datensatz besteht aus 7 Byte.
3 Byte stellen das Datum dar, gefolgt von 2 16Bit Werten.

Die Konvertierung des Datums funktioniert wunderbar.
Der erste 16Bit Wert ist auch richtig als Zeichenkette
dargestellt, aber dann beginnen die Fehler.
Der zweite Wert sollte 1185 (0h04A1) betragen.
In der Archiv.csv steht er aber mit 929.
Der Fehler wiederholt sich über die ganze Datei.

Nun verstehe ich nicht, warum einige Werte richtig sind und andere 
nicht.

Habe alles nötige gleich mit angehängt.

Würde mich sehr freuen wenn sich das mal Jemand anschauen könnte.
Vielen Dank im voraus.

von Karl H. (kbuchegg)


Lesenswert?

Roy H. schrieb:

> dargestellt, aber dann beginnen die Fehler.
> Der zweite Wert sollte 1185 (0h04A1) betragen.
> In der Archiv.csv steht er aber mit 929.
> Der Fehler wiederholt sich über die ganze Datei.
>
> Nun verstehe ich nicht, warum einige Werte richtig sind und andere
> nicht.

Heisser Tip:
Wenn man nicht so ganz versteht, wie ein Programm zu den Ergebnissen 
kommt, zu denen es kommt, dann empfiehlt es sich dem Programm über die 
Schulter zu sehen.
Das kann bedeuten: In einem Debugger Zeile für Zeile einzeln ablaufen zu 
lassen und sich die Zwischenergebnisse anzusehen.
Das kann aber auch bedeuten sich zusätzliche Ausgaben ins Programm 
einzubauen, mit denen man sich Zwischenwerte ansehen kann. AM besten mit 
den Eingaben anfangen: Welche Werte liest mein Programm von der Datei 
und was passiert damit weiter.

von Roy H. (roy01)


Lesenswert?

Ich habe den Fehler selbst gefunden.
Die Variable "Zeichen" muß als UByte (unsigned) und
nicht als Byte definiert werden.
Dadurch wurde das von der Datei eingelesen Zeichen falsch interpretiert.

Trozdem vielen Dank.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.