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.6
FIXER TITRES TABLES
|
FIXER TITRES TABLES {( titresTables ; numTables {; *})} | ||||||||
Paramètre | Type | Description | ||||||
titresTables | Tableau chaîne |
![]() |
Noms des tables tels qu'ils doivent apparaître | |||||
numTables | Tableau entier long |
![]() |
Numéros des tables | |||||
* | Opérateur |
![]() |
Utiliser les noms personnalisés dans l’éditeur de formules | |||||
FIXER TITRES TABLES vous permet de masquer, renommer et réordonner les tables de votre base qui apparaissent dans les éditeurs standard de 4D en mode Application (lorsque le mode de lancement est le mode Application, ou après avoir sélectionné "Tester l'application" dans le menu Exécution) .
Cette commande vous permet également de modifier à la volée les libellés des tables apparaissant dans vos formulaires, si vous avez utilisé des libellés dynamiques. Pour plus d'informations sur l'insertion de libellés de tables et de champs dynamiques dans les formulaires, reportez-vous à la section Utiliser des références dans les textes statiques dans le manuel Mode Développement.
Les tableaux titresTables et numTables doivent être synchronisés. Dans le tableau titresTables, vous passez les noms des tables tels que vous voulez qu'ils apparaissent. Les tables s'afficheront dans l'ordre défini par ces tableaux. Dans chaque élément du tableau numTables, passez le numéro de la table qui correspond au nom, nouveau ou ancien, de la table, et ce dans le même numéro d'élément que dans le tableau titresTables.
Si vous voulez masquer une table, ne la mettez pas dans les tableaux. Vous avez, par exemple, une base comprenant les tables A, B et C, créées dans cet ordre. Vous voulez que ces tables apparaissent sous les noms X, Y et Z. De plus, vous ne voulez pas faire apparaître la table B. Enfin, vous voulez que les tables soient dans l'ordre Z et X. Pour cela, vous passez dans le paramètre titresTables un tableau à deux éléments, Z et X, et vous passez dans le paramètre numTables un tableau à deux éléments, 3 et 1.
Le paramètre facultatif * vous permet d'indiquer si les noms personnalisés définis à l’aide de cette commande ("structure virtuelle") peuvent être ou non utilisés dans les formules de 4D. Par défaut, lorsque ce paramètre est omis, les formules exécutées dans 4D ne peuvent pas utiliser ces noms personnalisés ; il est nécessaire d'utiliser les noms de tables véritables. Vous devez passer ce paramètre si vous souhaitez gérer l'information fournie aux utilisateurs et assurer la cohérence de l'interface lors de l'utilisation de ces formules ou expressions, i.e :
Note : Lorsque le paramètre * est passé, les noms définis par cette commande peuvent être utilisés dans les formules exécutées par 4D. Attention dans ce cas, les noms personnalisés ne doivent pas contenir de caractères “interdits” par l’interpréteur du langage de 4D, tels que -?*! Par exemple, le nom "Rate_in_%" ne pourrait pas être utilisé dans une formule (pour plus d'informations, reportez-vous à la section “Nommer les objets du langage 4D”).
FIXER TITRES TABLES ne modifie pas la structure de votre base. Cette commande est conçue pour affecter l'utilisation ultérieure des éditeurs de 4D et des formulaires comportant des libellés dynamiques lorsqu'ils sont utilisés dans l'environnement d'Application. L'aire de validité de la commande FIXER TITRES TABLES est la session. L'avantage, en Client/Serveur, est que plusieurs postes 4D Client peuvent “voir” simultanément votre structure d'une manière différente. Vous pouvez appeler FIXER TITRES TABLES autant de fois que vous voulez.
La commande FIXER TITRES TABLES est utile dans les cas suivants :
Notes :
` méthode projet traduire_TABLES_ET_CHAMPS
` traduire_TABLES_ET_CHAMPS ( Texte)
` traduire_TABLES_ET_CHAMPS ( CodeLangue )
C_TEXTE($1) `code de la langue
C_ENTIER LONG($vlTable;$vlChamp)
C_TEXTE($Langue)
$Langue:=$1
Boucle($vlTable;1;Lire numero derniere table) ` Passer sur chaque table
Si($vlTable#(Table(->[Traductions]))) `Ne pas traduire la table des traductions
` Vérifier s'il existe une traduction du nom de la table pour la langue spécifiée
CHERCHER([Traductions];[Traductions]CodeLangage=$Langue;*) `langue souhaitée
CHERCHER([Traductions]; & ;[Traductions]TableID=$vlTable;*) `numero de table
CHERCHER([Traductions]; & ;[Traductions]ChampID=0) `numero de champ = 0 signifie que c'est un nom de table
Si(Est un numero de table valide($vlTable)) `vérifier que la table existe encore
Si(Enregistrements trouves([Traductions])=0)
` Sinon, créer l'enregistrement
CREER ENREGISTREMENT([Traductions])
[Traductions]CodeLangage:=$Langue
[Traductions]TableID:=$vlTable
[Traductions]ChampID:=0
` Le nom de la table traduit aura besoin d'être saisi
[Traductions]Traduction:=Nom de la table($vlTable)+" en "+$Langue
STOCKER ENREGISTREMENT([Traductions])
Fin de si
Boucle($vlChamp;1;Lire numero dernier champ($vlTable))
` Vérifier s'il existe une traduction pour le nom du champ dans la langue spécifiée
CHERCHER([Traductions];[Traductions]CodeLangage=$Langue;*) `langue souhaitée
CHERCHER([Traductions]; & ;[Traductions]TableID=$vlTable;*) `numéro de table
CHERCHER([Traductions]; & ;[Traductions]ChampID=$vlChamp) `numéro de champ
Si(Est un numero de champ valide($vlTable;$vlChamp))
Si(Enregistrements trouves([Traductions])=0)
` Sinon, créer l'enregistrement
CREER ENREGISTREMENT([Traductions])
[Traductions]CodeLangage:=$Langue
[Traductions]TableID:=$vlTable
[Traductions]ChampID:=$vlChamp
` Le nom du champ traduit aura besoin d'être saisi
[Traductions]Traduction:=Nom du champ($vlTable;$vlChamp)+" en "+$Langue
STOCKER ENREGISTREMENT([Traductions])
Fin de si
Sinon
Si(Enregistrements trouves([Traductions])#0)
` si le champ n'existe plus, on supprime la traduction
SUPPRIMER ENREGISTREMENT([Traductions])
Fin de si
Fin de si
Fin de boucle
Sinon
Si(Enregistrements trouves([Traductions])#0)
` si la table n'existe plus, on supprime la traduction
SUPPRIMER ENREGISTREMENT([Traductions])
Fin de si
Fin de si
Fin de si
Fin de boucle
traduire_TABLES_ET_CHAMPS("Espagnol")
TABLES_ET_CHAMPS_LOCALISES("Espagnol")
La méthode projet TABLES_ET_CHAMPS_LOCALISES est la suivante :
` Méthode objet TABLES_ET_CHAMPS_LOCALISES
` TABLES_ET_CHAMPS_LOCALISES ( Texte)
` TABLES_ET_CHAMPS_LOCALISES ( CodeLangue )
C_TEXTE($1) `Code de la langue
C_ENTIER LONG($vlTable;$vlChamp)
C_TEXTE($Langue)
C_ENTIER LONG($vlNumTable;$vlNumChamp)
$Langue:=$1
`Mise à jour des noms de table
TABLEAU TEXTE($asNoms;0) ` Initialiser les tableaux pour FIXER TITRES TABLES et FIXER TITRES CHAMPS
TABLEAU ENTIER($aiNuméros;0)
CHERCHER([Traductions];[Traductions]CodeLangage=$Langue;*)
CHERCHER([Traductions]; & ;[Traductions]ChampID=0) `noms de table donc
SELECTION VERS TABLEAU([Traductions]Traduction;$asNoms;[Traductions]TableID;$aiNuméros)
FIXER TITRES TABLES($asNoms;$aiNuméros)
`Mise à jour des noms de champs
$vlNumTable:=Lire numero derniere table ` Obtenir le nombre de tables dans la base
Boucle($vlTable;1;$vlNumTable) ` Passer sur chaque table
Si(Est un numero de table valide($vlTable))
CHERCHER([Traductions];[Traductions]CodeLangage=$Langue;*)
CHERCHER([Traductions]; & ;[Traductions]TableID=$vlTable;*)
CHERCHER([Traductions]; & ;[Traductions]ChampID#0) `évite le zero qui sert au nom de la table
SELECTION VERS TABLEAU([Traductions]Traduction;$asNoms;[Traductions]ChampID;$aiNuméros)
FIXER TITRES CHAMPS(Table($vlTable)->;$asNoms;$aiNuméros)
Fin de si
Fin de boucle
Vous voulez supprimer tous les noms de tables et de champs personnalisés définis pour la session :
FIXER TITRES TABLES //supprimer les noms personnalisés
Analyser formule
FIXER TITRES CHAMPS
Lire numero derniere table
LIRE TITRES TABLES
Nom de la table
Produit : 4D
Thème : Interface utilisateur
Numéro :
601
Nom intl. : SET TABLE TITLES
Modifié : 4D v11 SQL
4D - Langage ( 4D v20)
4D - Langage ( 4D v20.1)
4D - Langage ( 4D v20.2)
4D - Langage ( 4D v20.3)
4D - Langage ( 4D v20.4)
4D - Langage ( 4D v20.5)
4D - Langage ( 4D v20.6)