|
Il peut
être intéressant de manipuler des fichiers de texte par
l'intermédiaire d'une application Visual Basic. Voici
quelques notions à ce sujet.
Ouvrir
un fichier
Pour ouvrir
un fichier, on doit connaître son nom
(avec son chemin
d’accès), et
lui attribuer un numéro arbitraire, dit numéro
de canal. Cela
donnera ainsi :
Exemple
Open
"C:\TextFile.txt"
For Input As #1
-
Chemin:
C:\TextFile.txt entre guillemets
-
For
Input:
Indique qu'on ouvre le fichier en lecture
-
As
#1: Numéro
de canal (chaque fichier ouvert aura un numéro de
canal différent)
Une
fois le fichier ouvert en mode
lecture, il faut
ajouter une instruction qui permet de lire le texte. Voici
une première méthode qui consiste à placer tout le
texte dans une
variable à
l'aide de l'instruction LOF.
Ça peut être intéressant pour les textes peu
volumineux.
Exemple
Longueur
= LOF(#1)
NomDeVariable = Input (Longueur, #1)
-
Longueur:
LOF(#1): récupère le nombre total de caractères du
fichier et le place dans Longueur.
-
NomDeVariable:
Input (Longueur, #1) : On lit le nombre de caractéres
indiqué par longueur et on le place dans la variable.
La seconde
solution est la meilleure, à condition que des caractères
de fin de ligne
aient bien été placés à la fin de chaque ligne.
Vous verrez aussi que pour cette méthode, on utilise un tableau
dynamique
ouvert, c'est-à-dire une variable contenant plusieurs
cases dont on peut augmenter le nombre au fur et à mesure
des besoins.
Exemple
Dim
T() as string
Open "C:\Monfichier.txt" As #1 For Input
i = -1
While Not Eof(1)
i = i + 1
Redim Preserve T(i)
Line Input #1, T(i)
Wend
-
Dim
T() as string:
Déclaration du tableau dynamique (les parenthèses
donnent la possibilité de varier le nombre de cases
qu'il contient).
-
Open...:
Ouverture du fichier
-
i
= -1:
Initialisation de la variable comteur i
-
While
Not Eof(1):
une boucle qui dure tant qu'on n'a pas atteint la fin
du fichier (EOF = END OF FILE)
-
I
= i + 1:
Augmentation de la valeur du compteur
-
Redim
Preserve T(i):
on redimensionne le tableau dynamique à la valeur de
i en préservant son contenu
-
Line
Input
#1, t(i): On
place le contenu de la ligne i dans la case T(i)
Écrire
dans un fichier
Pour
écrire dans un fichier, il faut commencer par l'ouvrir
comme précédemment, mais cette fois avec une instruction
différente.
Exemples
Open
"C:\TextFile.txt"
For Output As #1
-
Chemin:
C:\TextFile.txt entre guillemets
-
For
Output:
Indique qu'on ouvre le fichier en écriture
pour remplacer tout le contenu
-
As
#1: Numéro
de canal (chaque fichier ouvert aura un numéro de
canal différent)
Open
"C:\TextFile.txt"
For Append As #1
-
Chemin:
C:\TextFile.txt entre guillemets
-
For
Append:
Indique qu'on ouvre le fichier en écriture
pour ajouter du contenu à la fin de celui déjà
présent
-
As
#1: Numéro
de canal (chaque fichier ouvert aura un numéro de
canal différent)
Une
fois cette opération effectuée, il suffit d'une simple
instruction pour écrire dans le fichier: PRINT.
Exemple
Print
#i, NomDeVariable
On pourrait
traduire cette instruction par Écrire
dans le fichier #i le contenu de la variable.
Fermer
un fichier
À
la fin de chaque
opération, il
faut refermer le
fichier afin
d'éviter un message d'erreur Fichier
déjà ouvert.
Exemple
Close
#i
|