Page 1 sur 1

Variables dynamiques avec preferences

Publié : mar. 12/août/2008 15:04
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 !

Publié : mar. 12/août/2008 15:31
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:

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

Publié : mer. 13/août/2008 10:44
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 !