Laut Hilfe Basic Typen sollte ein Byte (1 Byte) sein, also 8 Bit
Code: Alles auswählen
Name | Erweiterung | Speicherverbrauch | Bereich
Byte | .b | 1 Byte | -128 bis +127
Ascii| .a | 1 Byte | 0 bis +255
ich dimensioniere ein Array
Code: Alles auswählen
Global Dim EmpfBytes.b(8096)
ich hab jetzt ein kleines Programm geschieben um ein Byte anzuzeigen...
Code: Alles auswählen
EnableExplicit
#Zeilenumbruch$ = Chr(13) + Chr(10)
Global StartByte.a = $EE
Global StartByteB.b = $EE
Global testtext$ = "StartByte.a = " + Hex(StartByte.a) + #Zeilenumbruch$ + "StartByteB.b = " + Hex(StartByteB.b)
MessageRequester("Byte Demo", testtext$, #PB_MessageRequester_Ok | #PB_MessageRequester_Info)
StartByte.a = EE
StartByteB.b = EE
die Ausgabe zeigt aber:
StartByte.a = EE
StartByteB.b = FFFFFFFFFFEE
das bedeutet das ein Byte 64 Bit (8 Bytes) lang ist, und nicht wie in der Hilfe 1 Byte = 8 Bit
wenn ich jetzt vergleiche
if EmpfBytes.b(i) = StartByteB.b
dann funktioniert das nicht weil ja scheinbar 64 Bit verglichen werden

Ist das ein Fehler in PureBasic ?
Gruß z3alf