Settings (gb.settings)

Cette classe gère les fichiers de configuration globale.

Cette classe peut s'utiliser comme un objet, auquel cas une instance cachée sera créée automatiquement.

Cette classe est instanciable.

Cette classe se comporte comme un tableau en lecture / écriture.

Propriétés statiques
DefaultDir   Cette propriété retourne le répertoire par défaut où les fichiers de réglage de configuration sont enregistrés.

Méthodes statiques
FromString   Return a value from its settings internal string representation
ToString   Convert a value into its settings internal string representation

Propriétés
Count   Return the number of entries in the settings file
Keys   Retourne un objet virtuel employé pour énumérer toutes les clés utilisées par le fichier de paramétrage.
Path   retourne le chemin du fichier de paramètres.

Méthodes
Clear   Efface toutes les configurations.
Exist   Return if the specified settings key has a value
Read   Initialise l’ objet spécifié à partir du fichier de paramètres.
Reload   Annule tout les changements de paramètres, en rechargant le fichier de paramètres.
Save   Enregistre le fichier de configuration sur le disque dur.
Write   Ecrit les paramètres de l'objet spécifié dans le fichier des paramètres.

Si vous utilisez cette classe en mode statique, alors la configuration de projet par défaut sera utilisée.

Le chemin de la configuration par défaut est :

User.Home &/ ".config/gambas3" &/ Nom.Application & ".conf"

Par exemple, le fichiers de configuration de l’environnement de développement est rangé dans ~/.config/gambas3/gambas3.conf

Cet exemple doit charger la position d’une fenêtre à partir d’un fichier de paramètres quand un 'form' (formulaire) est ouvert. Si le fichier de paramètres n’existe pas alors la position par défaut sera utilisée. L’exemple sauvegarde également la position des 'forms' quand ils se ferment. Le fichier de paramètres par défaut pour l’application est utilisé.

Exemples

PUBLIC SUB Form_Open()
  ' Met à jour la position de fenêtre depuis les fichiers paramètres
  ' Si le fichier de paramètres n’est pas trouvé alors
  ' utilise la position par défaut.
  ME.Top = Settings["Window/Top", ME.Top]
  ME.Left = Settings["Window/Left", ME.Left]
  ME.Height = Settings["Window/Height", ME.Height]
  ME.Width = Settings["Window/Width", ME.Width]
END

PUBLIC SUB Form_Close()
  ' Sauve les paramètres de fenêtre quand l’application se ferme
  Settings["Window/Top"] = ME.Top
  Settings["Window/Left"] = ME.Left
  Settings["Window/Height"] = ME.Height
  Settings["Window/Width"] = ME.Width
END

Le fichier de paramètres sauvegardé ressemblera à quelque chose comme ce qui suit avec les paramètres emplacement dans le groupe Window.
[Window]
Top=13
Left=18
Height=154
Width=235

PUBLIC SUB ShowASpecialSetting()
  DIM prhOtherConfFile as Settings
  DIM prhLangUsed as String

  ' Lit un paramétrage dans un fichier utilisé par une autre application
  ' situé en /home/user/.config/otherapp/
  ' est dénommé "international.conf"
  'Crée d’abord une nouvelle instance de la classe Settings
  'avec le chemin complet vers le fichier désiré
  prhOtherConfFile = NEW Settings("/home/user/.config/otherapp/international.conf")
  'puis lit la valeur "Lang1" de la section "UserPreferences"
  prhLangUsed = prhOtherConfFile["UserPreferences/Lang1", NULL]
  IF IsNull(prhLangUsed) THEN
    Message.Info("Pas de Lang1 dans le fichier de configuration (ou pas de Section dénommée UserPreferences)")
  ELSE
    Message.Info("La valeur de Lang1 trouvée dans le fichier de config est :\n" & prhLangUsed)
  END IF
END

Notez que vous pouvez directement utiliser la Méthode Write pour sauvegarder les réglages d’une fenêtre, et la méthode Read pour les rappeler.