4D v16.3

Nom commande

Accueil

 
4D v16.3
Nom commande

Nom commande 


 

Nom commande ( commande {; info {; thème}} ) -> Résultat 
Paramètre Type   Description
commande  Entier long in Numéro de la commande
info  Entier long in Propriété thread-safe de la commande
thème  Texte in Thème du langage de la commande
Résultat  Chaîne in Nom de la commande

La fonction Nom commande retourne le nom ainsi que (optionnellement) les propriétés de la commande dont le numéro a été passé dans commande.

Note : Le numéro de chaque commande est indiqué dans l'Explorateur ainsi que dans la zone Propriétés de cette documentation.

Note de compatibilité : Le nom d'une commande pouvant varier au fil des versions de 4D (commandes renommées) ou en fonction de la langue de l'application, cette commande était utilisée dans les versions précédentes du programme pour désigner une commande directement via son numéro, en particulier dans les parties de code non tokenisées. Ce besoin a diminué au fil des évolutions de 4D, car pour les instructions non tokenisées (formules), 4D propose désormais une syntaxe tokenisée permettant de s'affranchir des variations des noms de commandes mais aussi des autres éléments comme les tables, tout en permettant de les saisir de façon lisible (pour plus d'informations sur ce point, reportez-vous à la section Utiliser des tokens dans les formules). Par ailleurs, par défaut la version anglaise du langage est utilisée à compter de 4D v15 (toutefois l'option "Utiliser langage français et paramètres régionaux système" de la Page Méthodes des Préférences permet de continuer à utiliser la version française dans un 4D français).

Deux paramètres optionnels sont disponibles :

  • info : propriétés de la commande. La valeur retournée est un champ de bits, dans lequel pour le moment seul le premier bit est signifiant (bit 0). Il est à 1 si la commande est thread-safe (i.e. compatible avec une exécution dans un process préemptif) et à 0 si la commande est thread-unsafe. Seules les commandes thread-safe peuvent être utilisées dans les process préemptifs. Pour plus d'informations sur ce point, veuillez vous reporter à la section Process 4D préemptifs.
  • thème : retourne le nom du thème de la commande dans le langage 4D.

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.

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:=Nom commande($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

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)
       asCommand{2}:=Nom commande(2)
       asCommand{3}:=Nom commande(3)
       asCommand{4}:=Nom commande(4)
  ` ...
 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.

*avec l'application 4D paramétrée pour utiliser le langage français (cf. note de compatibilité),

Vous souhaitez créer une méthode qui retourne Vrai si la commande dont le numéro passé en paramètre est thread-safe, et Faux si elle est thread-unsafe.

  //Méthode projet Is_Thread_Safe
  //Is_Thread_Safe(numCom) -> Booléen
 
 C_ENTIER LONG($1;$threadsafe)
 C_TEXTE($name)
 C_BOOLEEN($0)
 $name:=Nom commande($1;$threadsafe;$theme)
 Si($threadsafe ?? 0) //si le premier bit est à 1
    $0:=Vrai
 Sinon
    $0:=Faux
 Fin de si

Par exemple, pour la commande "STOCKER ENREGISTREMENT", numéro 53, vous pouvez écrire :

 $isSafe:=Is_Thread_Safe(53)
  // retourne Vrai



Voir aussi  

EXECUTER FORMULE
Process 4D préemptifs

 
PROPRIÉTÉS 

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

Cette commande modifie la variable système OKCommande(s) éligible(s) à l'exécution dans un process préemptif

 
HISTORIQUE 

Créé : 4D v6
Modifié : 4D v15 R5

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)