Version 6.0
LONGINT TO BLOB (LangeGanzzahl; Blob; ByteAnordnung{; Offset | *})
Parameter | Typ | Beschreibung | |
LangeGanzzahl | Numerisch | Lange Ganzzahl zum Schreiben ins BLOB | |
Blob | BLOB | BLOB zum Empfangen der Langen GanzzahI | |
ByteAnordnung | Numerisch | 0 Native Byte Anordnung | |
1 Macintosh Byte Anordnung | |||
2 PC Byte Anordnung | |||
Offset | * | Variable | * | Versatz im BLOB (in Bytes) | |
oder * um Wert anzufügen | |||
Neuer Versatz nach Schreiben ohne * |
Beschreibung
Der Befehl LONGINT TO BLOB schreibt den 4-byte Wert LangeGanzzahl in Blob.
Der Parameter ByteAnordnung legt die Anordnung des zu schreibenden 4-byte Wertes LangeGanzzahl fest. Sie übergeben eine der nachfolgenden vordefinierten Konstanten, die 4th Dimension zur Verfügung stellt:
Konstante | Typ | Wert |
Native byte ordering | Lange Ganzzahl | 0 |
Macintosh byte ordering | Lange Ganzzahl | 1 |
PC byte ordering | Lange Ganzzahl | 2 |
Hinweis zur Plattformunabhängigkeit: Bei diesem Befehl müssen Sie sich selbst um den Austausch von Bytes zwischen den Plattformen kümmern.
Geben Sie den optionalen Parameter * an, wird der 4-byte Wert vom Typ Lange Ganzzahl an das
BLOB angefügt und die Größe des BLOB entsprechend erweitert. Mit dem optionalen Parameter * können Sie jede Zahl vom Typ Ganzzahl, Lange Ganzzahl, Zahl oder Text (siehe andere BLOB Befehle) sequentiell in einem BLOB speichern, solange der Speicher für das BLOB ausreicht.
Geben Sie den optionalen Parameter * oder den Variablenparameter Offset nicht an, wird der 4-byte Wert vom Typ Ganzzahl am Anfang des BLOB gespeichert, der bisherige Inhalt wird überschrieben. Die Größe des BLOB wird entsprechend angepasst.
Übergeben Sie den Variablenparameter Offset, wird der 4-byte Wert vom Typ Lange Ganzzahl im BLOB am Byte-Versatz geschrieben (von Null ausgehend). Egal, wo Sie den Wert schreiben, die Größe des BLOB wird gemäß der übergebenen Position erhöht (bei Bedarf bis zu 4 Bytes). Neu zugewiesene Bytes, die Sie nicht schreiben, werden auf Null initialisiert.
Nach dem Aufruf wird der Variablenparameter Offset zurückgegeben, erhöht um die Anzahl der geschriebenen Bytes. Von daher können Sie dieselbe Variable mit einem anderen BLOB Befehl zum Schreiben eines anderen Wertes verwenden.
Beispiele
1. Nach Ausführen dieses Code:
LONGINT TO BLOB (0x01020304;vxBlob;Native byte ordering)
Ist die Größe von vxBlob 4 Bytes
Gilt auf Macintosh vxBLOB{0}=$01, vxBLOB{1}=$02, vxBLOB{2}=$03, vxBLOB{3}=$04
Gilt auf PC vxBLOB{0}=$04, vxBLOB{1}=$03, vxBLOB{2}=$02, vxBLOB{3}=$01
2. Nach Ausführen dieses Code:
LONGINT TO BLOB (0x01020304;vxBlob;Macintosh byte ordering)
Ist die Größe von vxBlob 4 Bytes
Gilt auf allen Plattformen vxBLOB{0}=$01, vxBLOB{1}=$02, vxBLOB{2}=$03, vxBLOB{3}=$04
3. Nach Ausführen dieses Code:
LONGINT TO BLOB (0x01020304;vxBlob;PC byte ordering)
Ist die Größe von vxBlob 4 Bytes
Gilt auf allen Plattformen vxBLOB{0}=$04, vxBLOB{1}=$03, vxBLOB{2}=$02, vxBLOB{3}=$01
4. Nach Ausführen dieses Code:
SET BLOB SIZE (vxBlob;100) LONGINT TO BLOB (0x01020304;vxBlob;PC byte ordering;*)
Ist die Größe von vxBlob 104 Bytes
Gilt auf allen Plattformen vxBLOB{100}=$04, vxBLOB{101}=$03, vxBLOB{102}=$02, vxBLOB{103}=$01
Bleiben die anderen Bytes des BLOB unverändert.
5. Nach Ausführen dieses Code:
SET BLOB SIZE (vxBlob;100) vlOffset:=50 LONGINT TO BLOB (0x01020304;vxBlob;Macintosh byte ordering;vlOffset)
Ist die Größe von vxBlob 100 Bytes
Gilt auf allen Plattformen vxBLOB{50}=$01, vxBLOB{51}=$02, vxBLOB{52}=$03, vxBLOB{53}=$04
Bleiben die anderen Bytes des BLOB unverändert.
Wurde die Variable vlOffset um 4 erhöht (und ist nun gleich 54)
Referenz
BLOB to integer, BLOB to longint, BLOB to real, BLOB to text, INTEGER TO BLOB, REAL TO BLOB, TEXT TO BLOB.