Preference fichier init
Publié : ven. 20/août/2021 17:12
Bonjour à vous. Je n'arrive pas à résoudre un bug dans cette portion de code. Je souhaite enregistrer des valeurs dans un fichier ini, puis les récupérer ensuite dans le programme (au prochaine lancement). Et bien non, mon message 'Zut' apparaît et les données ini se sont pas lues et attribuées aux variables.
Merci à vous pour votre aide.
Merci à vous pour votre aide.
Code : Tout sélectionner
EnableExplicit
#LARGEUR_FENETRE = 1170
#HAUTEUR_FENETRE = 590
Global gLargeurEcran
Global gHauteurEcran
Global gFini
Global gPosWindowX
Global gPosWindowY
Global gChemin_general_donnees$
Global gNom_fichier_programmation$
Global gbLancerFichierAuDemarrage
Global gbFichierDemarre
Global gDirectManuelTitre$
Global gDirectManuelPersonnes$
Global gDirectManuelCommentaire$
Global gTemps_lancement_fichier_demarrage
Procedure Charger_preferences()
Protected Nom$
Protected Valeur$
Protected Fichier$
Protected Result
Protected Defaut$
Protected x,y
x = (gLargeurEcran - #LARGEUR_FENETRE) / 2
y = (gHauteurEcran - #HAUTEUR_FENETRE) / 2
; cette Procedure ne fonctionne pas et ne retrouve pas la valeur dans le fichier ini !
Fichier$ = GetPathPart(ProgramFilename()) + "config2.ini"
Result = OpenPreferences(Fichier$)
If Result = 0
MessageRequester ("Zut mais pourquoi result est-il égal à zéro !!!!", Fichier$)
EndIf
Defaut$ = GetUserDirectory(#PB_Directory_Documents) + "radio\"
PreferenceGroup("Parametres")
gChemin_general_donnees$ = ReadPreferenceString ("Chemin_general_donnees", Defaut$)
gNom_fichier_programmation$ = ReadPreferenceString ("Fichier_programmation", "toto.prg")
gbLancerFichierAuDemarrage = ReadPreferenceInteger ("Lancer_fichier_programmation_au_demarrage", #True)
gDirectManuelTitre$ = ReadPreferenceString ("DirectManuelTitre","")
gDirectManuelPersonnes$ = ReadPreferenceString ("DirectManuelPersonnes","")
gDirectManuelCommentaire$ = ReadPreferenceString ("DirectManuelCommentaire","")
gPosWindowX = ReadPreferenceInteger ("PosWindowX", x)
gPosWindowY = ReadPreferenceInteger ("PosWindowY", y)
ClosePreferences()
EndProcedure
Procedure Initialiser_preferences()
Protected Fichier$
Protected x,y
x = (gLargeurEcran - #LARGEUR_FENETRE) / 2
y = (gHauteurEcran - #HAUTEUR_FENETRE) / 2
Fichier$ = GetPathPart(ProgramFilename()) + "config2.ini"
If ReadFile(0, Fichier$) = 0
CreatePreferences(Fichier$)
gChemin_general_donnees$ = GetUserDirectory(#PB_Directory_Documents) + "radio\"
PreferenceGroup("Parametres")
WritePreferenceString("Chemin_general_donnees", gChemin_general_donnees$)
WritePreferenceString("Fichier_programmation", gNom_fichier_programmation$)
WritePreferenceInteger("Lancer_fichier_programmation_au_demarrage", gbLancerFichierAuDemarrage)
WritePreferenceString("DirectManuelTitre", gDirectManuelTitre$)
WritePreferenceString("DirectManuelPersonnes", gDirectManuelPersonnes$)
WritePreferenceString("DirectManuelCommentaire", gDirectManuelCommentaire$)
WritePreferenceInteger ("PosWindowX", gPosWindowX)
WritePreferenceInteger ("PosWindowY", gPosWindowY)
ClosePreferences()
Else
Charger_preferences()
EndIf
EndProcedure
Procedure Enregistrer_preferences()
CreatePreferences(GetPathPart(ProgramFilename()) + "config2.ini")
gPosWindowX = 200
gPosWindowY = 200
PreferenceGroup("Parametres")
WritePreferenceString("Chemin_general_donnees", gChemin_general_donnees$)
WritePreferenceString("Fichier_programmation", gNom_fichier_programmation$)
WritePreferenceInteger("Lancer_fichier_programmation_au_demarrage", gbLancerFichierAuDemarrage)
WritePreferenceString("DirectManuelTitre", gDirectManuelTitre$)
WritePreferenceString("DirectManuelPersonnes", gDirectManuelPersonnes$)
WritePreferenceString("DirectManuelCommentaire", gDirectManuelCommentaire$)
WritePreferenceInteger ("PosWindowX", gPosWindowX)
WritePreferenceInteger ("PosWindowY", gPosWindowY)
ClosePreferences()
EndProcedure
Procedure Test_initialisation_donnees()
gChemin_general_donnees$ = "c:\chemin\"
gNom_fichier_programmation$ = "MonProgramme.prg"
gbLancerFichierAuDemarrage = 1
gDirectManuelTitre$ = "Mon titre"
gDirectManuelPersonnes$ = "Moi"
gDirectManuelCommentaire$ = "Mon commentaire"
gPosWindowX = 400
gPosWindowY = 400
EndProcedure
Test_initialisation_donnees()
Enregistrer_preferences()
Initialiser_preferences()
Debug "Chemin_general_donnees : "+ gChemin_general_donnees$
Debug "Fichier_programmation : "+ gNom_fichier_programmation$
Debug "Lancer_fichier_programmation_au_demarrage : " + gbLancerFichierAuDemarrage
Debug "DirectManuelTitre : "+ gDirectManuelTitre$
Debug "DirectManuelPersonnes : "+ gDirectManuelPersonnes$
Debug "DirectManuelCommentaire : " + gDirectManuelCommentaire$
Debug "PosWindowX : "+ Str( gPosWindowX)
Debug "PosWindowY : " + Str(gPosWindowY)
MessageRequester ("info","Chemin_general_donnees : "+ gChemin_general_donnees$ )
MessageRequester ("info", "Fichier_programmation : "+ gNom_fichier_programmation$)
MessageRequester ("info", "Lancer_fichier_programmation_au_demarrage : " + gbLancerFichierAuDemarrage)
MessageRequester ("info", "DirectManuelTitre : "+ gDirectManuelTitre$ )
MessageRequester ("info", "DirectManuelPersonnes : "+ gDirectManuelPersonnes$)
MessageRequester ("info", "DirectManuelCommentaire : " + gDirectManuelCommentaire$)
MessageRequester ("info", "PosWindowX : "+ Str( gPosWindowX))
MessageRequester ("info", "PosWindowY : " + Str(gPosWindowY))