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
Nom commande
|
Nom commande ( commande {; info {; thème}} ) -> Résultat | ||||||||
Paramètre | Type | Description | ||||||
commande | Entier long |
![]() |
Numéro de la commande | |||||
info | Entier long |
![]() |
Propriété thread-safe de la commande | |||||
thème | Texte |
![]() |
Thème du langage de la commande | |||||
Résultat | Chaîne |
![]() |
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 Liste existante des Préférences permet de continuer à utiliser la version française dans un 4D français).
Deux paramètres optionnels sont disponibles :
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 code=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
Produit : 4D
Thème : Langage
Numéro :
538
Nom intl. : Command name
Créé : 4D v6
Modifié : 4D v15 R5
4D - Langage ( 4D v20 R7)