ecrire dans un fichier sans ecraser son contenu

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
jnoel345
Messages : 13
Inscription : ven. 09/juin/2006 11:28

ecrire dans un fichier sans ecraser son contenu

Message 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 .
Anonyme

Message 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.

@++
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Message 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
Anonyme

Message 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 :?
jnoel345
Messages : 13
Inscription : ven. 09/juin/2006 11:28

Message 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 .
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message 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.
Image
Répondre