4D v16.3

Get 4D folder

Accueil

 
4D v16.3
Get 4D folder

Get 4D folder 


 

Get 4D folder {( dossier {; *} )} -> Résultat 
Paramètre Type   Description
dossier  Entier long in Type de dossier (si omis=dossier 4D actif)
Opérateur in Retourner le dossier de la base hôte
Résultat  Chaîne in Chemin d'accès du dossier désigné

La commande Get 4D folder renvoie le chemin d'accès du dossier 4D actif de l'application courante, ou du dossier de l'environnement 4D spécifié par le paramètre dossier, s'il est passé.
Cette commande vous permet d'obtenir avec certitude le chemin d'accès réel des dossiers utilisés par l'application. En utilisant cette commande, vous êtes certain que votre code fonctionnera correctement sur toute plate-forme, quelles que soient la langue du système et l'application 4D.

Vous pouvez passer dans dossier une des constantes suivantes, placées dans le thème Environnement 4D :

Constante Type Valeur
4D Client database folder Entier long 3
Active 4D Folder Entier long 0
Current resources folder Entier long 6
Data folder Entier long 9
Database folder Entier long 4
Database folder Unix syntax Entier long 5
HTML Root folder Entier long 8
Licenses folder Entier long 1
Logs folder Entier long 7

Voici une description de chacun de ces dossiers :

Notes préalables sur les noms de dossiers :

  • {Disque} est le disque sur lequel est installé le système.
  • Le libellé Utilisateur représente le nom de l'utilisateur ayant ouvert la session.
  • Avec certaines versions de Mac OS, les noms des dossiers sont traduits :
    • le dossier Library est nommé Bibliothèque,
    • le dossier Application Support est nommé Support aux applications.

Les applications de l'environnement 4D utilisent un dossier spécifique pour stocker les informations suivantes :

  • Fichiers de préférences utilisés par les applications 4D
  • Fichier shortcuts.xml (raccourcis clavier personnalisés)
  • Dossier Macros v2 (macros commandes de l'éditeur de méthodes)
  • Dossiers Favorites v1x, par exemple Favorites v13 (chemins d'accès des bases locales et distantes ayant été ouvertes)

Avec les applications 4D principales (4D et 4D Server), le dossier 4D actif est nommé 4D et se trouve par défaut à l'emplacement suivant :

  • Sous Windows 7 et suivants : {Disque}:\Users\<nomUtilisateur>\AppData\Roaming\4D
  • Sous OS X : {Disque}:Users:<nomUtilisateur>:Library:Application Support:4D

A compter de 4D v13, dans le cas d'une application fusionnée avec 4D Volume Desktop, le dossier 4D actif se trouve à l'emplacement suivant :

  • Sous Windows 7 et suivants : {Disque}:\Users\<nomUtilisateur>\AppData\Roaming\<nomBase>
  • Sous OS X : {Disque}:Users:<nomUtilisateur>:Library:Application Support:<nomBase>

Dossier contenant les fichiers de licence 4D du poste.
Le dossier Licenses est situé à l'emplacement suivant :

  • Sous Windows 7 et suivants : {Disque}:\ProgramData\4D\Licenses
  • Sous OS X : {Disque}:Library:Application Support:4D:Licenses

Notes :

  • Dans le cas d’une application fusionnée avec un 4D Volume Desktop, le dossier des licences est inclus dans le package (progiciel) de l’applicatif.
  • Si le dossier des licences n’a pu être créé dans le système à cause d’un défaut d'autorisation, il est créé aux emplacements suivants :
    • sous Windows 7 et suivants : {Disque}:\Users\<nomUtilisateur>\AppData\Roaming\4D\Licenses
    • sous OS X : {Disque}:Users:<nomUtilisateur>:Library:Application Support:4D:Licenses

Dossier contenant le fichier de données courant. Le chemin du dossier est exprimé avec la syntaxe standard de la plate-forme courante.

Dossier de la base 4D créé en local sur chaque poste client, dans lequel sont téléchargés depuis 4D Server les dossiers et fichiers relatifs à la base (ressources, plug-ins, dossier Resources, etc.).
Le dossier base 4D Client est situé à l'emplacement suivant sur chaque poste client :

  • Sous Windows 7 et suivants : {Disque}:\Users\<nomUtilisateur>\AppData\Local\4D\<NomDeLaBase_Adresse>
  • Sous OS X : {Disque}:Users:<nomUtilisateur>:Library:Caches:4D:<NomDeLaBase_Adresse>

Dossier contenant le fichier de structure de la base. Le chemin d’accès est exprimé avec la syntaxe standard de la plate-forme courante.
Avec l'application 4D Client, cette constante équivaut strictement à la constante précédente 4D Client database folder : la commande retourne le chemin d’accès du dossier créé en local.

Dossier contenant le fichier de structure de la base. Cette constante désigne le même dossier que la précédente, mais le chemin d’accès retourné est exprimé avec la syntaxe Unix (Posix), du type /Users/... Cette syntaxe est principalement utile lorsque vous utilisez la commande LAUNCH EXTERNAL PROCESS sous OS X.

Dossier Resources de la base. Ce dossier contient les éléments additionnels (images, textes) utilisés pour l'interface de la base. Un composant peut disposer de son propre dossier Resources. Le dossier Resources est situé à côté du fichier de structure de la base.
En mode client/serveur, ce dossier permet d'organiser le transfert de données personnalisées (images, fichiers, sous-dossiers...) entre le poste serveur et les postes clients. Le contenu de ce dossier est mis à jour automatiquement sur chaque client au moment de sa connexion. Tous les mécanismes de référencement associé au dossier Resources sont pris en charge en mode client/serveur (dossier .lproj, XLIFF, images...) . En outre, 4D fournit divers outils permettant de gérer et de mettre à jour dynamiquement ce dossier, notamment un Explorateur de ressources.

Note : Si le dossier Resources n'existe pas pour la base, l'exécution de la commande Get 4D folder avec la constante Current resources folder provoque sa création.

Dossier Logs de la base. Ce dossier centralise les fichiers d’historique de la base courante. Il est créé au même niveau que le fichier de structure. Le dossier Logs contient les fichiers d’historique suivants :

  • conversion de la base,
  • requêtes du serveur Web,
  • vérification et réparation des données,
  • vérification et réparation de la structure,
  • journal d'activités sauvegarde/restitution,
  • débogage des commandes,
  • requêtes 4D Server (généré sur les clients et sur le serveur)..

Note : Si le dossier Logs n'existe pas pour la base, l'exécution de la commande Get 4D folder avec la constante Logs folder provoque sa création.

Dossier racine HTML courant de la base. Le chemin d’accès retourné est exprimé avec la syntaxe standard de la plate-forme courante. Le dossier racine HTML est le dossier dans lequel le serveur Web de 4D va chercher les pages et fichiers Web demandés. Par défaut, il est nommé DossierWeb et est placé à côté de fichier de structure (ou de sa copie locale dans le cas de 4D en mode distant). Son emplacement peut être défini dans la page Web/Configuration des Propriétés de la base ou dynamiquement via la commande WEB SET ROOT FOLDER.
Si la commande Get 4D folder est appelée depuis un 4D distant, le chemin retourné est celui du poste distant, pas celui de 4D Server.

Le paramètre facultatif * est utile dans le cadre d'une architecture utilisant des composants : il permet de déterminer la base (hôte ou composant) dont vous souhaitez obtenir le chemin d'accès d'un dossier. Ce paramètre est valide uniquement pour les dossiers Database folder, Database folder Unix syntax et Current resources folder. Il est ignoré dans les autres cas.
Lorsque la commande est appelée depuis un composant :

  • si le paramètre * est passé, la commande retourne le chemin d’accès du dossier de la base hôte,
  • si le paramètre * n’est pas passé, la commande retourne le chemin d’accès du dossier du composant.
    Le dossier de la base (Database folder et Database folder Unix syntax) retourné diffère en fonction du type d’architecture du composant :
    • dans le cas d’un dossier/package .4dbase, la commande retourne le chemin d’accès du dossier/package .4dbase,
    • dans le cas d’un fichier .4db ou .4dc, la commande retourne le chemin d’accès du dossier “Components”,
    • dans le cas d’un alias ou raccourci, la commande retourne le chemin d’accès du dossier contenant la base matrice originale. Le résultat diffère en fonction du format de cette base (dossier/package .4dbase ou fichier .4db/.4dc), comme décrit ci-dessus.
    Lorsque la commande est appelée depuis la base hôte, elle retourne toujours le chemin d’accès du dossier de la base hôte, que le paramètre * soit passé ou non.

Pendant le démarrage d'une base mono-utilisateur, vous voulez charger (ou créer) vos propres paramètres et les stocker dans un fichier situé dans le dossier 4D. Pour cela, dans la On Startup database method, vous pouvez écrire les lignes suivantes :

 MAP FILE TYPES("PREF";"PRF";"Préférences")
  ` Associer le type de fichier PREF sur Mac OS à l'extension de fichier .PRF sur Windows
 $vsNomDocPref:=Get 4D folder+"MesPrefs" ` Construire le chemin d'accès au fichier Préférences
 If(Test path name($vsNomDocPref+(".PRF"*Num(Sous Windows)))#Is a document)
  ` Vérifier si le fichier existe
    $vtRefDocPref:=Create document($vsNomDocPref;"PREF") ` Si non, il faut le créer
 Else
    $vtRefDocPref:=Open document($vsNomDocPref;"PREF") ` Si oui, il faut l'ouvrir
 End if
 If(OK=1)
  ` Traiter le contenu du document
    CLOSE DOCUMENT($vtRefDocPref)
 Else
  ` Gérer l'erreur
 End if

Cet exemple illustre l’emploi de la constante Database folder UNIX syntax sous Mac OS pour lister le contenu du dossier de la base :

 $cheminposix:="\""+Get 4D folder(Database folder Unix syntax)+"\""
 $mondossier:="ls -l "+$cheminposix
 $in:=""
 $out:=""
 $err:=""
 LAUNCH EXTERNAL PROCESS($mondossier;$in;$out;$err)

Note : Sous Mac OS, il est nécessaire d’encadrer les chemins d’accès avec des guillemets lorsqu’ils contiennent des noms de fichiers ou de dossiers comportant des espaces. La séquence d’échappement "\" permet d’insérer le caractère guillemets dans la chaîne. Vous pouvez également utiliser l’instruction Char(Double quote).

Si le paramètre dossier est invalide ou si le chemin d'accès retourné est vide, la variable système OK prend la valeur 0.



Voir aussi  

COMPONENT LIST
Get 4D file
System folder
Temporary folder
Test path name
WEB SET ROOT FOLDER

 
PROPRIÉTÉS 

Produit : 4D
Thème : Environnement 4D
Numéro : 485

Cette commande modifie la variable système OKCommande(s) éligible(s) à l'exécution dans un process préemptifComportement différent en mode distant

 
HISTORIQUE 

New
Modifié : 4D v11 SQL Release 2
Modifié : 4D v13
Modifié : 4D v16

 
MOTS-CLÉS 

Dossier

 
UTILISATION DE L'ARTICLE

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