Seite 1 von 1
Es wird kein Byte aus der Datei gelesen.
Verfasst: 28.05.2014 12:11
von funkheld
Hallo, guten Tag.
Es wird damit kein Byte aus der Binärdatei gelesen:
declare wert.c
wert=ReadByte(0)
PrintN(Str(wert))
Es wird manchmal 65000 usw ausgeprintet.
Woran liegt das?
Danke.
Gruss
Re: Es wird kein Byte aus der Datei gelesen.
Verfasst: 28.05.2014 12:17
von STARGÅTE
Wenn du ein Byte (also -128 bis 127) lesen und speichern willst, musst du auch "wert" als Byte definieren und nicht als "c" also Character.
In deinem Fall wird das Byte negativ sein, und da du in Unicode kompiliert hast, wird diese Negative Zahl als positives Unicode-Zeichen interpretiert.
Im übrigen heißt es:
Define Wert.b
Re: Es wird kein Byte aus der Datei gelesen.
Verfasst: 28.05.2014 12:24
von Derren
Code: Alles auswählen
Define wert.b
wert=ReadByte(0)
PrintN(StrU(wert, #PB_Ascii))
;For a = -128 To 127
; var = a
; Debug StrU(var, #PB_Ascii)
;Next
Re: Es wird kein Byte aus der Datei gelesen.
Verfasst: 28.05.2014 12:28
von funkheld
Jup, danke.
Es soll von 0-255 gehen.
Ich habe mich verschrieben es soll heißen : Global wert.c
Danke.
Gruss
Re: Es wird kein Byte aus der Datei gelesen.
Verfasst: 28.05.2014 12:32
von NicTheQuick
Dann kannst du auch 'ReadAscii()' nehmen und deine Variable als Ascii (.a) deklarieren. Dann brauchst du auch kein 'StrU()', sondern ein einfaches 'Str()' reicht. Dann kommt es auch zu keinen Verwirrungen, wenn du später mit der Zahl rechnen willst, denn ein Byte in PB ist vorzeichenbehaftet und geht von -128 bis 127. 'StrU()' zeigt es dann nur anders an.
Re: Es wird kein Byte aus der Datei gelesen.
Verfasst: 28.05.2014 17:25
von funkheld
Jup danke.
Mit byte.a klappt es wunderbar.
Gruss