Developpez.com

Une très vaste base de connaissances en informatique avec
plus de 100 FAQ et 10 000 réponses à vos questions

Developpez.com - 4D
X

Choisissez d'abord la catégorieensuite la rubrique :


Récupérer le chemin du dossier de la Structure

Date de publication : 24/10/05

Par Joël Prince (Technicien Support Technique)
 



Produit : 4D 2004  ·  Plateforme : Mac & Win


La fonction Fichier structure retourne le nom long (c'est-à-dire le chemin d'accès complet au fichier, y compris son nom) du fichier de structure de la base sur laquelle vous travaillez.

Par exemple :

G:\Develop\MaBase\Base.4DB (sous Windows)   ou   HD:Develop:MaBase:Base (sous Macintosh)


Pour récupérer le nom du dossier sans le nom du fichier, vous devez retirer le nom après le dernier séparateur (\ pour Windows, : pour Macintosh).


   ` Déclarons une variable qui contiendra \ ou :

C_ALPHA(1;˚Séparateur)
C_ENTIER LONG($PlateForme;$VersionSysteme;$NumMachine)
PROPRIETES PLATE FORME($PlateForme;$VersionSysteme;$NumMachine)

   ` 1=Mac 2=PowerMac 3=Windows
Si ($PlateForme=3 )
   ◊Séparateur:=Caractere(92)  `"\"
Sinon
   ◊Séparateur:=Caractere(58)  `":"
Fin de si

   `Récupérons le chemin et balayons le texte jusqu'au denier séparateur
C_TEXTE($Structure;$Chemin)
$Structure:=Fichier structure
$Pos:=Position(◊Séparateur;$Structure)

Tant que ($Pos›0)
   $Chemin:=$Chemin+Sous chaine($Structure;1;$Pos)
   $Structure:=Sous chaine($Structure;$Pos+1)
   $Pos:=Position(◊Séparateur;$Structure)
Fin tant que

   `Ici $Chemin contient le chemin du dossier où se trouve la structure
   `et $Structure contient le nom seul du fichier de structure


Il serait bien venu d'écrire, tant qu'à faire, une méthode générique (CheminDocument) où vous passez un ou deux paramètres et récupérez soit le chemin soit le nom du document.


   `$Doc:=CheminDocument(Document{;"*"})
   `Un paramètre =› nom du document
   `Deux paramètres =› chemin du dossier


C_TEXTE($Document;$Chemin)
$Document:=$1
$Pos:=Position(◊Séparateur;$Document)

Tant que ($Pos›0)
   $Chemin:=$Chemin+Sous chaine($Document;1;$Pos)
   $Document:=Sous chaine($Document;$Pos+1)
   $Pos:=Position(◊Séparateur;$Document)
Fin tant que

Si (Nombre de parametres=2)
   $0:=$Chemin
Sinon
   $0:=$Document
Fin de si


… et vous écririez la méthode d'appel :

MonDossier:=CheminDocument(Fichier structure ;"*")



Valid XHTML 1.1!Valid CSS!

Copyright © 2005 4D s.a. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Contacter le responsable de la rubrique 4D