Supprimer un enregistrment dans un fichier texte

Résolu
EMSIEN
Messages postés
194
Date d'inscription
lundi 26 juillet 2004
Statut
Membre
Dernière intervention
11 juin 2009
- 27 juil. 2004 à 13:38
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
- 4 mai 2005 à 10:34
bonjour je débute en vb et je veux supprimer un enregistrement dans un fichier mais je ne connais pas l'instruction qui effectue cela merci encore et bonne journée

7 réponses

Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
27 juil. 2004 à 13:59
il va te falloir utiliser un fichier temporaire :

1 - tu fais une copie de ton fichier A (fichier B)
2 - tu supprime A
3 - tu lis B et tu ecris dans A (nouveau fichier) en n'incluant pas l'enregistrement a supprimer
4 - tu supprimes B
3
VbLibre
Messages postés
16
Date d'inscription
jeudi 5 août 2004
Statut
Membre
Dernière intervention
5 octobre 2005

23 août 2004 à 12:26
Ou bien tu le remplaces par ""
0
EMSIEN
Messages postés
194
Date d'inscription
lundi 26 juillet 2004
Statut
Membre
Dernière intervention
11 juin 2009

23 août 2004 à 23:41
si je remplace les champs avec "" tu ne pense pas qu'ils vont seulemnt s'effacer mais il resteront comme des champs vides.
je crois que c'est une bonne idée je vais l'essayer et te contacter pr te confirmer
merci encore pour l'interet que vous portez à ma question


shkaff@hotmail.com
0
EMSIEN
Messages postés
194
Date d'inscription
lundi 26 juillet 2004
Statut
Membre
Dernière intervention
11 juin 2009

2 mai 2005 à 23:05
après plusieurs mois je cherche une autre méthode de suppression sans avoir recours à la création d'un nouveau fichier et je ss tombé sur ma première question sur vbfrance en ce moment j'ai pas signaler l'acceptation de ta réponse et mnt avec quelques mois sur le site je le fais.
merci encore
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
3 mai 2005 à 07:53
Une autre solution serait le décalage des informations vers le haut, pour combler l'espace a supprimer.



Ensuite, tu peux appeler l'API SetEndOfFile pour tronquer ton fichier


ca pourrais être interessant de comparer les performances...


Amusez-vous !
Renfield - thomas_reynald@msn.com
Admin CodeS-SourceS - MVP Visual Basic
0
EMSIEN
Messages postés
194
Date d'inscription
lundi 26 juillet 2004
Statut
Membre
Dernière intervention
11 juin 2009

3 mai 2005 à 18:25
j'avais fais le décalage et diminuer la taille du fichier de 1 mais il me reste les ernregistrements vides " ", quand j'ai voulu mettre l'API setendoffile je crois que ça va pas m'éliminer les espaces mais seulement déplacer le eof(numf) que j'utilise meme pas dans le parcourt de mes fichiers puisque j'utilise par exemple pr parcourir le fichier
while i < ty_fic
0
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
4 mai 2005 à 10:34
tu devrais tout de même vérifier le EOF dans ta boucle....
on n'ai jamais trop prudent...

SetEndOfFile va effectivement déplacer le EOF (si l'on peut dire) : ton fichier sera tronqué ; tes enregistrements supprimés, l'espace disque préservé

Amusez-vous !
Renfield - thomas_reynald@msn.com
Admin CodeS-SourceS - MVP Visual Basic
0