REAL TO BLOB

4D - Documentation   Français   English   German   English   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 6.0


REAL TO BLOB (Zahl; Blob; ZahlenFormat{; Offset | *})

ParameterTypBeschreibung
ZahlNumerischWert vom Typ Zahl zum Schreiben ins BLOB
BlobBLOBBLOB zum Empfangen des Wertes vom Typ
Zahl
ZahlenFormatNumerisch0  Native Zahlenformat
1  Erweitertes Zahlenformat
2   Macintosh doppeltes Zahlenformat
3   Windows doppeltes Zahlenformat
Offset | *Variable | *Versatz im BLOB (in Bytes)
oder * zum Anfügen des Wertes
Neuer Versatz nach Schreiben ohne *

Beschreibung

Der Befehl REAL TO BLOB schreibt den Wert Zahl in Blob.

Der Parameter ZahlenFormat legt das interne Format und die Byte Anordnung des zu schreibenen Wertes Zahl fest. Übergeben Sie eine der folgenden vordefinierten Konstanten von 4D:

KonstanteTypWert
Native real formatLange Ganzzahl0
Extended real formatLange Ganzzahl1
Macintosh double real formatLange Ganzzahl2
PC double real formatLange Ganzzahl3

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 Wert vom Typ Zahl 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 Wert vom Typ Zahl 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 Wert vom Typ Zahl 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 8 bzw. 10 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:

   C_REAL (vrValue)
   vrValue := ...
   REAL TO BLOB (vrValue;vxBlob;Native real format)

Ist die Größe von vxBlob auf allen Plattformen 8 Bytes

2. Nach Ausführen dieses Code:

   C_REAL (vrValue)
   vrValue := ...
   REAL TO BLOB (vrValue;vxBlob;Extended real format)

Ist die Größe von vxBlob auf allen Plattformen 10 Bytes

3. Nach Ausführen dieses Code:

   C_REAL (vrValue)
   vrValue := ...
   REAL TO BLOB (vrValue;vxBlob;Macintosh Double real format) 
                              ` oder Windows doppeltes Zahlenformat

Ist die Größe von vxBlob auf allen Plattformen 8 Bytes

4. Nach Ausführen dieses Code:

   SET BLOB SIZE (vxBlob;100)
   C_REAL (vrValue)
   vrValue := ...
   INTEGER TO BLOB (vrValue;vxBlob;Windows Double real format) 
                           ` oder Macintosh doppeltes Zahlenformat

Ist die Größe von vxBlob auf allen Plattformen 8 Bytes

5. Nach Ausführen dieses Code:

   SET BLOB SIZE (vxBlob;100)
   REAL TO BLOB (vrValue;vxBlob;Extended real format;*)

Ist die Größe von vxBlob auf allen Plattformen 110 Bytes

Wird der Wert vom Typ Zahl auf allen Plattformen bei den Bytes #100 to #109 gespeichert

Bleiben alle anderen Bytes des BLOB unverändert

6. Nach Ausführen dieses Code:

   SET BLOB SIZE (vxBlob;100)
   C_REAL (vrValue)
   vrValue := ...
   vlOffset:=50
   REAL TO BLOB (vrValue;vxBlob;Windows Double real format;vlOffset) 
                                 ` oder Macintosh doppeltes Zahlenformat

Ist die Größe von vxBlob auf allen Plattformen 100 Bytes

Wird der Wert vom Typ Zahl auf allen Plattformen bei den Bytes #50 bis #57 gespeichert

Bleiben alle anderen Bytes des BLOB unverändert

Wurde die Variable vlOffset um 8 erhöht (und ist nun gleich 58)

Referenz

BLOB to integer, BLOB to longint, BLOB to real, BLOB to text, INTEGER TO BLOB, LONGINT TO BLOB, TEXT TO BLOB.


4D - Documentation   Français   English   German   English   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next