VIII. Manipulation de fichiers▲
Déjà les mots clés utilisés pour la suppression et création de fichiers et de répertoires :
KILL "fichier à supprimer"
MKDIR "dossier à créer"
RMDIR "dossier à supprimer"
Pour les utiliser par exemple, on peut faire ceci :
Cls
Input " quel fichier voulez-vous supprimer "
;fichier$
Input " êtes-vous sûr de vouloir le supprimer (oui ou non)"
;reponse$
If
reponse$ =
" oui"
then
Kill fichier$
Print " le fichier a été supprimé"
End
Ensuite nous allons apprendre à ouvrir, lire et modifier un fichier.
VIII-A. OPEN▲
Alors déjà une chose, il existe deux types d'accès de manipulation de fichier, l'accès séquentiel et l'accès binaire, mais pour l'instant on va se pencher sur le séquentiel, car le binaire à beau être plus rapide, il demande plus de connaissances.
VIII-A-1. L'accès séquentiel▲
Avec cette méthode, on ne peut pas écrire et lire à la fois, il y a plusieurs mots clés qui indiqueront l'opération voulue.
La commande se présente de cette manière :
Pour ouvrir
OPEN "chemin du fichier à lire"
FOR
INPUT AS
#X
Pour écrire
OPEN "nom du fichier à modifier"
FOR
OUTPUT AS
#X
OPEN " nom du fichier à modifier "
FORAPPEND AS
#X
X désigne le nombre qu'assignera le programme au fichier
La différence entre output et append est que output supprimera le fichier et le créera à nouveau pour qu'il soit vide alors que append lui reprendra à la fin de ce fichier.
VIII-A-2. LECTURE▲
Bien, maintenant nous allons voir la lecture de plus près. Pour lire un fichier vous aurez besoin de l'ouvrir avec input de cette manière :
OPEN "bod.txt"
FOR
INPUT AS
#2
On ouvre le fichier bod.txt et on lui assigne le nombre 2.
Puis pour l'afficher à l'écran plusieurs méthodes.
Pour afficher la première ligne, il suffit de faire ceci :
LINE INPUT #2
, li$
PRINT Li$
Mais on ne va pas s'arrêter à une ligne.
10
LINE INPUT #2
, Li$
PRINT Li$
IF
EOF
(
2
) <>
1
THEN
10
Comme ça, on affichera tout le texte, car si on répète line ce sera automatiquement la seconde ligne qui sera prise en compte et pour allez jusqu'à la fin alors on utilise EOF lorsque sa valeur est égale à 1, c'est qu'il est à la fin du texte alors tant qu'il ne le sera pas on réexécutera line.
Mais on peut aussi faire plus précis. Si vous voulez lire des variables, il vous suffira de faire de cette manière :
si on a un fichier test.txt qui contient ceci :
" dupond "
, 45
" henri "
,65
" chevalier "
,32
"volaide "
,23
on peut ouvrir ce fichier de cette manière :
OPEN "test.txt"
FOR
INPUT AS
#1
10
INPUT #1
, nom$, age%
PRINT nom$ +
" a "
; age%; " ans "
IF
EOF
(
1
) <>
1
THEN
10
END
Alors le programme affichera tous les noms et les âges présents sur le fichier.
VIII-A-3. ENREGISTREMENT▲
Je rappelle que open + append et open + output ont la même fonction, mais que l'un ajoute du texte et que l'autre supprime tout texte présent pour le remplir ensuite.
De la même manière que pour la lecture vous pouvez sauver des lignes ou des variables.
Et de la même manière aussi si l'on répète une modification ou une lecture sur un fichier une fois mis sous cette forme ' #chiffre‘ on passe obligatoirement à la ligne suivante.
Write : pour des variables :
OPEN "test.txt"
FOR
APPEND AS
#1
FOR
i =
1
TO
10
INPUT " quel est son nom "
; nom$
INPUT " quel est son âge "
; age%
WRITE #1
, nom$, age%
PRINT "personne "
; i; " stocké"
NEXT
i
END
Print : pour des lignes :
OPEN "test.txt"
FOR
APPEND AS
#6
INPUT " tapez un truc "
; truc$
Prinr #6
, truc$
PRINT "le truc est sauvé dans test.txt"
END