Version 6.0
INTEGER TO BLOB (Ganzzahl; Blob; Byteanordnung{; Offset | *})
Parameter | Typ | Beschreibung | |
Ganzzahl | Numerisch | Wert vom Typ Ganzzahl zum Schreiben | |
ins BLOB | |||
Blob | BLOB | BLOB zum Empfangen des Wertes | |
vom Typ Ganzzahl | |||
Byteanordnung | Numerisch | 0 Native Byte Anordnung | |
1 Macintosh Byte Anordnung | |||
2 PC Byte Anordnung | |||
Offset | * | Variable | * | Versatz in Bytes im BLOB | |
oder *, um Wert anzuhängen | |||
Neuer Versatz nach Schreiben ohne * |
Beschreibung
Der Befehl INTEGER TO BLOB schreibt den 2-byte Wert Ganzzahl in Blob.
Der Parameter Byteanordnung legt die Anordnung des zu schreibenden 2-byte Wertes Ganzzahl fest. Sie übergeben eine der nachfolgenden vordefinierten Konstanten von 4D:
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 2-byte Wert vom Typ 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 2-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 2-byte Wert vom Typ 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 2 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:
INTEGER TO BLOB (0x0206;vxBlob;Native byte ordering)
Ist die Größe von vxBlob 2 Bytes
Gilt auf PowerPC Plattform: vxBLOB{0} = $02 und vxBLOB{1} = $06
Gilt auf Intel Plattform: vxBLOB{0} = $06 und vxBLOB{1} = $02
2. Nach Ausführen dieses Code:
INTEGER TO BLOB (0x0206;vxBlob;Macintosh byte ordering)
Ist die Größe von vxBlob 2 Bytes
Gilt auf allen Plattformen vxBLOB{0} = $02 und vxBLOB{1} = $06
3. Nach Ausführen dieses Code:
INTEGER TO BLOB (0x0206;vxBlob;PC byte ordering)
Ist die Größe von vxBlob ist 2 Bytes
Gilt auf allen Plattformen vxBLOB{0} = $06 und vxBLOB{1} = $02
4. Nach Ausführen dieses Code:
SET BLOB SIZE (vxBlob;100) INTEGER TO BLOB (0x0206;vxBlob;PC byte ordering;*)
Ist die Größe von vxBlob 102 Bytes
Gilt auf allen Plattformen vxBLOB{100} = $06 und vxBLOB{101} = $02
Bleiben die anderen Bytes des BLOB unverändert
5. Nach Ausführen dieses Code:
SET BLOB SIZE (vxBlob;100) vlOffset:=50 INTEGER TO BLOB (518;vxBlob;Macintosh byte ordering;vlOffset)
Ist die Größe von vxBlob 100 Bytes
Gilt auf allen Plattformen vxBLOB{50} = $02 und vxBLOB{51} = $06
Bleiben die anderen Bytes des BLOB unverändert
Wurde die Variable vlOffset um 2 erhöht (und ist nun gleich 52)
Referenz
BLOB to integer, BLOB to longint, BLOB to real, BLOB to text, LONGINT TO BLOB, REAL TO BLOB, TEXT TO BLOB.