Readfile/OpenFile
Readfile/OpenFile
j'utilise le code:
;****charge param.ini**************
If ReadFile(0, "Param.prefs")
While Eof(0) = 0
ligne1$ = ReadString()
ligne2$ = ReadString()
path1$ = ReadString()
path2$ = ReadString()
chemin$ = ReadString()
transparent$ = ReadString()
delay$ = ReadString()
taillex$ = ReadString()
tailley$ = ReadString()
posix$ = ReadString()
posiy$ = ReadString()
Wend
CloseFile(0)
pour charger quelques variables.
celles-ci seront modifiées dans mon programme
je veux les réenregistrer
j'ai essayé le code:
Procedure EcritInit()
OpenFile(0, "Param.prefs")
WriteStringN(ligne1$))
WriteStringN(ligne2$))
+....
CloseFile(0)
EndProcedure
mais ça ne fonctionne pas je ne sait pas d'où vient le pb....
pourant le fichier est bien refermé après lecture on pourrait donc le modifier en ecriture facilement
a moins que le WiteString soit mal utilisé?!!
;****charge param.ini**************
If ReadFile(0, "Param.prefs")
While Eof(0) = 0
ligne1$ = ReadString()
ligne2$ = ReadString()
path1$ = ReadString()
path2$ = ReadString()
chemin$ = ReadString()
transparent$ = ReadString()
delay$ = ReadString()
taillex$ = ReadString()
tailley$ = ReadString()
posix$ = ReadString()
posiy$ = ReadString()
Wend
CloseFile(0)
pour charger quelques variables.
celles-ci seront modifiées dans mon programme
je veux les réenregistrer
j'ai essayé le code:
Procedure EcritInit()
OpenFile(0, "Param.prefs")
WriteStringN(ligne1$))
WriteStringN(ligne2$))
+....
CloseFile(0)
EndProcedure
mais ça ne fonctionne pas je ne sait pas d'où vient le pb....
pourant le fichier est bien refermé après lecture on pourrait donc le modifier en ecriture facilement
a moins que le WiteString soit mal utilisé?!!
-
- Messages : 83
- Inscription : lun. 20/sept./2004 18:21
- Localisation : derriere toi fais gaffe!
je serais toi j'utiliserai la librairie Preferences:
Code : Tout sélectionner
General
Un fichier Preference contient des paramètres définis pour le programme par l'utilisateur. Il est stocké sur le disque et est chargé à chaque lancement de ce programme (comme les fichiers '.INI' sous Windows par exemple). PureBasic offre la possibilité de créer un fichier hiérarchisé de préférences facilement utilisable sur différentes plate-formes. Le format du fichier est en ASCII avec une préférence par ligne, utilisant une syntaxe 'MotClef=Valeur'. Des groupes peuvent être créés pour une lecture plus simple.
Sommaire des commandes:
ClosePreferences
CreatePreferences
OpenPreferences
PreferenceComment
PreferenceGroup
ReadPreferenceFloat
ReadPreferenceLong
ReadPreferenceString
WritePreferenceFloat
WritePreferenceLong
WritePreferenceString
Asus bien? asus tres bien!
Re: Readfile/OpenFile
@Flype :
@david
Donc simple soit tu les met en global
ou soit dans ta procedure il faut les passer en parametre
Voilà j'espere t'avoir aidé
je ne te suis pas trop sur ta phrase. les 2 fonctions ouvrent un fichier en écriture seulement create... ecrase si le fichier éxiste alors que Open... charge un fichier.c'est CreateFile() pour sauver un fichier, pas OpenFile()
@david
A tu defini tes variables ligne1$ + .... en global car si tu ne la pas fais Pure considere ces variables comme vide.david a écrit : Procedure EcritInit()
OpenFile(0, "Param.prefs")
WriteStringN(ligne1$))
WriteStringN(ligne2$))
+....
CloseFile(0)
EndProcedure
Donc simple soit tu les met en global
Code : Tout sélectionner
Global ligne1$, ligne2$, ...
Code : Tout sélectionner
Procedure EcritInit(ligne1$, ligne2$, ...)
OpenFile(0, "Param.prefs")
WriteStringN(ligne1$))
WriteStringN(ligne2$))
+....
CloseFile(0)
EndProcedure
oui autant pour moi.
je recommande quand meme CreateFile plutot que OpenFile pour créer un fichier de config.
Et le coup des globales, c'est surement çà...
Code : Tout sélectionner
Syntaxe
WriteStringN(Texte$)
Description
Ecrit une chaîne de caractères dans le fichier en cours suivie du code 'Fin de Ligne'. Le fichier doit être accessible en écriture (pas ouvert par ReadFile() par exemple).
Et le coup des globales, c'est surement çà...
là je suis d'accord avec toi. le must serai d'avoir une lib comme la lib Pref mais en pouvant modifier juste un élément et nom tout réécrire. Bien que ce ne soit pas bien compliqué à faire comme lib normalement, sa serai bien que ce pb soit résolu dans la v4 ^^Flype a écrit :je recommande quand meme CreateFile plutot que OpenFile pour créer un fichier de config.
[EDIT]
Je viens de voir cette lib qui permet de changer une variable d'un fichier pref sans avoir à je recréer. J'ai pas encore testé : Lib UdaptePref
Tu pourrais essayer ce code : http://purebasic.hmt-forum.com/viewtopic.php?t=4295
C'est fait pour çaDorian a écrit :Je vien de tester la lib Udaptepref de mon post precedent et sa marche nikel sous la v3.94. Sa evite d'avoir tout à coder ^^

tu trouveras les dernière version sur :
http://purebasic.free.fr/