Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
MetalOS
Messages : 1509 Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :
Message
par MetalOS » jeu. 30/mars/2023 18:07
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 ?
falsam
Messages : 7324 Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :
Message
par falsam » jeu. 30/mars/2023 18:55
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
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Philippe_GEORGES
Messages : 140 Inscription : mer. 28/janv./2009 13:28
Message
par Philippe_GEORGES » jeu. 30/mars/2023 18:57
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à !!
Philippe GEORGES
"La simplicité est la sophistication suprême" (De Vinci)
assistance informatique, création de logiciels
georges.informatique@gmail.com
falsam
Messages : 7324 Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :
Message
par falsam » jeu. 30/mars/2023 18:58
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.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
MetalOS
Messages : 1509 Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :
Message
par MetalOS » jeu. 30/mars/2023 19:23
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
Marc56
Messages : 2197 Inscription : sam. 08/févr./2014 15:19
Message
par Marc56 » jeu. 30/mars/2023 20:27
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.