IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

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

L'auteur

Site personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

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).

 
Sélectionnez
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
` 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 ($Pos0)
    $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.

 
Sélectionnez
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
`$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 ($Pos0)
    $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 :

 
Sélectionnez
1.
MonDossier:=CheminDocument(Fichier structure ;"*")

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

Copyright © 2005 4D s.a. Aucune reproduction, même partielle, ne peut être faite de ce site ni 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.