Présentation des documents système

4D - Documentation   Français   English   German   4e Dimension, Commandes par thèmes   4e Dimension, Liste alphabétique des commandes   4e Dimension, Constantes par thèmes   Retour   Précédent   Suivant

version 2003 (Modifiée)


Introduction

Tous les documents et applications que vous utilisez sur votre ordinateur sont stockés en tant que fichiers sur le ou les disques durs connectés ou montés sur votre ordinateur, ou encore sur des disquettes et autres supports de stockage permanent. Dans cette documentation ainsi que dans 4D, les termes fichier ou document sont indifféremment employés pour désigner ces documents et applications. Cependant, la plupart des commandes de ce thème utilisent le mot document car, généralement, vous les utiliserez pour accéder à des documents (par opposition à des fichiers d'application ou des fichiers système) sur disque.

Un disque dur peut être formaté de manière à comporter une ou plusieurs partitions. Chaque partition s'appelle un volume. Peu importe que ces volumes soient des partitions physiquement présentes sur le même disque dur ou non, au niveau de 4D, ces volumes sont considérés comme des entités séparées et équivalentes.

Un volume peut être situé sur un disque dur physiquement connecté à votre machine ou monté par le réseau par l'intermédiaire d'un protocole de partage de fichiers tel que NetBEUI (Windows) ou AFP (Macintosh). Quel que soit le cas, au niveau de 4D, ces volumes sont considérés de la même façon lorsque vous utilisez les commandes du thème Documents Système (à moins que vous n'en décidiez autrement et utilisiez des plug-ins 4D pour étendre les capacités de votre application dans ce domaine).

Chaque volume a un nom de volume. Sous Windows, les volumes sont désignés par une lettre suivie de deux points. Généralement, A: et B: sont utilisés pour désigner les lecteurs de disquettes et C: désigne le volume que vous utilisez pour lancer votre système (à moins que vous n'ayez configuré votre PC différemment). Ensuite, les lettres D: à Z: sont utilisées pour les volumes supplémentaires connectés à votre PC (lecteurs CD-ROM, autres lecteurs, lecteurs réseau, etc.). Sous Mac OS, les volumes ont des noms communs dont la longueur maximale est de 31 caractères (ces noms sont ceux que vous visualisez sur le bureau au niveau du Finder).

Normalement, vous classez vos documents dans des dossiers qui peuvent eux-mêmes contenir d'autres dossiers. Il n'est pas conseillé d'accumuler des centaines ou des milliers de fichiers au même niveau d'un volume. C'est un fouillis, qui de plus qui ralentit votre système. Sous Windows, un dossier est parfois encore appelé un "répertoire".

Pour identifier un document de manière certaine, vous avez besoin de connaître le nom du volume, le nom du ou des dossiers(s) dans le(s)quel(s) se trouve le document, ainsi que le nom du document lui-même. Si vous concaténez tous ces noms, vous obtenez le chemin d'accès à ce document. Dans le nom de ce chemin, les noms de dossiers sont séparés par un caractère spécial appelé symbole séparateur (de répertoire). Sous Windows, ce caractère est la barre oblique inversée \, sous Mac OS ce sont les deux-points :

Examinons un exemple. Vous disposez d'un document Important situé dans le dossier Mémos, lui-même situé dans le dossier Documents, lui-même situé dans le dossier EnCours.

Si, sous Windows, l'ensemble est situé sur le volume C: , le chemin d'accès au document est donc :

C:\EnCours\Documents\Mémos\Important.TXT

Note : Le caractère \ est également utilisé par l'éditeur de méthodes de 4e Dimension pour désigner des séquences d'échappement. Pour éviter tout problème d'interprétation, l'éditeur transforme automatiquement les chemins d'accès du type C:\Disque en C:\\Disque. Pour plus d'informations, reportez-vous ci-dessous au paragraphe "Spécification des noms et chemins d'accès des documents".

Si, sous Mac OS, l'ensemble est situé sur le volume Interne, le chemin d'accès au document est donc :

Interne:EnCours:Documents:Mémos:Important

Notez que, sous Windows, avec cet exemple, le nom du document contient le suffixe .TXT. Nous verrons pourquoi plus loin dans cette section.

Quelle que soit la plate-forme, le chemin d'accès à un document peut être exprimé sous la forme suivante : VolNom DosSep { DosNom DosSep { DosNom DosSep { ... } } } DocNom.

Tous les documents (fichiers) situés sur des volumes ont plusieurs caractéristiques généralement appelées attributs ou propriétés : par exemple le nom du document lui-même.

Type de document et Créateur


Sous Windows, un document a un type. Sous Mac OS, un document a un type et un créateur (ou "creator"). Le type d'un document indique généralement ce qu'est le document ou ce qu'il contient. Par exemple, un document de type texte contient du texte (sans style). Sous Windows, le type d'un document est déterminé par son suffixe, appelé extension de fichier, rattaché au nom du document. Par exemple .TXT est l'extension de fichier Windows pour des documents texte. Sous Mac OS, le type d'un document est déterminé par la propriété type de fichier du document qui est une signature sur 4 caractères (non affichée au niveau du Finder). Par exemple, le type de fichier d'un document texte est "TEXT". De plus, sous Mac OS, un document est identifié par un créateur, désignant l'application qui a créé le document. Cette notion n'existe pas sous Windows. Le créateur d'un document est déterminé par la propriété de type de fichier du document. Par exemple, le créateur de ce document créé avec 4D version 6 est "4D06".

DocRef : numéro de référence de document


Un document est ouvert en mode lecture/écriture, ouvert en mode lecture ou fermé. Avec les commandes 4D, un document ne peut être ouvert en mode lecture/écriture que par un process à la fois. Un process peut ouvrir plusieurs documents, plusieurs process peuvent ouvrir de multiples documents, vous pouvez ouvrir un même document en mode lecture autant de fois que nécessaire, mais vous ne pouvez pas ouvrir le même document en mode lecture/écriture deux fois en même temps.

Vous ouvrez un document à l'aide des fonctions Ouvrir document, Creer document et Ajouter a document. Les fonctions Creer document et Ajouter a document ouvrent automatiquement les documents en mode lecture/écriture. Seule la fonction Ouvrir document permet de choisir le mode d'ouverture.

Une fois que le document est ouvert en lecture/écriture, vous pouvez lire et écrire des caractères dans ce document (cf. les commandes RECEVOIR PAQUET et ENVOYER PAQUET). Lorsque vous en avez terminé avec un document, il est préférable de le fermer — avec la commande FERMER DOCUMENT.

Tous les documents ouverts sont désignés au moyen de l'expression DocRef, retournée par les commandes Ouvrir document, Creer document et Ajouter a document. Une DocRef identifie de façon unique un document ouvert. C'est une expression de type Heure. Toutes les commandes fonctionnant avec des documents ouverts attendent une DocRef comme paramètre. Si vous passez une DocRef incorrecte à l'une de ces commandes, une erreur du gestionnaire de fichiers est générée.

Gestion des erreurs E/S


Quand vous accédez à des documents (ouverture, fermeture, suppression, changement de nom, copie), quand vous modifiez les propriétés d'un document ou quand vous lisez et écrivez des caractères dans un document, des erreurs d'entrée/sortie (E/S) peuvent se produire. Un document peut ne pas avoir été trouvé ; il peut être verrouillé ; il peut être déjà ouvert en écriture. Vous pouvez repérer ces erreurs grâce à une méthode de gestion des erreurs installée par la commande APPELER SUR ERREUR. La plupart des erreurs qui peuvent se produire lors de l'utilisation des commandes du thème documents système est décrite dans la section Erreurs du gestionnaire de fichiers du système.

La variable système Document


Les commandes Ouvrir document, Creer document, Ajouter a document et Selectionner document vous permettent d'accéder à un document par les boîtes de dialogue standard d'ouverture ou d'enregistrement de fichiers. Quand vous accédez à un document par ces boîtes de dialogue standard, 4D retourne le chemin d'accès complet du document dans la variable système Document. Ne confondez pas cette variable système avec le paramètre document qui apparaît dans la liste des paramètres des commandes.

Spécification des noms et chemins d'accès des documents


La plupart des routines de cette section attendant un nom de document acceptent à la fois un nom et un chemin d'accès au document (*). Si vous passez un nom, la commande cherche le document dans le dossier de la base. Si vous passez un chemin d'accès, il doit être valide.

Si vous passez un nom ou un chemin d'accès incorrect, la commande génère une erreur du gestionnaire de fichiers que vous pouvez intercepter avec une méthode d'APPELER SUR ERREUR.

(*) sauf cas contraire spécifié explicitement.

Attention : La longueur maximale du paramètre document est de 255 caractères. Si vous passez un nom plus long, il sera tronqué et une erreur du gestionnaire de fichiers sera générée.

Saisie de chemins d'accès Windows et séquences d'échappement

L'éditeur de méthodes de 4e Dimension permet d'utiliser des séquences d'échappement. Une séquence d'échappement est une suite de caractères permettant de remplacer un caractère "spécial". La séquence débute par le caractère barre oblique inversée (antislash) \, suivi d'un caractère. Par exemple, \t est une séquence d'échappement pour le caractère Tabulation.

Le caractère \ est aussi utilisé comme séparateur dans les chemins d'accès sous Windows. En général, 4e Dimension interprétera correctement les chemins d'accès Windows saisis dans l'éditeur de méthodes en remplaçant automatiquement les barres simples \ par des doubles barres \\. Par exemple, C:\Dossier deviendra C:\\Dossier.

Toutefois, si vous écrivez C:\MesDocuments\Nouveaux, 4e Dimension affichera C:\\MesDocuments\Nouveaux. Dans ce cas, le second \ est incorrectement interprété \N (séquence d'échappement existante). Vous devez donc saisir un double \\ lorsque vous souhaitez insérer une barre oblique inversée devant un caractère utilisé dans une des séquences d'échappement reconnues par 4e Dimension.

Les séquences d'échappement reconnues par 4e Dimension sont les suivantes :

Séquence d'échappementCaractère remplacé
\nLF (Retour ligne)
\tHT (Tabulation)
\rCR (Retour chariot)
\\\ (Barre oblique inversée)
\"" (Guillemets)

Méthodes projet utiles pour la gestion des documents sur disque


Détecter sur quelle plate-forme vous opérez

Bien que 4e Dimension fournisse des commandes telles que ASSOCIER TYPES FICHIER destinées à éliminer les modifications de code liées aux particularités des plates-formes, lorsque vous commencez à travailler à un plus bas niveau en manipulant des documents sur disque, par exemple lorsque vous obtenez les chemins d'accès par programmation, vous avez besoin de savoir si vous fonctionnez sous Windows ou Mac OS.

La méthode projet Sous Windows listée ci-dessous vous permet de savoir si votre base tourne sous Windows :

      ` Méthode projet Sous Windows
      ` Sous Windows -> Booléen
      ` Sous Windows -> Vrai si la base est sous Windows

   C_BOOLEEN($0)
   C_ENTIER LONG($vlPlatform;$vlSystem;$vlMachine)

   PROPRIETES PLATE FORME($vlPlatform;$vlSystem;$vlMachine)
   $0:=($vlPlatform=Windows)

Utiliser le bon symbole séparateur de dossiers

Sous Windows, un niveau de dossier est symbolisé par une barre oblique inversée \. Sous Mac OS, un niveau de dossier est symbolisé par deux-points :

En fonction de la plate-forme sur laquelle tourne la base, la méthode projet Symbole séparateur suivante vous retourne le code ASCII du caractère séparateur de dossiers.

      ` Méthode projet Symbole séparateur
      ` Symbole séparateur -> Entier
      ` Symbole séparateur -> code ASCII de "\\" (Windows) ou ":" (Mac OS)

   C_ENTIER($0)

   Si (Sous Windows )
      $0:=Code ascii("\\")
   Sinon 
      $0:=Code ascii(":")
   Fin de si 

Extraire le nom de fichier d'un chemin d'accès complet (ou "nom long")

Une fois que vous avez récupéré le "nom long" d'un fichier (c'est-à-dire le chemin d'accès+le nom du fichier), vous pouvez avoir besoin d'en extraire le nom du fichier seul, par exemple pour l'afficher comme titre d'une fenêtre. La méthode projet Nom long vers nom de fichier vous le permet, sous Windows et Mac OS.

      ` Méthode projet Nom long vers nom de fichier
      ` Nom long vers nom de fichier ( Chaîne ) -> Chaîne
      ` Nom long vers nom de fichier ( nom long ) -> nom de fichier

   C_ALPHA(255;$1;$0)
   C_ENTIER($viLen;$viPos;$viChar;$viDirSymbol)

   $viDirSymbol:=Symbole séparateur 
   $viLen:=Longueur($1)
   $viPos:=0
   Boucle ($viChar;$viLen;1;-1)
      Si (Code ascii($1[[$viChar]])=$viDirSymbol)
         $viPos:=$viChar
         $viChar:=0
      Fin de si 
   Fin de boucle 
   Si ($viPos>0)
      $0:=Sous chaine($1;$viPos+1)
   Sinon 
      $0:=$1
   Fin de si 
   Si (<>vbDebugOn) ` Mettre la variable à Vrai ou Faux dans la méthode base Sur ouverture
      Si ($0="")
         TRACE
      Fin de si 
   Fin de si 

Extraire le chemin d'accès seul du chemin d'accès complet (ou "nom long")

Une fois que vous avez récupéré le "nom long" d'un fichier (c'est-à-dire le chemin d'accès+le nom du fichier), vous pouvez avoir besoin d'en extraire uniquement le chemin d'accès au fichier, par exemple pour sauvegarder d'autres documents au même endroit. La méthode projet Nom long vers chemin accès vous le permet, sous Windows et Mac OS.

      ` Méthode projet Nom long vers chemin accès
      ` Nom long vers chemin accès ( Chaîne ) -> Chaîne
      ` Nom long vers chemin accès ( nom long ) -> chemin d'accès

   C_ALPHA(255;$1;$0)
   C_ALPHA(1;$vsDirSymbol)
   C_ENTIER($viLen;$viPos;$viChar;$viDirSymbol)

   $viDirSymbol:=Symbole séparateur 
   $viLen:=Longueur($1)
   $viPos:=0
   Boucle ($viChar;$viLen;1;-1)
      Si (Code ascii($1[[$viChar]])=$viDirSymbol)
         $viPos:=$viChar
         $viChar:=0
      Fin de si 
   Fin de boucle 
   Si ($viPos>0)
      $0:=Sous chaine($1;1;$viPos)
   Sinon 
      $0:=$1
   Fin de si 
   Si (<>vbDebugOn) ` Mettre la variable à Vrai ou Faux dans la méthode base Sur ouverture
      Si ($0="")
         TRACE
      Fin de si 
   Fin de si 

Référence

Ajouter a document, ASSOCIER TYPES FICHIER, CHANGER CREATEUR DOCUMENT, CHANGER POSITION DANS DOCUMENT, CHANGER PROPRIETES DOCUMENT, CHANGER TAILLE DOCUMENT, CHANGER TYPE DOCUMENT, COPIER DOCUMENT, Createur document, Creer document, CREER DOSSIER, DEPLACER DOCUMENT, FERMER DOCUMENT, LISTE DES DOCUMENTS, LISTE DES DOSSIERS, LISTE DES VOLUMES, Ouvrir document, Position dans document, PROPRIETES DOCUMENT, PROPRIETES DU VOLUME, Selectionner document, SUPPRIMER DOCUMENT, Taille document, Tester chemin acces, Type document.


4D - Documentation   Français   English   German   4e Dimension, Commandes par thèmes   4e Dimension, Liste alphabétique des commandes   4e Dimension, Constantes par thèmes   Retour   Précédent   Suivant