L4G >  filpath  

Afficher tout Masquer tout

Filpath permet de construire le chemin d'accès à un fichier en tenant compte des applications de références et des volumes.

Syntaxe

filpath(répertoire, nom_fic, extens [, appli [, vol [ , mach ] ] ] )

Paramètres

Element

Description

Restrictions

répertoire

Expression alphanumérique donnant le nom du sous-répertoire de l'application contenant le fichier.

Aucune

nom_fic

Expression alphanumérique donnant le nom du fichier

Aucune

extens

Expression alphanumérique donnant l'extension du fichier.

12 caractères maximum

appli

- Expression numérique désignant une application de référence, ou
- Expression alphanumérique désignant une application quelconque.

- 1  < = appli < = 8

12 caractères maximum

vol

Expression alphanumérique donnant le nom du volume.

Une lettre ou le chiffre "0"

mach

Expression alphanumérique donnant le nom d'une machine distante.

Serveur Adonix

 

Exemples

   # Test de l'existence de la table "CLIENT" dans l'application courante
    If filinfo(filpath("FIL","CLIENT","fde",-1),1) <0 : Goto INEX : Endif
   # Chemin de l'application courante sur son serveur
    [L]DIRAPPLI = filpath("", "", "","","",adxmac(0))
  # Chemin du volume "A" sur le serveur courant
    [L]DIRVOLA = filpath("!","","","","A")
  # Test d'exitence d'un pilote d'imprimante modifié
    If filinfo(filpath("!imp",[L]PILOTE,"","","",[S]adxmac(0)),0) >= 0
   # Construction d'un chemin quelconque
    [L]CHEMIN = filpath([L]DIR, [L]FICH, [L]EXT, [L]APPLI, [L]VOL, [L]S)

 

Description

La fonction filpath construit un chemin en fonction des paramètres passés. Ce résultat ne présume en rien de l'existence du fichier ainsi désigné. Les 3 derniers paramètres sont optionnels, les autres pouvant être des chaînes vides. Les paramètres trop longs seront tronqués. Sous DOS, on pourra employer le caractère "/" à la place de "\". Le résultat est de type Char sous forme :
[ serv@ | #@ | @]/chemin_du_volume_vol/appli/répertoire/nom_fic.extens

Les régles sont les suivantes :

  • si le nom du répertoire commence par un "!", alors Adonix ignore le paramètre appli.
  • si le nom du répertoire est ".", alors Adonix bâtit un chemin relatif commençant par "./" et ignore les paramètres appli et vol.

 

  • si le nom du fichier commence par un "/", alors Adonix considère que c'est un chemin absolu et de ce fait, les paramètres appli, vol et répertoire ne sont pas pris en compte.
  • si nom_fic contient un "." (ie est de la forme "A.B"), alors Adonix considère que la première partie ("A") est l'application et que la deuxième ("B") un fichier de cette application. Adonix ne tient alors pas compte du paramètre appli.
  • dans le cas contraire, le chemin désigne par défaut un fichier se trouvant dans le répertoire de l'application courante. Ainsi filpath( "", "", "") donne le chemin de l'application courante.

 

  • si appli a une valeur positive, Adonix considère que le fichier est dans l'application de référence de numéro 'appli'.
  • si le nom de l'application (ou son numéro) n'est pas précisé, tout se passe comme s'il valait -1.
  • si appli vaut -1, le fichier est d'abord cherché dans l'application courante. S'il n'y est pas trouvé, il est cherché dans les applications de référence, dans l'ordre où elles ont été déclarées. Enfin, s'il n'est toujours pas trouvé, tout se passe comme s'il existait dans l'application courante,
  • si appli vaut 0 ou "", Adonix considère que le fichier est dans l'application courante,

 

  • si le volume n'est pas précisé, Adonix considère qu'il s'agit de celui où est implantée l'application désignée - si elle existe. Si elle n'existe sur aucun volume, Adonix considère qu'elle est dans le répertoire d'installation d'Adonix ([S]adxdir).
  • Si le volume n'existe pas, Adonix ne génère pas d'erreur mais retourne une chaîne vide.

 

  • si mach est donné, alors le nom du serveur est précisé dans la chaine de caractères retournée sous forme "serveur@chemin". Si le serveur est sur la même machine que le le moteur alors la chaine retournée est sous forme "chemin".
  • si mach vaut "",  Adonix considère que le fichier est sur la machine où est installée l'application (le serveur).
  • si mach vaut "#", alors c'est la machine locale (le client) qui est prise en compte.

 

Remarques

Le résultat est directement exploitable par la fonction filinfo qui permet de s'assurer de l'existence d'un fichier et connaître certaines de ses caractéristiques. Par contre, il faudra décoder le résultat avant de l'utiliser dans un ordre System pour gérer le nom du serveur.

La fonction filcom, qui admet les mêmes paramètres que filpath, permet de connaître le commentaire associé à un fichier existant.

 

Erreurs associées

Erreur

Description

ERMODE (10)

L'un des arguments n'a pas le type voulu.

ERDOM (50)

appli < -1 ou appli > nombre d'applications deréférence.

PAFIC (20)

serveur non accessible.

 

Mots-clés associés

FILCOM - FILINFO - ADXDIR - NOMAP - ADXMOTHER - ADXMAC