Bonjour
Il est matériellement impossible de le faire directement sur un fichier
séquentiel car celui-ci ne peut être ouvert que dans un seul mode
( lecture ou écriture ) à la fois.
Il y a 2 possibilités pour le faire :
- 1. en utilisant un tableau en Mémoire Centrale et en le chargeant avec le contenu
du fichier à traiter. Le problème majeur va être la taille du tableau avec un risque de
débordement ! - 2. en utilisant un fichier de travail temporaire qui sera, à la fin, recopié dans le
fichier initial.
Voici les 2 méthodes simplistes à utiliser dans ce dernier cas :
- Suppression d'un ou de plusieurs enregistrements ( i.e. articles ) :
1. ouvrir le fichier initial en lecture et le fichier temporaire en écriture
2. lire un par un tous les enregistrements du fichier initial et si l'article
doit être conservé, l'écrire dans le fichier temporaire sinon ne rien faire
3. fermer les 2 fichiers et copier le fichier temporaire ouvert en lecture
dans le fichier initial ouvert en écriture
- Modification d'un ou de plusieurs enregistrements ( i.e. articles ) :
1. ouvrir le fichier initial en lecture et le fichier temporaire en écriture
2. lire un par un tous les enregistrements du fichier initial et si l'article
doit être modifié, le modifier et ensuite systématiquement l'écrire dans
le fichier temporaire
3. fermer les 2 fichiers et copier le fichier temporaire ouvert en lecture
dans le fichier initial ouvert en écriture
@lpf