Bei Data-Section werden bestimmte Typen nicht auf richtigkeit überprüft. Es wird nicht überprüft, ob ich z.B. einem Long-Typ einen String zuweise oder ob ich einem Long-Typ einen Fload-Wert zuweise (wobei bei Fload-Wert nach dem Komma alles abgeschnitten wird). Es wird aber überprüft, ob ein Intergreter größer als der Typ zugewiesen wird (Data.b 321532 gibt Fehler). Mann kann aber z.B. bei Data.s Char-Werte zuweisen (Data.s 64,53,23), was eigendlich nützlich ist.
DataSection
Label:
;/ das funkioniert
Data.s 64,53,23, "String"
Data.l 432, 34.543 ;/ Nach Komma wird weggeschnitten
;/ das ist seltsam
Data.b 255, -128 ;/ Der Wertbereich liegt laut Hilfe zwischen -128 und +127
;/ das funkioniert nicht
Data.l "" ;/ Dies müste ein PureBasic-Fehler sein. Der Compiler arbeitet das einfach durch
Data.b 256 ;/ Der Fehler sagt: "Overflow error: a 'byte' value (.b) must be between -128 and +255", ist ein Byte in PureBasic größer als 255 ?
EndDataSection
Zuletzt geändert von Leonhard am 25.07.2007 07:24, insgesamt 1-mal geändert.
entweder vorzeichenbehaftet von -128 bis 127,
oder vorzeichenlos von 0 bis 255.
der compiler läßt dir die freiheit zu entscheiden, ob du mit oder
ohne vorzeichen in deine Datazeilen schreiben willst,
deswegen akzeptiert er werte von -128 bis 255.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Für die DataSection gibts keinen Syntax-Check, unabhängig von PB4
Wenn Du Dir ein paar Gedanken über den Sinn der DataSection machst,
verstehste auch, das dies nicht besonders sinnvoll wäre.
Dieser Bereich wird "unverändert" in die Datasection des generierten
ASM-Sources übernommen.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
> ein byte kann 256 verschiedene werte haben.
ungeschickt formuliert. Ich würde es eher so nenen: Ein Byte kann nur
einen Wert speichern, der eine Zahl sein kann und von 0 bis 255 geht.
Eine Array von Bytes kann dann 256 verschiedene Werte sichern .