Gambas France BETA

Connexion

Pas de compte ? Incription

Exemple 28 :

Comment Déclarer un Fichier Settings :


Dans un module, par exemple qui est tout à fait approprié pour ça :

Dans MSettings, module pour les Settings, par exemple.
1
2
3
4
5
6
7
8
PUBLIC AppSettings AS Settings '<--------------------------' déclaration du fichier en question

PUBLIC SUB InitDefaultPath() '<---------------------------' initialise les settings

' AppSettings = New Settings '<--------------------------' création d'un dossier settings, par défaut
AppSettings = NEW Settings(User.Home &/ ".config/gambas3" &/ Application.name & Application.Version & ".conf")

END

La ligne commentée déclare un dossier settings par défaut, ici : User.Home &/ ".config/gambas3" &/ Application.name & ".conf" '<----' Nom et endroit.

Si vous désirez le personnaliser, vous le pouvez, comme, ici : User.Home &/ ".config/gambas3" &/ Application.name & Application.Version & ".conf" '<----' Nom, endroit et numéro de rôle.

La seule différence c'est dans l'appel aux settings, dans la déclaration par défaut vous pouvez utiliser le mot Settings directement, Gambas fera le tri sinon il vous faut mentionner le nom que vous avez donnez aux settings, dans votre déclaration, pour tout travail sur ceux-ci, de la sorte (MSettings étant, dans l'exemple, le Module des settings) :
1
2
3
IF MSettings.AppSettings.Exist(...'<-------------------------' Utilisation du nom de la déclaration, ici AppSettings
' Et, non pas :
IF Settings.Exist(...'<---------------------------------' Utilisation du terme générique Settings


Exemple de Définition, d'enregistrement de certains critères, dans le Module.
1
2
3
4
5
6
7
8
9
10
PUBLIC SUB StorePolice() '<------------------------------' store la police choisie

DIM Headline AS STRING

HeadLine = "Police"
AppSettings[HeadLine &/ "pFont"] = MGlobal.sFCValue

AppSettings.Save '<--------------------------------' action sur les settings, ici, sauvegarde

END

Exemple de Définition, de rappel de certains critères préalablement enregistrés, dans le Module.
1
2
3
4
5
6
7
8
PUBLIC SUB RestorePolice() '<-----------------------------' Restore la police choisie

DIM HeadLine AS STRING

HeadLine = "Police"
MGlobal.sFCValue = AppSettings[HeadLine &/ "pFont", 1]

END

Idem enregistrement.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
PUBLIC SUB StoreClockSettings() '<------------------------' Parametres

DIM Headline AS STRING

HeadLine = "Clock" '<---------------------------------' Sets the Headline
AppSettings[HeadLine & "/Design"] = MGlobal.iDesign
AppSettings[HeadLine & "/Drap"] = MGlobal.iDrap
AppSettings[HeadLine & "/Trotteuse"] = MGlobal.bTrotteuse
AppSettings[HeadLine & "/bAuto"] = MGlobal.bAuto
AppSettings[HeadLine & "/bDoux"] = MGlobal.bDoux

AppSettings.Save

END

Idem Rappel
1
2
3
4
5
6
7
8
9
10
11
12
PUBLIC SUB RestoreClockSettings() '<---------------------' Parameters are i.e. stored at home/.config/Gambas3/CHorloge.conf

DIM HeadLine AS STRING

HeadLine = "Clock" '<----------------------------------' Sets the headline
MGlobal.iDesign = AppSettings[HeadLine & "/Design", 1] '<--' Load design
MGlobal.iDrap = AppSettings[HeadLine & "/Drap", 1] '<-----' choix option affichage date ou logo
MGlobal.bTrotteuse = AppSettings[HeadLine & "/Trotteuse", 1] '<----' choix trotteuse ou pas
MGlobal.bAuto = AppSettings[HeadLine & "/bAuto", 1] '<-' choix Auto ou pas
MGlobal.bDoux = AppSettings[HeadLine & "/bDoux", 1] '<-' chronomètre

END

Idem Enregistrement.
1
2
3
4
5
6
7
8
9
10
11
12
PUBLIC SUB StoreFormPosition(Formulaire AS Window) '<----' Stores the last postition of the window

WITH Formulaire
AppSettings[.name & "/left"] = .left
AppSettings[.name & "/top"] = .top
AppSettings[.name & "/width"] = .width
AppSettings[.name & "/height"] = .Height
END WITH

AppSettings.Save

END

Idem Rappel.
1
2
3
4
5
6
7
8
9
10
PUBLIC SUB RestoreFormPosition(Formulaire AS Window) '<----' Restores the last postition of the window

WITH Formulaire
.left = AppSettings[.name & "/left", .left]
.top = AppSettings[.name & "/top", .top]
.width = AppSettings[.name & "/width", .width]
.Height = AppSettings[.name & "/height", .height]
END WITH

END

Dans une procédure,(ailleurs que dans le Module) pour initialiser le dossier settings :
1
MSettings.InitDefaultPath '<---------------------------' Initializing the default path for storing settings

Dans une procédure (ailleurs que dans le Module) pour rappeler les settings :
1
2
3
MSettings.RestoreFormPosition(ME) '<------------------' Restore Form positions
MSettings.RestoreClockSettings() '<---------------------' Restore clock design
MSettings.RestorePolice()

Dans une procédure (ailleurs que dans le Module) pour enregistrer les settings :
1
2
MSettings.StoreClockSettings()
MSettings.StorePolice()


====================

Navigation :



<-- Liens du Wiki : <--
<-- Accueil du WIKI : <--

====================

Documentation :



====================