| 4D v20.1Commandes du thème Compilateur | ||||||||||||||
|  | 
    4D v20.1
 Commandes du thème Compilateur 
         | |||||||||||||
| C_BLOB | C_REEL | C_TEXTE | 
| C_BOOLEEN | C_ENTIER LONG | C_DATE | 
| C_POINTEUR | C_IMAGE | C_HEURE | 
| C_OBJET | C_VARIANT | APPELER 4D | 
Note de compatibilité : Les commandes obsolètes _o_C_GRAPHE, _o_C_ENTIER et _o_C_ALPHA ne doivent plus être utilisées.
A l'exception d'APPELER 4D, 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_BOOLEEN(<>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_ENTIER LONG(vg1;vg2;vg3) // Les 3 variables process vg1, vg2 et vg3 sont déclarées avec le type entier longDans 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_REEL($1) // le 1er paramètre est du type Réel (Numérique)
 C_DATE($2) // le 2e paramètre est du type Date
 C_ENTIER LONG($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_TEXTE($0;$1)
 $0:=Majusc(Sous chaine($1;1;1))+Minusc(Sous chaine($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_HEURE($1)
 C_TEXTE(${2})
 C_ENTIER LONG($vlPaquet)
 
 Boucle($vlPaquet;2;Nombre de paramètres)
    ENVOYER PAQUET($1;${$vlPaquet})
 Fin de boucleDans 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_REEL(uneMéthodeParmiDautres;$1) ` uneMéthodeParmiDautres ( Réel ; Entier { ; Entier long } )
 C_DATE(uneMéthodeParmiDautres;$2) ` ...
 C_ENTIER LONG(uneMéthodeParmiDautres;$3) ` ...
 C_TEXTE(ajoutCapitale;$0;$1) ` ajoutCapitale ( Texte ) -> Texte
 C_HEURE(envoyerPaquets;$1) ` envoyerPaquets ( Heure ; Texte { ; Texte2... ; TexteN } )
 C_TEXTE(envoyerPaquets;${2}) ` ...
									_o_C_ALPHA
									
									_o_C_ENTIER
									
									_o_C_GRAPHE
									
									APPELER 4D
									
									C_BLOB
									
									C_BOOLEEN
									
									C_DATE
									
									C_ENTIER LONG
									
									C_HEURE
									
									C_IMAGE
									
									C_POINTEUR
									
									C_REEL
									
									C_TEXTE
									
	Produit :  4D
	Thème :  Compilateur
	
        
        
	Nom intl. :  Compiler Commands
	Modifié :  4D v15 R5
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	4D - Langage ( 4D v20)
	
	
	4D - Langage ( 4D v20.1)
	
	
	
 Ajouter un commentaire
Ajouter un commentaire