Comment vider un fichier texte ? [Résolu]

cs_skyman272 34 Messages postés jeudi 17 juin 2004Date d'inscription 26 novembre 2007 Dernière intervention - 31 août 2007 à 12:46 - Dernière réponse : ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention
- 28 avril 2013 à 11:22
Bonjour,

Comment puis je vider la totalité d'un fichier texte, pour que celui ci soit à 0 octet ?

Merci
Afficher la suite 

10 réponses

Répondre au sujet
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscriptionModérateurStatut 28 août 2015 Dernière intervention - 31 août 2007 à 12:50
+3
Utile
Salut
Facile, il te suffit d'ouvrir (Open For Output) le fichier et faire le refermer (Close) juste derrière.
L'instruction Open écrasera le fichier s'il existe déjà

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Jack
cs_skyman272 34 Messages postés jeudi 17 juin 2004Date d'inscription 26 novembre 2007 Dernière intervention - 31 août 2007 à 13:37
0
Utile
oui mais celà ne marche que si on ecrase derriere, moi je voudrais vider le fichier sans condition d'ecriture derriere
Commenter la réponse de cs_skyman272
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscriptionModérateurStatut 28 août 2015 Dernière intervention - 31 août 2007 à 14:34
0
Utile
Re
Là, je ne te comprends pas.
Tu veux vider le contenu d'un fichier existant, juste en gardant le fichier, mais sans rien dedans.
La méthode Open For Output puis un Close juste derrière (2 lignes) me parait hyper simple et combine la création d'un fichier s'il n'existe pas, ou l'écrasement d'un fichier existant.
Que veux-tu dire par "sans condition d'ecriture derriere", tu n'es pas clair

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
cs_skyman272 34 Messages postés jeudi 17 juin 2004Date d'inscription 26 novembre 2007 Dernière intervention - 31 août 2007 à 14:47
0
Utile
Je veux juste vider le fichier pour une ecriture ulterieure

Si je fais


Open "c:\fichier.txt" For Output As #1
Close canal

ça ne m'efface rien

si j'ajoute avant le close :
Print #canal, "text"

ça m'ecrase bien le fichier mais je n'arrive pas juste à l'effacer
Commenter la réponse de cs_skyman272
cs_skyman272 34 Messages postés jeudi 17 juin 2004Date d'inscription 26 novembre 2007 Dernière intervention - 31 août 2007 à 14:55
0
Utile
merci ça fonctionne, il y avait un pb de syntaxe
Commenter la réponse de cs_skyman272
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscriptionModérateurStatut 28 août 2015 Dernière intervention - 31 août 2007 à 15:07
0
Utile



Commenter la réponse de cs_Jack
0
Utile
Open fichier For Output As 1

Close 1
Commenter la réponse de ahmedouw
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 28 avril 2013 à 10:55
0
Utile
Bonjour,
On peut d'ailleurs se demander quel serait l'intérêt de vider ce fichier !
Il suffit de le détruire. Et ce d'autant que la prochaine instruction Open pour y écrire le re-créerait !


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Commenter la réponse de ucfoutu
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 28 avril 2013 à 11:07
0
Utile
En y réfléchissant bien, en outre :
La destruction est préférable dans ce cas-là. Pourquoi ?
Parce que l'effacement (surtout d'un fichier de faible poids) puis la réécriture avec un plus grand poids va générer la nécessité d'un fractionnement (et donc de chaînages).
La destruction puis la réécriture (quelles que soient les tailles) ne vont certes pas supprimer les risques de fractionnement du disque, mais au moins éviter celui du fichier considéré lui-même.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Commenter la réponse de ucfoutu
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 28 avril 2013 à 11:22
0
Utile
Pour mieux comprendre :
Imagine qu'ayant écrit à la main une liste bâtonnée*** dont un élément était composée de trois mots, tu veuilles effacer (avec une gomme) ces trois mots et les remplacer par une série d'une vingtaine de mots (en précisant que l'on ne peut effacer le bâtonnage). Tu n'y parviendrais (espace trop petit) qu'en créant un renvoi vers un complément de 17 mots ajoutés en fin de liste. Ce qui ferait que le lecteur lirait 3 mots là et devrait continuer sa lecture en bas du texte.
Alors que si tu avais carrément rayé cet élément et ajouté en fin de texte, il n'aurait pas à pratiquer ce "sport" alourdissant.

*** bâtonner veut dire compléter les blancs de toute une ligne par des tirets (comme sur un acte notarié)
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Commenter la réponse de ucfoutu

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.