4D v16.3Identifiants |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
Identifiants
Identifiants
Cette section détaille les règles d'écriture et de nommage appliquées aux divers identifiants utilisés dans le langage de 4D (variables, tableaux, formulaires, etc.) :
Note : Des règles supplémentaires sont à respecter lorsque les objets doivent être manipulés via le SQL : seuls les caractères _0123456789abcdefghijklmnopqrstuvwxyz sont acceptés, et le nom ne doit pas comporter de mot-clé SQL (commande, attribut, etc.). La zone "SQL" de l'inspecteur de l'éditeur de Structure signale automatiquement les caractères non autorisés dans un nom de table ou de champ. Vous désignez une table en plaçant son nom entre crochets : [...]. Un nom de table peut contenir jusqu’à 31 caractères. Exemples DEFAULT TABLE([Commandes]) Vous désignez un champ en spécifiant d’abord la table à laquelle il appartient. Le nom du champ se place immédiatement derrière celui de la table. Un nom de champ peut contenir jusqu’à 31 caractères. Exemples [Commandes]Total:=Sum([Ligne]Montant) Vous désignez une variable interprocess en faisant précéder son nom des symboles (<>), formés des caractères “inférieur à” suivi de “supérieur à”. Note : Cette syntaxe peut être utilisée sous Windows et Mac OS. De plus, sous Mac OS, vous pouvez également utiliser le caractère "diamant" (Option + v sur un clavier français). Le nom d’une variable interprocess peut contenir jusqu’à 255 caractères(*), symbole <> non compris. (*) 31 caractères si l'option de compatibilité "Enregistrer les méthodes en Unicode" est désélectionnée (cf. section Page Compatibilité). Exemples <>vlProcessID:=Current process Vous désignez une variable process en écrivant simplement son nom (qui ne doit pas commencer par les symboles $ ou <>). Ce nom peut contenir jusqu’à 255 caractères(*). (*) 31 caractères si l'option de compatibilité "Enregistrer les méthodes en Unicode" est désélectionnée (cf. section Page Compatibilité). Exemples vrGrandTotal:=Sum([Comptes]Montant) Vous désignez une variable locale en faisant précéder son nom du symbole dollar ($). Le nom d’une variable locale peut contenir jusqu’à 255 caractères(*), signe dollar non compris. (*) 31 caractères si l'option de compatibilité "Enregistrer les méthodes en Unicode" est désélectionnée (cf. section Page Compatibilité). Exemples For($vlEnregistrement;1;100) Vous désignez un tableau en écrivant simplement son nom, qui est celui que vous passez à une commande de déclaration de tableau (par exemple ARRAY LONGINT) lorsque vous créez le tableau. Les tableaux sont des variables, et comme pour les variables, il existe trois types de tableaux qui se différencient par leur portée :
Tableaux interprocess Note : Cette syntaxe peut être utilisée sous Windows et Mac OS. De plus, sous Mac OS, vous pouvez également utiliser le caractère "diamant" (Option + v sur un clavier français). Le nom d’un tableau interprocess peut contenir jusqu’à 255 caractères(*), symbole <> non compris. Exemples ARRAY TEXT(<>atSujets;Enregistrements dans table([Topics])) Tableaux process Exemples ARRAY TEXT(atSujets;Enregistrements dans table([Topics])) Tableaux locaux Exemples ARRAY TEXT($atSujets;Enregistrements dans table([Topics])) (*) 31 caractères si l'option de compatibilité "Enregistrer les méthodes en Unicode" est désélectionnée (cf. section Page Compatibilité). Eléments de tableaux Exemples ` Adresser un élément d'un tableau interprocess Eléments de tableaux à deux dimensions Exemples
` Adresser un élément d'un tableau interprocess à deux dimensions Lorsque la notation objet est activée (cf. section Notation objet), vous désignez un attribut d'objet (aussi appelé propriété d'objet) en saisissant son nom précédé d'un point (.) à la suite du nom de l'objet (ou de l'attribut) qui le contient. Un nom d'attribut peut contenir jusqu'à 255 caractères et est sensible à la casse. Exemples : monObjet.monAttribut:="10" Note : Des règles supplémentaires s'appliquent aux noms des attributs d'objets (ils doivent être conformes à la spécification ECMA Script). Pour plus d'informations, reportez-vous à la section Utiliser la notation objet (préversion). Vous désignez un formulaire en utilisant une expression de type chaîne alphanumérique qui représente son nom. Le nom d’un formulaire peut contenir jusqu’à 31 caractères. Exemples FORM SET INPUT([Personnes];"Entrée") Vous désignez un objet de formulaire en passant son nom sous forme de chaîne, précédée du paramètre *. Un nom d'objet peut contenir jusqu'à 255 octets. Exemple : OBJECT SET FONT(*;"Binfo";"Times") Voir aussi la section Objets de formulaires. Note : Ne confondez pas les objets de formulaire (boutons, list box, variables saisissables...) et les objets du langage 4D. Les objets du langage de 4D sont créés et manipulés via la notation objet ou des commandes dédiées (cf. Objets (Langage)). Vous désignez une méthode (procédure ou fonction utilisateur) en saisissant son nom. Ce nom peut contenir jusqu’à 31 caractères. Note : Une méthode qui ne retourne pas de résultat est appelée une procédure. Une méthode qui retourne un résultat est appelée une fonction utilisateur. Exemples If(Nouveau client) Conseil : Nous vous recommandons d'adopter, pour nommer vos méthodes, la même convention que celle utilisée dans le langage de 4D : écrivez les noms de vos procédures en caractères majuscules, et vos fonctions en minuscules avec la première lettre en majuscule. Ainsi, lorsque vous réouvrirez une base au bout de plusieurs mois, vous identifierez immédiatement si une méthode retourne ou non un résultat, en regardant son nom dans la fenêtre de l'Explorateur. Note : Lorsque vous souhaitez appeler une méthode, vous saisissez simplement son nom. Toutefois, certaines commandes intégrées telles que ON EVENT CALL, ainsi que les commandes des plug-ins, nécessitent que vous passiez le nom d'une méthode en tant que chaîne lorsqu'un paramètre de type méthode est requis (cf. exemples ci-dessous). Exemples ` Cette commande attend une méthode (fonction) ou une formule Les méthodes peuvent accepter des paramètres (ou arguments). Le paramètres sont passés à la méthode entre parenthèses, à la suite du nom de la méthode. Les paramètres sont séparés par des points virgule (;). Les paramètres sont passés à la méthode appelée en tant que variables locales numérotées séquentiellement : $1, $2,…, $n. De plus, plusieurs paramètres consécutifs (s'ils sont les derniers) peuvent être adressés à l'aide de la syntaxe ${n}où n, expression numérique, est le numéro du paramètre. Exemples ` Dans ELIMINER ESPACES, $1 est pointeur sur le champ [Personnes]Nom Vous désignez une commande de plug-in en écrivant son nom tel qu'il est défini dans le plug-in. Le nom d'une commande de plug-in peut contenir jusqu'à 31 caractères. Exemple $erreur:=SMTP_From($smtp_id;"henry@gmail.com") Dans 4D, il existe deux types d'ensembles qui se distinguent par leur portée :
On peut également distinguer un troisième type d'ensemble, spécifique à 4D Server:
Ensembles interprocess Note : Cette syntaxe peut être utilisée sous Windows et Mac OS. De plus, sous Mac OS, vous pouvez également utiliser le caractère "diamant" (Option + v sur un clavier français). Le nom d’un ensemble interprocess peut comporter jusqu’à 255 caractères, symbole <> non compris. Ensembles process Ensembles client Note : Les ensembles sont gérés par le serveur. Dans certains cas, pour des raisons particulières ou d'optimisation, vous pourrez avoir besoin d'utiliser des ensembles localement, sur les postes clients. Pour cela, il vous suffit de créer des ensembles client. Exemples ` Ensembles interprocess Dans 4D, il existe deux types de sélections temporaires, qui se distinguent par leur portée :
Sélections temporaires interprocess Note : Cette syntaxe peut être utilisée sous Windows et Mac OS. De plus, sous Mac OS, vous pouvez également utiliser le caractère "diamant" (Option + v sur un clavier français). Le nom d'une sélection temporaire interprocess peut contenir jusqu’à 255 caractères, symbole <> non compris. Sélections temporaires process Exemples ` Sélection temporaire interprocess En mode mono-utilisateur, ou sur le poste client en mode client/serveur, il existe deux types de process :
Process globaux Process locaux Exemple ` Lancer le process global "Ajouter Clients" Le tableau suivant résume les principes de nommage des identifiants dans les méthodes.
(*)31 si l'option de compatibilité "Enregistrer les méthodes en Unicode" est désélectionnée (cf. section Page Compatibilité). Note : En cas d'utilisation de caractères non romans dans les noms des identifiants, leur taille maximum peut être inférieure. Veillez à utiliser des noms uniques pour les différents éléments de votre base. Si un identifiant d’un certain type a le même nom qu’un autre identifiant d’un autre type (par exemple, si un champ est baptisé Personnes et qu’une variable est également nommée Personnes), 4D utilise un système de priorité. 4D identifie les noms utilisés dans les méthodes en fonction de l’ordre de priorité suivant : 1. Champs Par exemple, 4D dispose d’une fonction interne appelée Date. Si vous appelez Date une de vos méthodes, 4D considérera “Date” comme étant la fonction interne et non votre méthode. Vous ne pourrez pas appeler votre méthode. En revanche, si vous nommez un champ “Date”, 4D considérera que vous souhaitez appeler votre champ et non la fonction intégrée.
Voir aussi
Constantes
|
PROPRIÉTÉS
Produit : 4D
HISTORIQUE
UTILISATION DE L'ARTICLE
4D - Langage ( 4D v16) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||