4D v14.3

Nom commande

Accueil

 
4D v14.3
Nom commande

Nom commande 


 

Nom commande ( commande ) -> Résultat 
Paramètre Type   Description
commande  Entier long in Numéro de la commande
Résultat  Chaîne in Nom (traduit) de la commande

La fonction Nom commande retourne le nom (universel) de la commande dont le numéro a été passé dans commande.

4D comporte un système unique en son genre de traduction dynamique des mots-clés, constantes et noms de commandes que vous utilisez dans vos méthodes. Si, par exemple, vous écrivez dans la version anglaise de 4D :

 DEFAULT TABLE([MyTable])
 ALL RECORDS([MyTable])

Le même code, si vous l'ouvrez avec la version française de 4D, sera automatiquement traduit :

 TABLE PAR DEFAUT([MyTable])
 TOUT SELECTIONNER([MyTable])

Cependant, 4D comporte aussi une autre fonctionnalité unique, la commande EXECUTER FORMULE, qui vous permet de construire à la volée et d'exécuter des parties de code même lorsque la base de données est compilée.

Si nous réécrivons le code précédent avec des commandes EXECUTE FORMULA, en anglais, il prendra l'apparence suivante :

 EXECUTE FORMULA("DEFAULT TABLE([MyTable])")
 EXECUTE FORMULA("ALL RECORDS([MyTable])")

Le même code, ouvert avec la version française de 4D, sera automatiquement traduit :

 EXECUTER FORMULE("DEFAULT TABLE([MyTable])")
 EXECUTER FORMULE("ALL RECORDS([MyTable])")

4D traduit automatiquement la commande EXECUTE FORMULA (anglais) en EXECUTER FORMULE (français) mais ne peut pas traduire les instructions passées à la commande.

Si vous utilisez la commande EXECUTER FORMULE dans votre application et si vous souhaitez éliminer les problèmes de traduction liés à ce type d'instruction, utilisez Nom commande pour rendre vos instructions indépendantes des localisations. L'exemple précédent devient alors :

 EXECUTE FORMULA(Command name(46)+"([MyTable])")
 EXECUTE FORMULA(Command name(47)+"([MyTable])")

La version française se lira :

 EXECUTER FORMULE(Nom commande(46)+"([MyTable])")
 EXECUTER FORMULE(Nom commande(47)+"([MyTable])")

Note : Le numéro de chaque commande est fourni dans la zone Propriétés de cette documentation.

La commande Nom commande met la variable OK à 1 si la commande correspond à un numéro de commande existant, et à 0 dans le cas contraire. A noter cependant que certaines commandes existantes ont été désactivées, auquel cas Nom commande retourne une chaîne vide (cf. dernier exemple).

Pour toutes les tables de votre base de données, vous avez créé un formulaire appelé "FORMULAIRE ENTREE" que vous utilisez pour la saisie dans chaque table. Vous voulez ajouter une méthode projet générique qui va désigner ce formulaire comme étant le formulaire entrée pour la table dont vous passez le nom ou le pointeur. Vous pouvez écrire :

  ` méthode projet FORMULAIRE ENTREE STANDARD
  ` FORMULAIRE ENTREE STANDARD ( Pointeur {; Chaîne })
  ` FORMULAIRE ENTREE STANDARD ( ->Table {; NomTable })
 C_POINTEUR($1)
 C_ALPHA(31;$2)
 
 Si(Nombre de paramètres>=2)
    EXECUTER FORMULE(Nom commande(55)+"(["+$2+"];"+Caractere(Guillemets)+"FORMULAIRE ENTREE"+Caractere(Guillemets)+")")
 Sinon
    Si(Nombre de paramètres>=1)
       FORM FIXER ENTREE($1->;"FORMULAIRE ENTREE")
    Fin de si
 Fin de si

Une fois que cette méthode a été ajoutée dans votre base, vous pouvez écrire :

 FORMULAIRE ENTREE STANDARD(->[Employés])
 FORMULAIRE ENTREE STANDARD("Employés")

Note : Généralement, il est préférable d'utiliser des pointeurs pour écrire des routines génériques. Tout d'abord, le code sera exécuté compilé si la base est compilée. Ensuite, comme dans l'exemple ci-dessus, votre code cessera de fonctionner si vous renommez la table. Cependant, dans certains cas, l'utilisation de la commande EXECUTER FORMULE peut être la réponse à vos besoins.

Dans un formulaire, vous voulez afficher une liste déroulante contenant les commandes standard de génération d'états. Dans la méthode objet de cette liste déroulante, vous écrivez :

 Au cas ou
    :(Evenement formulaire=Sur chargement)
       TABLEAU TEXTE(asCommand;4)
       asCommand{1}:=Nom commande(1) ` Somme
       asCommand{2}:=Nom commande(2) ` Moyenne
       asCommand{3}:=Nom commande(3) ` Min
       asCommand{4}:=Nom commande(4) ` Max
  ` ...
 Fin de cas

Dans une version anglaise de 4D, la liste déroulante contiendra : Sum, Average, Min et Max.
Dans une version française de 4D, la liste déroulante contiendra : Somme, Moyenne, Min et Max.

Le code suivant vous permet de charger toutes les commandes 4D valides dans un tableau :

 C_ENTIER LONG($Lon_id)
 C_TEXTE($Txt_command)
 TABLEAU ENTIER LONG($tLon_Command_IDs;0)
 TABLEAU TEXTE($tTxt_commands;0)
 
 Repeter
    $Lon_id:=$Lon_id+1
    $Txt_command:=[#($Lon_id)
    Si(OK=1) //le numéro de commande existe
       Si(Longueur($Txt_command)>0) //la commande n'est pas désactivée
          AJOUTER A TABLEAU($tTxt_commands;$Txt_command)
          AJOUTER A TABLEAU($tLon_Command_IDs;$Lon_id)
       Fin de si
    Fin de si
 Jusque(OK=0) //fin des commandes existantes

 
PROPRIÉTÉS 

Produit : 4D
Thème : Langage
Numéro : 538
Nom intl. : Command name

Cette commande modifie la variable système OK

 
HISTORIQUE 

Créé : 4D v6

 
VOIR AUSSI  

EXECUTER FORMULE

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v12.4)
4D - Langage ( 4D v14 R2)
4D - Langage ( 4D v14 R3)
4D - Langage ( 4D v13.5)
4D - Langage ( 4D v14.3)
4D - Langage ( 4D v14 R4)

Hérité de : Nom commande ( 4D v11 SQL Release 6)