La commande Dossier 4D 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
Dossier 4D actif
Entier long
0
Dossier base
Entier long
4
Dossier base 4D Client
Entier long
3
Dossier base syntaxe Unix
Entier long
5
Dossier données
Entier long
9
Dossier Licenses
Entier long
1
Dossier Logs
Entier long
7
Dossier racine HTML
Entier long
8
Dossier Resources courant
Entier long
6
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.
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 Dossier base 4D Client : 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 LANCER PROCESS EXTERNE 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 Dossier 4D avec la constante Dossier Resources courant 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 Dossier 4D avec la constante Dossier Logs 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 FIXER RACINE. Si la commande Dossier 4D 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 Dossier base, Dossier base syntaxe Unix et Dossier Resources courant. 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 (Dossier base et Dossier base syntaxe Unix) 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 Méthode base Sur ouverture, vous pouvez écrire les lignes suivantes :
ASSOCIER TYPES FICHIER("PREF";"PRF";"Préférences") ` Associer le type de fichier PREF sur Mac OS à l'extension de fichier .PRF sur Windows $vsNomDocPref:=Dossier 4D+"MesPrefs" ` Construire le chemin d'accès au fichier Préférences Si(Tester chemin acces($vsNomDocPref+(".PRF"*Num(Sous Windows)))#Est un document) ` Vérifier si le fichier existe $vtRefDocPref:=Creer document($vsNomDocPref;"PREF") ` Si non, il faut le créer Sinon $vtRefDocPref:=Ouvrir document($vsNomDocPref;"PREF") ` Si oui, il faut l'ouvrir Fin de si Si(OK=1) ` Traiter le contenu du document FERMER DOCUMENT($vtRefDocPref) Sinon ` Gérer l'erreur Fin de si
Cet exemple illustre l’emploi de la constante Dossier base syntaxe Unix sous Mac OS pour lister le contenu du dossier de la base :
$cheminposix:="\""+Dossier 4D(Dossier base syntaxe Unix)+"\"" $mondossier:="ls -l "+$cheminposix $in:="" $out:="" $err:="" LANCER PROCESS EXTERNE($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 Caractere(Guillemets).