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
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 (" <, >, &, ').
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.