Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
||||||||||||||
|
4D v20 R7
Commandes du thème Compilateur
|
_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 |
Note de compatibilité : Les commandes obsolètes _o_C_GRAPH, _o_C_INTEGER et _o_C_STRING ne doivent plus être utilisées.
A l'exception d'IDLE, ces commandes déclarent des variables et leur assignent un type. La déclaration des variables permet de lever toute ambiguïté en ce qui concerne leur type. Lorsqu'une variable n'est pas déclarée par l'une de ces commandes, le compilateur déduit son type. Mais il lui est souvent difficile de déduire le type d'une variable utilisée dans les formulaires. Par conséquent, il est particulièrement important d'utiliser ces commandes pour déclarer les variables placées dans les formulaires.
Note : Pour gagner du temps, vous pouvez utiliser l'option de génération et de mise à jour des méthodes de typage (appelées “Méthodes compilateur”), proposée dans la fenêtre du compilateur. Cette option crée automatiquement des méthodes de typage recensant et donnant un type à l'ensemble des variables utilisées dans la base.
Les tableaux sont des variables devant respecter les mêmes règles que les variables standard en vue de la compilation. Les commandes de déclaration des tableaux sont groupées dans le thème Tableaux.
Ces principes sont détaillés dans les sections suivantes :
Voici quelques déclarations de variables standard pour le compilateur :
C_BLOB(vxMonBlob) // La variable process vxMonBlob est déclarée avec le type BLOB
C_BOOLEAN(<>SousWindows) // La variable interprocess <>SousWindows est déclarée avec le type booléen
C_DATE($vdCurDate) // La variable locale $vdCurDate est déclarée avec le type Date
C_LONGINT(vg1;vg2;vg3) // Les 3 variables process vg1, vg2 et vg3 sont déclarées avec le type entier long
Dans cet exemple, la méthode projet uneMéthodeParmiD'Autres déclare 3 paramètres:
// Méthode projet uneMéthodeParmiD'Autres
// uneMéthodeParmiD'Autres ( Numérique ; Date { ; Entier long } )
// uneMéthodeParmiD'Autres ( Montant ; Date { ; Ratio } )
C_REAL($1) // le 1er paramètre est du type Réel (Numérique)
C_DATE($2) // le 2e paramètre est du type Date
C_LONGINT($3) // le 3e paramètre est du type Entier long
// ...
Dans l'exemple suivant, la méthode projet ajoutCapitale accepte un paramètre de type texte et retourne un texte :
// Méthode projet ajoutCapitale
// ajoutCapitale ( Texte ) -> Texte
// ajoutCapitale ( Chaîne source ) -> Chaîne avec la première lettre capitale
C_TEXT($0;$1)
$0:=Uppercase(Substring($1;1;1))+Lowercase(Substring($1;2))
Dans l'exemple suivant, la méthode projet envoyerPaquets accepte un paramètre de type Heure suivi d'un nombre variable de paramètres de type Texte :
` Méthode projet envoyerPaquets
` envoyerPaquets ( Heure ; Texte { ; Texte2... ; TextN } )
` envoyerPaquets ( docRef ; Données { ; Données2... ; DonnéesN } )
C_TIME($1)
C_TEXT(${2})
C_LONGINT($vlPaquet)
For($vlPaquet;2;Count parameters)
SEND PACKET($1;${$vlPaquet})
End for
Dans l'exemple suivant, la méthode projet compiler_Param_Prédéclare28 pré-déclare la syntaxe d'autres méthodes projet, à l'intention du compilateur :
` Méthode projet compiler_Param_Prédéclare28
C_REAL(uneMéthodeParmiDautres;$1) ` uneMéthodeParmiDautres ( Réel ; Entier { ; Entier long } )
C_DATE(uneMéthodeParmiDautres;$2) ` ...
C_LONGINT(uneMéthodeParmiDautres;$3) ` ...
C_TEXT(ajoutCapitale;$0;$1) ` ajoutCapitale ( Texte ) -> Texte
C_TIME(envoyerPaquets;$1) ` envoyerPaquets ( Heure ; Texte { ; Texte2... ; TexteN } )
C_TEXT(envoyerPaquets;${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
Produit : 4D
Thème : Compilateur
Modifié : 4D v15 R5
4D - Langage ( 4D v20 R7)