Présentation des documents système

4D - Documentation   Français   English   German   Español   Japanese   4D v11 SQL, Commandes par thèmes   4D v11 SQL, Liste alphabétique des commandes   4D v11 SQL, Constantes par thèmes   Retour   Précédent   Suivant

version 11 (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 DVD, autres lecteurs, lecteurs réseau, etc.). Sous Mac OS, les volumes ont des noms communs (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 4D 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 également un type et peut en outre avoir 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). Le type d'un document est déterminé par son suffixe, appelé extension de fichier, rattaché au nom du document. Par exemple .TXT ou .TEXT est l'extension de fichier pour des documents texte.

Ce principe est identique sous Mac OS X, toutefois par compatibilité avec les versions précédentes du Système, le type d'un document peut être déterminé par la propriété type de fichier si elle a été définie. Cette propriété 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, un document peut être 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 créateur de fichier du document. Si un document dispose de propriétés type et créateur, Mac OS les prendra en compte quelle que soit l'extension de ce document.

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.

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

L'éditeur de méthodes de 4D 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, 4D 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, 4D 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 4D.

Les séquences d'échappement reconnues par 4D 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 4D 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 du caractère séparateur de dossiers.

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

   C_ENTIER($0)

   Si (Sous Windows )
      $0:=Code de caractere("\\")
   Sinon 
      $0:=Code de caractere(":")
   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 de caractere($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 de caractere($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   Español   Japanese   4D v11 SQL, Commandes par thèmes   4D v11 SQL, Liste alphabétique des commandes   4D v11 SQL, Constantes par thèmes   Retour   Précédent   Suivant