Type

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

Version 6.0 Geändert


Type (FeldVar) Numerisch

ParameterTypBeschreibung
FeldVarFeld | VariableZu testendes Feld oder Variable
FunktionsergebnisNumerischDatentypnummer

Beschreibung

Die Funktion Type gibt einen Wert zwischen 0 und 30 zurück, der den in FeldVar übergebenen Typ des Datenfelds bzw. der Variablen angibt.

4th Dimension bietet folgende vordefinierten Konstanten:

KonstanteTypWert
Is Alpha FieldLange Ganzzahl 0
Is String VarLange Ganzzahl 24
Is TextLange Ganzzahl 2
Is RealLange Ganzzahl 1
Is IntegerLange Ganzzahl 8
Is LongIntLange Ganzzahl 9
Is DateLange Ganzzahl 4
Is TimeLange Ganzzahl 11
Is BooleanLange Ganzzahl 6
Is PictureLange Ganzzahl 3
Is SubtableLange Ganzzahl 7
Is BLOBLange Ganzzahl 30
Is UndefinedLange Ganzzahl 5
Is PointerLange Ganzzahl 23
String arrayLange Ganzzahl 21
Text arrayLange Ganzzahl 18
Real arrayLange Ganzzahl 14
Integer arrayLange Ganzzahl 15
LongInt arrayLange Ganzzahl 16
Date arrayLange Ganzzahl 17
Boolean arrayLange Ganzzahl 22
Picture arrayLange Ganzzahl 19
Pointer arrayLange Ganzzahl 20
Array 2DLange Ganzzahl 13

Hinweis zur Kompatibilität: Bei Anwendung auf eine mit dem Befehl C_GRAPH deklarierte Variable des Typs Diagramm gab Typ in früheren Versionen von 4D den Wert 3 (Is Picture) zurück. Ab Version 6 gibt Typ dafür den Wert 9 (Is LongInt) zurück.

Sie können Typ anwenden auf Felder, Interprozessvariablen, Prozessvariablen, lokale Variablen, sowie dereferenzierte Zeiger auf diese Objekttypen.

Hinweis zu Version 6: Ab Version 6 können Sie Typ auch auf Parameter ($1,$2..., ${...}), Projektmethoden oder Funktionsergebnisse ($0) anwenden.

Beispiele

1. Siehe Beispiel zum Befehl APPEND TO CLIPBOARD.

2. Siehe Beispiel zum Befehl DRAG AND DROP PROPERTIES.

3. Folgende Projektmethode leert einige oder alle Felder des aktuellen Datensatzes der Tabelle mit einem als Zeiger übergebenen Parameter:

      ` Projektmethode EMPTY RECORD 
      ` EMPTY RECORD ( Zeiger {; Lang } )
      ` EMPTY RECORD ( -> [Tabelle] { ; Typ Flags } )

   C_POINTER ($1)
   C_LONGINT ($2;$vlTypFlags)

   If (Count parameters>=2)
      $vlTypFlags:=$2
   Else
      $vlTypFlags:=0xFFFFFFFF
   End if
   For ($vlField;1;Count fields($1))
      $vpField:=Field(Table($1);$vlField)
      $vlFieldType:=Type($vpField->)
      If ( $vlTypeFlags ?? $vlFieldType )
         Case of
            : (($vlFieldType=Is Alpha Field)|($vlFieldType=Is Text))
               $vpField->:=""
            : (($vlFieldType=Is Real)|($vlFieldType=Is Integer)|($vlFieldType=Is LongInt))
               $vpField->:=0
            : ($vlFieldType=Is Date)
               $vpField->:=!00/00/00!
            : ($vlFieldType=Is Time)
               $vpField->:=?00:00:00?
            : ($vlFieldType=Is Boolean)
               $vpField->:=False
            : ($vlFieldType=Is Picture)
               C_PICTURE($vgEmptyPicture)
               $vpField->:=$vgEmptyPicture
            : ($vlFieldType=Is Subtable)
               Repeat
                  ALL SUBRECORDS($vpField->)
                  DELETE SUBRECORD($vpField->)
               Until(Records in subselection($vpField->)=0)
            : ($vlFieldType=Is BLOB)
               SET BLOB SIZE($vpField->;0)
         End case
      End if
   End for

Mit dieser Projektmethode in Ihrer Datenbank können Sie schreiben:

      ` Leere den gesamten aktuellen Datensatz der Tabelle [Dinge tun]
   EMPTY RECORD (->[Dinge tun])

      ` Leere Text, BLOB und Bildfelder für den aktuellen Datensatz der Tabelle [Dinge tun]
   EMPTY RECORD (->[Dinge tun]; 0 ?+ Is Text ?+ Is BLOB ?+ Is Picture )

      ` Leere den gesamten aktuellen Datensatz der Tabelle [Dinge tun] 
                                       außer alphanumerische Felder
   EMPTY RECORD (->[Dinge tun]; -1 ?- Is Alpha Field )

Referenz

Is a variable, Undefined.


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