Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
||||||||||||||
|
4D v20 R7
Compilerbefehle
|
_O_C_BLOB | _O_C_REAL | _O_C_TEXT |
_O_C_BOOLEAN | _O_C_LONGINT | _O_C_DATE |
_O_C_POINTER | _O_C_PICTURE | _O_C_TIME |
_O_C_OBJECT | _O_C_VARIANT | IDLE |
Hinweis zur Kompatibilität: Die überholten Befehle _o_C_GRAPH,_o_C_INTEGER und _o_C_STRING dürfen nicht mehr verwendet werden.
Diese Befehle, außer IDLE, deklarieren Variablen und weisen einen spezifischen Datentyp zu. So vermeiden Sie zweideutige Zuweisungen. Ist eine Variable nicht mit einem dieser Compilerbefehle deklariert, versucht der Compiler den Datentyp einer Variablen zu bestimmen. Oft lässt sich der Datentyp von Variablen in Formularen nur schwer bestimmen. Von daher ist es besonders wichtig, Variablen in Formularen mit Compilerbefehlen zu deklarieren.
Hinweis: Um Zeit zu gewinnen, können Sie im Compiler-Fenster die Option zum Generieren und Aktualisieren von typisierenden Methoden (genannt Compiler Methoden) verwenden. Diese Option erstellt automatisch typisierende Methoden und weist den Prozess- und Interprozessvariablen der Anwendung einen Typ zu.
Arrays sind Variablen, die zur Kompilierung dieselben Regeln wie Standardvariablen befolgen müssen. Die Befehle zum Deklarieren von Arrays werden im Kapitel Arrays beschrieben.
Die jeweilige Vorgehensweise wird in den folgenden Abschnitten erläutert:
Nachfolgend sehen Sie ein paar grundlegende Variablendeklarationen für den Compiler:
C_BLOB(vxMyBlob) // Die Prozessvariable vxMyBlob wird als Variable vom Typ BLOB deklariert
C_BOOLEAN(<>OnWindows) // Die Interprozessvariable <>OnWindows wird als Variable vom Typ Boolean deklariert
C_DATE($vdCurDate) // Die lokale Variable $vdCurDate wird als Variable vom Typ Datum deklariert
C_LONGINT(vg1;vg2;vg3) // Die 3 Prozessvariablen vg1, vg2 und vg3 werden als Variablen vom Typ Lange Ganzzahl deklariert
In folgendem Beispiel deklariert die Projektmethode OneMethodAmongOthers 3 Parameter:
// Projektmethode OneMethodAmongOthers
// OneMethodAmongOthers ( Zahl ; Datum { ; Lang } )
// OneMethodAmongOthers ( Betrag ; Prozent { ; Ratio } )
C_REAL($1) // 1. Parameter ist vom Typ Zahl
C_DATE($2) // 2. Parameter ist vom Typ Datum
C_LONGINT($3) // 3. Parameter ist vom Typ Lange Ganzzahl
// ...
In folgendem Beispiel akzeptiert die Projektmethode Capitalize einen Parameter vom Typ Textund gibt einen Text zurück:
// Projektmethode Capitalize
// Capitalize ( Text ) -> Text
// Capitalize ( Ursprungsstring ) -> String in Großbuchstaben
C_TEXT(255;$0;$1)
$0:=Uppercase(Substring($1;1;1))+Lowercase(Substring($1;2))
In folgendem Beispiel akzeptiert die Projektmethode SEND PACKETS einen Parameter vom Typ Zeit gefolgt von einer variablen Anzahl von Textparametern:
// Projektmethode SEND PACKETS
// SEND PACKETS ( Zeit ; Text { ; Text2... ; TextN } )
// SEND PACKETS ( DokRef ; Daten { ; Daten2... ; DatenN } )
C_TIME($1)
C_TEXT(${2})
C_LONGINT($vlPacket)
For($vlPacket;2;Count parameters)
SEND PACKET($1;${$vlPacket})
End for
In folgendem Beispiel deklariert die Projektmethode COMPILER_Param_Predeclare28 die Syntax von anderen Projektmethoden für 4D Compiler vor:
// Projektmethode COMPILER_Param_Predeclare28
C_REAL(OneMethodAmongOthers;$1) // OneMethodAmongOthers (Zahl ; Ganzzahl { ; Lang })
C_INTEGER(OneMethodAmongOthers;$2) // ...
C_LONGINT(OneMethodAmongOthers;$3) // ...
C_TEXT(Capitalize;255;$0;$1) // In Großbuchstaben ( Text) -> Text
C_TIME(SEND PACKETS;$1) // SEND PACKETS ( Zeit ; Text { ; Text2... ; TextN } )
C_TEXT(SEND PACKETS;${2}) // ...
_o_C_GRAPH
_o_C_INTEGER
_o_C_STRING
C_BLOB
C_BOOLEEN
C_DATE
C_LONGINT
C_PICTURE
C_POINTER
C_REAL
C_TEXT
C_TIME
IDLE
Produkt: 4D
Thema: Compiler
Geändert: 4D v15 R5
4D Programmiersprache ( 4D v20 R7)