Page 1 sur 1
ecrire dans un fichier sans ecraser son contenu
Publié : lun. 12/juin/2006 0:12
par jnoel345
Bonjour , j'aimerai savoir si il existe une commande pour ecrire dans un fichier sans ecraser son contenu .
J'ai essayé les commandes writestring , writedata , avec openfile() le contenu du fichier est automatiquement effacé à son ouverture .
Existe t'il des parametres pour openfile() pour ouvrir un fichier en ecriture sans ecraser son contenu ?
Merci pour vos conseils .
Publié : lun. 12/juin/2006 1:24
par Anonyme
c'est bizarre, chez moi le contenu n'est pas ecraser (a vérifier quand même)
sinon, c'est simple.
-Tu lis et sauvegarde les données en mémoire
-Tu écris l'ancien contenu avec les nouvelles données.
@++
Publié : lun. 12/juin/2006 9:07
par Droopy
Code : Tout sélectionner
Procedure AppendFile(File, FileName.s) ; open a file for appending
If OpenFile(File, FileName)
FileSeek(Lof())
ProcedureReturn 1
EndIf
EndProcedure
Il te suffit d'ouvrir le fichier puis de te positionner à la fin de celui-ci, sinon tu écrase son contenu
Publié : lun. 12/juin/2006 9:38
par Anonyme
je viens de faire un test avec un .exe
Code : Tout sélectionner
OpenFile(0,"Test.exe")
WriteStringN(0,"DETRUIT")
CloseFile(0)
le contenu n'est pas détruit. mais avec un .txt le contenu est détruit

Publié : lun. 12/juin/2006 11:48
par jnoel345
Merci pour vos reponses , j'ai essayé avec writestring(0,"DETRUIT") , le compilateur n'accepte pas le 0 , j'ai un message d'erreur . et avec writestring("DETRUIT") l'ancien contenu est toujours effacé meme avec un exe . Je vais essayer la methode de Droopy .
Publié : lun. 12/juin/2006 15:27
par Flype
la méthode de droopy est bien celle qui doit etre utilisée.
en plus c est logique, on ouvre le fichier d abord, ensuite on se positionne à la fin, ensuite on écrit dedans.
et pour ce qui est de ton erreur avec le 0,
c est parceque tu utilises toujours PB3.94 au lieu de PB4.