Variables dynamiques avec preferences

Programmation d'applications complexes
meganet
Messages : 317
Inscription : jeu. 20/janv./2005 22:00

Variables dynamiques avec preferences

Message par meganet »

Salut, voilà mon problème :
J’ai fait une boucle pour lire mon fichier de préférences, et je stocke le résultat dans une liste chaînée. Est-ce qu’il n’y aurait pas un code pour avoir une variable généré dynamiquement avec le nom de la clef lue ? Un peu comme en PHP.
Merci d’avance !
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

C'est mon jour de bonté ... :P

voilà, c'est fait a l'arrache ça peut être améliorer mais ça fonctionne :P

Code : Tout sélectionner

Structure Prefs
  Key.s
  Value.s
EndStructure

Global NewList Prefs.Prefs()

Procedure.s ReadPrefsKey(Key.s)
  ForEach Prefs()
    If Prefs()\Key=Key
      ProcedureReturn Prefs()\Value
    EndIf
  Next
EndProcedure

;On fait un fichier fictif
If CreatePreferences("Preferences.prefs")
    WritePreferenceString("ApplicationName", "MP3 Player")
    WritePreferenceString("Version", "1.1b")
    
ClosePreferences()
EndIf

;On lit le fichier de preference
If OpenPreferences("Preferences.prefs")

  ExaminePreferenceKeys()
    
    While NextPreferenceKey()
    AddElement(Prefs())
      Prefs()\Key=PreferenceKeyName() 
      Prefs()\Value=PreferenceKeyValue()
    Wend
    
ClosePreferences()
EndIf
;Et voilà !! c'est bien ça que tu veux?
Debug ReadPrefsKey("Version")
Codé en 2min et 45 sec... je me suis chronomotré lolllllll :lol:
meganet
Messages : 317
Inscription : jeu. 20/janv./2005 22:00

C'est déjà ce que j'utilise.

Message par meganet »

Bonjour, ce système est déjà celui que j’utilise en ce moment. Non moi je veux savoir si il y a un moyen de récupérer (pour reprendre ton code), le résultat de la clef version dans une variable version.s ou version$ mais sans avoir à écrire version.s = ReadPreferenceString(« version », « « ).
Donc en utilisant le même genre de boucle mais au lieu d’utiliser une liste chaînée, des variables seraient généré automatiquement.
Car quand i y a 200 ligne à écrire comme ça, bonjour la galère !
Merci !
Répondre