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
Structure file
|
Structure file {( * )} -> Résultat | ||||||||
Paramètre | Type | Description | ||||||
* | Opérateur |
![]() |
Retourner le fichier de structure de la base hôte | |||||
Résultat | Chaîne |
![]() |
Nom long du fichier de structure de la base | |||||
La fonction Structure file retourne le chemin d'accès du fichier de structure de la base en cours d'utilisation.
Note : Dans le cas particulier d'une base compilée et fusionnée avec 4D Volume Desktop, cette commande retourne le chemin d'accès du fichier de l'application (fichier exécutable) sous Windows et macOS. Sous macOS, ce fichier est situé à l’intérieur du progiciel, dans le dossier [Contents:MacOS]. Ce fonctionnement provient d’un ancien mécanisme, conservé pour des raisons de compatibilité. Si vous souhaitez obtenir le nom long du progiciel lui-même, il est préférable d’utiliser la commande Application file. L’astuce consiste à tester l’application à l’aide de la commande Application type puis à exécuter Structure file ou Application file en fonction du contexte.
ATTENTION : Si vous appelez cette commande lorsque vous utilisez 4D en mode distant, seul le nom du fichier de structure est renvoyé, pas le nom long.
Le paramètre facultatif * est utile dans le cadre d'une architecture utilisant des composants : il permet de déterminer la structure (hôte ou composant) dont vous souhaitez obtenir le chemin d'accès en fonction du contexte d'appel de la commande :
Cet exemple affiche le nom et l'emplacement du fichier de structure que vous utilisez :
C_OBJECT($fullpath)
C_TEXT($name;$path)
If(Application type#4D mode distant)
$fullpath:=Path to object(Structure file)
$name:=$fullpath.name
$path:=$fullpath.parentFolder
ALERT("Vous êtes en train d'utiliser la base "+Char(34)+$name+Char(34)+" qui se trouve au "+Char(34)+$path+Char(34)+".")
Else
ALERT("Vous êtes connecté à la base "+Char(34)+Structure file+Char(34))
End if
L’exemple suivant permet de savoir si la méthode est appelée depuis un composant :
C_BOOLEAN($0)
$0:=(Structure file#Structure file(*))
` $0=Vrai si la méthode est appelée depuis un composant
_o_DATA SEGMENT LIST
Application file
COMPONENT LIST
Data file
Produit : 4D
Thème : Environnement 4D
Numéro :
489
Modifié : 4D v11 SQL
4D - Langage ( 4D v20 R7)