4D v16.3

BLOB Befehle

Home

 
4D v16.3
BLOB Befehle

BLOB Befehle  


 

4D unterstützt den Datentyp BLOB (Binary Large OBjects).

Sie können BLOB Datenfelder und BLOB Variablen definieren:

  • Für ein BLOB Datenfeld wählen Sie im Dialogfenster Feldeigenschaften in der Dropdown-Liste den Typ BLOB aus.
  • Für eine BLOB Variable wählen Sie den Compiler-Befehl C_BLOB. Sie können lokale, Prozess-und Interprozessvariablen vom Typ BLOB erstellen.
  • Für ein BLOB Array wählen Sie den Befehl ARRAY BLOB.

Ein BLOB sind in 4D miteinander zusammenhängende Bytes unterschiedlicher Länge, die Sie sowohl als eine Einheit als auch als einzelne Bytes ansprechen können. Ein BLOB kann leer sein (Länge Null) oder bis zu 2147483647 Bytes enthalten (2 GB).

Ein BLOB wird als Ganzes in den Speicher geladen. Eine BLOB Variable oder ein BLOB Array existieren nur im Speicher. Ein BLOB Datenfeld wird von der Festplatte in den Speicher geladen sowie der Rest des Datensatzes, zu dem es gehört.

Analog zu anderen Feldtypen, die eine umfangreiche Datenanzahl enthalten können, wie der Typ Bild, werden BLOB-Felder beim Ändern des Datensatzes nicht im Speicher dupliziert. Folglich ist das Ergebnis, das von den Funktionen Old und Modified bei Anwendung auf ein BLOB-Feld zurückgegeben wird, nicht signifikant.

Ein BLOB kann Daten jeglicher Art enthalten. Von daher gibt es keine Standarddarstellung auf dem Bildschirm. Zeigen Sie ein BLOB Feld bzw. eine BLOB Variable in einem Formular an, erscheinen sie unabhängig vom Inhalt leer.

In BLOB Feldern können Sie Daten jeglicher Art bis zu 2 GB speichern. Ein BLOB Feld können Sie nicht indizieren. Wollen Sie Datensätze zu Werten suchen, die in einem BLOB gespeichert sind, müssen Sie eine Formel einsetzen.

Sie können BLOBs von 4D als Parameter für 4D Befehle oder Plug-In Routinen übergeben, die derartige Parameter erwarten. Sie können BLOBS auch als Parameter für eine Benutzermethode übergeben oder als Funktionsergebnis zurückgeben.

Wollen Sie ein BLOB für eigene Methoden übergeben, definieren Sie einen Zeiger auf das BLOB und übergeben den Zeiger als Parameter.

Beispiele:

  ` Deklariere eine Variable vom Typ BLOB
 C_BLOB(anyBlobVar)
  ` Das BLOB wird als Parameter für einen 4D Befehl übergeben
 SET BLOB SIZE(anyBlobVar;1024*1024)
  ` Das BLOB wird als Parameter für eine externe Routine übergeben
 $errCode:=Do Something With This BLOB(anyBlobVar)
  ` Das BLOB wird als Parameter auf eine Methode übergeben, die ein BLOB zurückgibt
 C_BLOB(retrieveBlob)
 retrieveBlob:=Fill_Blob(anyBlobVar)
  ` Ein Zeiger auf das BLOB wird als Parameter auf eine Benutzermethode übergeben
 COMPUTE BLOB(->anyBlobVar)

Hinweis für Plug-In Entwickler: Ein BLOB Parameter wird als “&O” deklariert (der Buchstabe “O”, nicht die Ziffer “0”).

Sie können BLOBs gegenseitig zuweisen.

Beispiel:

  ` Deklariere zwei Variablen vom Typ BLOB
 C_BLOB(vBlobA;vBlobB)
  ` Setze die Größe des ersten BLOB auf 10 K
 SET BLOB SIZE(vBlobA;10*1024)
  ` Weise das erste BLOB dem zweiten zu
 vBlobB:=vBlobA

Sie können jedoch keinen Operator auf BLOBs anwenden; es gibt keinen Ausdruck vom Typ BLOB.

Sie können jedes Byte eines BLOB über geschweifte Klammern {...} individuell ansprechen. Bytes in einem BLOB werden von 0 zu N-1 nummeriert, wobei N die Größe des BLOB ist. Beispiel:

  ` Deklariere eine Variable vom Typ BLOB
 C_BLOB(vBlob)
  ` Setze Größe des BLOB auf 256 Bytes
 SET BLOB SIZE(vBlob;256)
  ` Die u.a. Schleife initialisiert die 256 Bytes des BLOB auf Null
 For(vByte;0;BLOB size(vBlob)-1)
    vBlob{vByte}:=0
 End for

Da alle Bytes eines BLOB individuell ansprechbar sind, können Sie in einem Feld bzw. einer Variablen vom Typ BLOB speichern, was Sie möchten.

4D bietet folgende Befehle zum Arbeiten mit BLOBS:

Diese Befehle werden auf den folgenden Seiten beschrieben.

Darüberhinaus gibt es noch folgende Befehle:



Siehe auch 

APPEND DATA TO PASTEBOARD
BLOB TO PICTURE
BLOB TO USERS
C_BLOB
GENERATE CERTIFICATE REQUEST
GENERATE ENCRYPTION KEYPAIR
GET PASTEBOARD DATA
GET RESOURCE
PICTURE TO BLOB
PICTURE TO GIF
USERS TO BLOB
WEB SEND BLOB

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: BLOB

 
GESCHICHTE 

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)