Composant SYSASCII

Généralités

L'objet INTERFACE du composant SYSASCII contient des méthodes facilitant la gestion de fichiers et de répertoires, ainsi que des méthodes de manipulation de chaînes.

Cette interface est en mode serveur, c'est à dire que l'objet n'aura toujours qu'une instance, partagée.

Les désignations de chemins ou de noms de fichiers peuvent utiliser les symboles [OXYDEV], [OXYPP] et [OXYLOCAL] (ex: "[OXYDEV]\systeme\bin\oxydev.dll").

Les méthodes publiques

OUVRIR

ECRIRE

AJOUTER

LIRE

POINTER

FERMER

LIRE_FICHIER

ECRIRE_FICHIER

CREER_REPERTOIRE

EXISTE_REPERTOIRE

LISTER_FICHIER

REP_VIDER

REP_SUPPRIMER

REP_VIDE

CORRIGER_NOM_FICHIER

CONVERSION_CHEMIN

CREER_FICHIER_TEMPORAIRE

DECOUPER_CHEMIN

INFOS_FICHIER

CONVERSION_ENVVAR

CONVERSION_CODAGE

ECRIRE_EN_UTF8

CONVERTIR_EN_UTF8

CONVERTIR_EN_BASE64

DECODER_BASE64

URLENCODE

HTMLENTITYENCODE

REMPLACER

TRIM

DEPILE

INCREMENTE_NUMERO_LIGNE

 

La méthode OUVRIR (ou OPEN)

Paramètres :

Entier Reference pident

Chaine pnom

Chaine pmode

Chaine pmodePartage

 

Cette méthode permet l'ouverture du fichier pnom.

Le fichier est ouvert dans le mode précisé par pmode :

  • R  : Read / lecture

  • W :  Write / écriture

  • C : création si le fichier n'existe pas

  • T : si le fichier existe, il est vidé

  • D : (avec C) création du répertoire si il n'existe pas

  • rien par défaut = RW

 

Il est possible de préciser le mode de partage du fichier par pmodePartage :

  • R : Read autorisé

  • W : Write autorisé

  • X : exclusif

  • rien par défaut = RW

 

pident contient "l'identifiant" du fichier ouvert.

Lorsque les travaux sur le fichier sont terminés, il faut le fermer proprement avec la méthode FERMER.

 

La méthode ECRIRE (ou WRITE)

Paramètres :

Entier pident

Chaine buffer

 

Cette méthode écrit le contenu de la chaîne buffer à la position courante du fichier d'identifiant pident (obtenu par appel à la méthode OUVRIR).

Une erreur 100 est retournée si pident est invalide.

 

La méthode AJOUTER (ou ADD)

Paramètres :

Entier pident

Chaine buffer

 

Cette méthode écrit le contenu de la chaîne buffer à la fin du fichier d'identifiant pident (obtenu par appel à la méthode OUVRIR).

Une erreur 100 est retournée si pident est invalide.

 

La méthode LIRE (ou READ)

Paramètres :

Entier pident

Chaine Reference buffer

Entier Reference len

 

Cette méthode lit depuis la position courante du fichier d'identifiant pident (obtenu par appel à la méthode OUVRIR) et place le contenu dans la chaine buffer.

Len contient avant l'appel le nombre de caractères maximum à lire et contient en retour le nombre de caractères lus.

Une erreur 100 est retournée si pident est invalide.

 

La méthode POINTER (ou SEEK)

Paramètres :

Entier pident

Entier pposition

Chaine pmode

 

Cette méthode déplace le pointeur du fichier d'identifiant pident (obtenu par appel à la méthode OUVRIR) de pposition caractères en fonction du mode pmode utilisé (E : fin du fichier, C : position courante, rien par défaut : le début du fichier).

Une erreur 100 est retournée si pident est invalide.

 

La méthode FERMER (ou CLOSE)

Paramètres :

Entier pident

 

Cette méthode ferme le fichier d'identifiant pident (obtenu par appel à la méthode OUVRIR).

Une erreur 100 est retournée si pident est invalide.

 

La méthode LIRE_FICHIER

Paramètres :

Chaine pnom

Chaine Reference ptexte

 

Cette méthode effectue la lecture du fichier de nom pnom, puis place son contenu dans la chaîne ptexte. Les opérations d'ouverture, de lecture puis de fermeture de fichier sont entièrement prises en charge par cette méthode.

 

La méthode ECRIRE_FICHIER

Paramètres :

Chaine pnom

Chaine ptexte

 

Cette méthode effectue l'écriture du contenu de la chaîne ptexte dans le fichier de nom pnom. Si le fichier existe déjà, son contenu sera remplacé par ptexte.

 

La méthode CREER_REPERTOIRE (ou MD)

Paramètres :

Chaine pchemin

Chaine pmode

 

Cette méthode crée le fichier (pmode = F) ou le répertoire (pmode = D) de nom pchemin.

Si l'arborescence n'existe pas complètement, les sous-répertoires sont créés.

 

La méthode EXISTE_REPERTOIRE (ou ED)

Paramètres :

Chaine pchemin

Chaine pmode

 

Cette méthode retourne une erreur si le fichier (pmode = F) ou le répertoire (pmode = D) de nom pchemin est inexistant.

 

La méthode LISTER_FICHIER

Paramètres :

Chaine pappelant

Entier pinstance

Chaine pmethode

Chaine pchemin

 

Cette méthode permet d'obtenir la liste des fichiers de chemin pchemin. Pour chaque fichier correspondant, la méthode pmethode de l'instance pinstance de l'objet appelant pappelant est appelée avec en paramètres : Nom, Taille, Attributs, Date et Heure.

Les répertoires sont également listés. Pour ces derniers, l'attribut contient la lettre 'd'.

 

La méthode CORRIGER_NOM_FICHIER

Paramètres :

Chaine Reference nom ("Nom de fichier")

Chaine nouveau ("Caractère de remplacement. Facultatif")

Chaine interdits ("Caractères à remplacer. Facultatif")

 

Supprime les caractères interdits dans un nom de fichier.

Par défaut les caractères interdits sont  \/:*?"<>|.

Par défaut le caractère de remplacement est _.

 

La méthode CONVERSION_CHEMIN

Paramètres :

Chaine Reference pchemin

Chaine Reference pchemin_absolu

 

Cette méthode retourne le chemin réel complet en convertissant les symboles [OXYDEV], [OXYPP] et [OXYLOCAL]. Le deuxième paramètre rend le chemin absolu d'un chemin relatif.

 

La méthode CREER_FICHIER_TEMPORAIRE

Paramètres :

Chaine Reference nomFichierTemp

Chaine prefixe

 

Cette méthode crée un nouveau fichier avec le préfixe donné dans le répertoire des fichiers temporaires du compte utilisateur Windows. Pensez à le supprimer après utilisation.

ErreurARendre vaut zéro si OK (sinon une valeur HRESULT).

Exemple : C:\DOCUME~1\UTILISATEUR\LOCALS~1\TEMP\pref251.tmp

 

La méthode DECOUPER_CHEMIN

Paramètres :

Chaine pchemin ("Chemin à découper")

Chaine Reference plecteur ("Lecteur avec les deux-points")

Chaine Reference prepertoires ("Répertoire et sous-répertoires")

Chaine Reference pfichier ("Nom du fichier sans extension")

Chaine Reference pextension ("Extension")

 

Retourne les différentes parties d'un chemin complet : lecteur, répertoires (et sous-répertoires), nom du fichier (sans extension) et extension.

Un chemin avec lecteur réseau (\\monserveur\disk\) ne rend pas de lecteur.

Exemple : "C:\Program Files (x86)\Memsoft Oxygene\oxydev\systeme\bin\oxygovl.exe" donnera

plecteur="C:", prepertoires="\PROGRAM FILES (X86)\MEMSOFT", pfichier="OXYGOVL", pextension=".EXE"

La méthode CONVERSION_ENVVAR

Paramètres :

Chaine Reference envvar ("Variable à interpréter")

 

Traduction d'une variable d'environnement Windows telle que %USERPROFILE% qui donne le répertoire de l'utilisateur Windows en cours.

  

La méthode CONVERSION_CODAGE

Paramètres :

Chaine Reference texte ("Texte à convertir")

Chaine codage ("Nouveau codage [OEM|ANSI|UTF8")

 

Conversion du paramètre texte en codage ANSI, OEM ou UTF8. La méthode ne détecte pas le codage de la chaîne reçue donc vous devez connaître son format et indiquer le nouveau format avec le deuxième paramètre codage qui accepte seulement 3 valeurs : "OEM", "ANSI" ou "UTF8" (UTF8 à partir de la 8.11).

Les conversions possibles sont : OEM->ANSI, ANSI->OEM et ANSI->UTF8.

 

ANSI = Windows-1252 et OEM = OEM 850

 

La méthode ECRIRE_EN_UTF8

Paramètres :

Chaine fichier ("Chemin complet du fichier à créer")

Chaine texte ("Contenu du fichier")

 

Méthode identique à la méthode ECRIRE_FICHIER à la différence que le texte est écrit en codage UTF-8. Ce type de codage des caractères est utilisé notamment pour les fichiers HTML ou XML.

 

La méthode CONVERTIR_EN_UTF8

Paramètres :

Chaine Reference texte

Conversion d'une chaine en UTF8 ; méthode doublon de CONVERSION_CODAGE.

 

La méthode CONVERTIR_EN_BASE64

Paramètres :

Chaine source

Chaine Reference destination

Encodage d'une chaîne en base 64. Ce type de codage permet de transformer n'importe quelle donnée binaire en chaîne contenant uniquement des caractères "lisibles". On peut par exemple stocker un fichier PDF, une image ou un fichier RAW dans une variable type Chaîne et la transmettre facilement à des objets ou des programmes tiers.

 

La méthode DECODER_BASE64

Paramètres :

Chaine source

Chaine Reference destination

Décodage d'une chaîne en base 64 ; par exemple générée avec la méthode CONVERTIR_BASE64.

 

La méthode URLENCODE

Paramètres :

Chaine Reference url

Encode la chaîne passée en paramètre pour être compatible dans une URL : les caractères non alphanumériques (hormis -_.) sont remplacés par des séquences commençant par un caractère pourcentage '%', suivi de deux chiffres hexadécimaux. Les espaces sont remplacés par des signes plus '+'.

 

La méthode HTMLENTITYENCODE

Paramètres :

Chaine Reference sIn ("Texte")

Transforme les caractères réservés du format XML (", <, >, &, \) en leur équivalent neutre (&quot; &lt;, &gt;, &amp;, &apos;).

La méthode REMPLACER

Paramètres :

Chaine Reference texte ("Texte complet")

Chaine ancien ("Jeton à remplacer")

Chaine nouveau ("Nouveau jeton")

 

Remplace toutes les occurrences d'une chaîne (ancien) par une autre chaîne (nouveau) dans le texte passé en premier paramètre. Cette méthode est optimisée sur la gestion de la mémoire.

 

La méthode TRIM

Paramètres :

Chaine Reference texte ("Texte")

Chaine caracteres ("Caractères à remplacer")

 

Supprime les caractères indiqués présents en début ou en fin de chaîne. Permet par exemple de supprimer les espaces et les sauts de lignes d'une chaîne copiée depuis un autre logiciel.

Si le second paramètre est vide, on supprimera les espaces, tabulations et sauts de ligne.

 

La méthode DEPILE

Paramètres :

Chaine Reference pListe

Chaine Reference pElement

Chaine pSeparateur

 

Dépile le premier élément d'une liste. La liste est une chaîne composée de plusieurs éléments (caractère, mot ou phrase) séparés par un caractère dédié. Lorsque qu'un élément est trouvé il est retiré de pListe et renvoyé dans pElement. Par défaut, si pSeparateur est vide, le caractère de séparation est le point-virgule.

 

La méthode INCREMENTE_NUMERO_LIGNE

Paramètres :

Chaine Reference numero_ligne ("Numéro au format ##000")

Entier ppas ("Valeur à incrémenter")

 

Calcule un numéro dans le format utilisé par le modèle SDOCUM pour le champ NUMERO des lignes. Cette méthode permet de créer lignes numérotées correctement en dehors du modèle (par exemple depuis un import). La numérotation commence au deuxième caractère. On n'utilise pas une base décimale mais une base 74 : les caractères sont ceux compris entre '0' et 'z' dans la table ASCII (donc chiffres, lettres majuscules, ponctuation, lettres minusucles) selon leur valeur numérique. Le nombre maximum de lignes via cette méthode est donc de 74x74=5476 numéros.

ErreurARendre vaut 1 si la limite est atteinte. Le paramètre ppas ne peut pas être négatif.

 

La méthode INFOS_FICHIER

Paramètres :

Chaine nom // chemin du fichier à analyser

Double Reference taille // taille en octets

Chaine Reference attributs // attributs (ceux visibles avec la commande DOS ATTRIB)

Date   Reference date_creation

Chaine Reference heure_creation

Date   Reference date_modif

Chaine Reference heure_modif

Chaine Reference nom_fichier // nom du fichier avec la casse d'origine

Chaine Reference nom_alt83 // nom du fichier au format 8.3

 

Donne les caractéristiques d'un fichier.

La méthode REP_VIDER

Paramètres :

Chaine pChemin("Chemin")

Chaine vTypeFichier("Type de fichier")

 

Vide le contenu d'un répertoire avec possibilité de préciser les fichiers concernés avec les jockers (par exemple, tous les fichiers : "*.*").

 

La méthode REP_SUPPRIMER

Paramètres :

Chaine pChemin("Chemin")

Entier pOption("1=supprimer le répertoire de base")

 

Suppression du contenu d'un répertoire en récursif et éventuellement le répertoire lui-même.

 

La méthode REP_VIDE

Paramètres :

Chaine pChemin("Chemin")

 

Teste si le répertoire est vide : si ce n'est pas le cas ErreurRendue est différent de 0.