Page 1 sur 1
Ecriture fichier texte
Publié : jeu. 30/mars/2023 18:07
par MetalOS
Salut les gars,
J'ai besoin d'ajouter une ligne à un fichier texte à chaque lancement de mon programme. C'est bien comme ca qu'il faut faire ???
Code : Tout sélectionner
If CreateFile(1, "Fichier.txt")
FileSeek(1, Lof(1))
WriteString(1, "Ligne à ajouter")
EndIf
Le problème c'est que ca me réécrit sur la première ligne et pas sur la prochaine ligne. Portant Lof() et bien sensé indique le fin de ligne non ?
Re: Ecriture fichier texte
Publié : jeu. 30/mars/2023 18:55
par falsam
Comme ça c'est mieux pour écrire
à la fin d'un fichier existant.
Code : Tout sélectionner
If OpenFile(1, "Fichier.txt", #PB_File_Append)
WriteString(1, "Ligne à ajouter")
EndIf
Re: Ecriture fichier texte
Publié : jeu. 30/mars/2023 18:57
par Philippe_GEORGES
Il faut d'abord créer le fichier, puis ensuite ajouter des lignes.
Code : Tout sélectionner
; creation du fichier
If CreateFile(1, "Fichier.txt")
WriteStringN(1, "Première ligne")
CloseFile(1);
EndIf
; ajout dans le fichier
If OpenFile(1, "Fichier.txt")
FileSeek(1, Lof(1))
WriteStringN(1, "Ligne à ajouter")
CloseFile(1);
EndIf
Voilà !!
Re: Ecriture fichier texte
Publié : jeu. 30/mars/2023 18:58
par falsam
Avec l'option #PB_File_Append dans les options d'ouverture d'un fichier, FileSeek est inutile.
Ne pas oublier non plus le flag #PB_Ascii ou #PB_UTF8 dans l'option d'écriture.
Re: Ecriture fichier texte
Publié : jeu. 30/mars/2023 19:23
par MetalOS
Au final ca fonctionne avec ce code. Quand je charge le fichier texte dans un ListViewGadget les lignes sont charger les unes après les autres.
Code : Tout sélectionner
If CreateFile(1, "Fichier.txt")
FileSeek(1, Lof(1)+1, #PB_Relative)
WriteString(1, "Ligne à ajouter")
EndIf
Re: Ecriture fichier texte
Publié : jeu. 30/mars/2023 20:27
par Marc56
Il faut d'abord créer le fichier, puis ensuite ajouter des lignes.
Pas besoin; OpenFile le créé s'il n'existe pas.
OpenFile()
Ouvre un fichier en lecture et en écriture ou le crée s'il n'existe pas.
CreateFile()
Crée un fichier vide ou recrée une fichier vide s'il existe déjà.
ReadFile()
Ouvre un fichier pour des opérations de lecture seule.