Utiliser les Settings :
Exemple issu de GestBase, disponible dans la forge Gambas
Téléchargeable ici :
GestBase 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
| PUBLIC SUB FichierConf() 'modification des menus de langues en fonction des settings
IF Settings["LangInit"] = "" THEN mnANGLAIS.Checked = FALSE mnFRANCAIS.Checked = FALSE mnESPAGNOL.Checked = FALSE mnITALIEN.Checked = FALSE mnPORTUGAL.Checked = FALSE ENDIF
IF Settings["LangInit"] = "en" THEN System.Language = "en_US.UTF-8" mnANGLAIS.Checked = TRUE mnFRANCAIS.Checked = FALSE mnESPAGNOL.Checked = FALSE mnITALIEN.Checked = FALSE mnPORTUGAL.Checked = FALSE
ENDIF
IF Settings["LangInit"] = "fr" THEN System.Language = "fr_FR.UTF-8" mnANGLAIS.Checked = FALSE mnFRANCAIS.Checked = TRUE mnESPAGNOL.Checked = FALSE mnITALIEN.Checked = FALSE mnPORTUGAL.Checked = FALSE
ENDIF
IF Settings["LangInit"] = "es" THEN System.Language = "es_ES.UTF-8" mnANGLAIS.Checked = FALSE mnFRANCAIS.Checked = FALSE mnESPAGNOL.Checked = TRUE mnITALIEN.Checked = FALSE mnPORTUGAL.Checked = FALSE
ENDIF
IF Settings["LangInit"] = "it" THEN System.Language = "it_IT.UTF-8" mnANGLAIS.Checked = FALSE mnFRANCAIS.Checked = FALSE mnESPAGNOL.Checked = FALSE mnITALIEN.Checked = TRUE mnPORTUGAL.Checked = FALSE
ENDIF
IF Settings["LangInit"] = "pt" THEN System.Language = "pt_PT.UTF-8" mnANGLAIS.Checked = FALSE mnFRANCAIS.Checked = FALSE mnESPAGNOL.Checked = FALSE mnITALIEN.Checked = FALSE mnPORTUGAL.Checked = TRUE
ENDIF
END
|
La première fois qu'est lancé le programme :
1
2
3
4
| IF Settings["First_Time", TRUE] = TRUE THEN 'démarrage première fois Settings["First_Time"] = FALSE Settings["General/LangInit"] = Left(System.Language, 2) ENDIF
|
Application de la langue au démarrage :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| PUBLIC SUB langues()
DIM cLangues AS String[] = ["en", "fr", "es", "it", "pt", "de"]
IF NOT cLangues.Exist(Left(System.Language, 2)) OR IsNull(Settings["General/LangInit"]) THEN Settings["General/LangInit"] = "en" Settings.Save ELSE IF Settings["General/LangInit"] = "en" THEN System.Language = "en_US.UTF-8" ELSE IF Settings["General/LangInit"] = "fr" THEN System.Language = "fr_FR.UTF-8" ELSE IF Settings["General/LangInit"] = "es" THEN System.Language = "es_ES.UTF-8" ELSE IF Settings["General/LangInit"] = "it" THEN System.Language = "it_IT.UTF-8" ELSE IF Settings["General/LangInit"] = "pt" THEN System.Language = "pt_PT.UTF-8" ENDIF
END
|
Extrait du fichier GestBase.conf :
1
2
3
4
5
6
7
8
9
10
11
12
| [FPreview] OutputFile="/home/piloue/report.pdf" PrintToFile=TRUE Duplex=0 GrayScale=0 ReverseOrder=0 CollateCopies=0 FileResolution=150
[General] LangInit="fr" First_Time=FALSE
|
Ici, dans cet exemple, seule la langue utilisée et le contrôle de première fois sont conservés et gérés par le fichier Settings mais on peut gérer bien d'autres choses en fonction de ses propres besoins.
Autre exemple :
Je veux pouvoir récupérer les dimensions et disposition de ma form principale lors de son ouverture.
À l'ouverture de celle-ci je récupère les mesures dans le fichier de configuration :
1
2
3
4
5
| '-----valeurs d'origine------ Settings["origine/Top"] = ME.Top '<-------------- les valeurs sont rangées dans un chapitre nommé origine Settings["origine/Left"] = ME.Left Settings["origine/Height"] = ME.Height Settings["origine/Width"] = ME.Width
|
Je créé une procédure pour rappeler ces mesures d'origine quand j'en ai besoin :
1
2
3
4
5
6
7
8
9
| PUBLIC SUB mesuresOrigine()
ME.Width = Settings["origine/Width"] '<---------- je récupère ces mesures d'origine en fonction de mon besoin ME.Height = Settings["origine/Height"] ME.Top = Settings["origine/Top"] ME.Left = Settings["origine/Left"] ME.Center
END
|
Je peux utiliser cette sauvegarde des mesures originales pour faire apparaître ou disparaître les menus de ma form :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| PUBLIC SUB Menu11_Click() 'montre ou non, les menus
IF ME.Menus.Visible THEN ME.Menus.Hide '<------------------------------------------------------- cache les menus ME.Height = Settings["orig/Height"] - 28 '28 = hauteur du menu Settings["orig/Height"] = ME.Height Settings.Save ELSE ME.Height = Settings["orig/Height"] + 28 '28 = hauteur du menu Settings["orig/Height"] = ME.Height Settings.Save ME.Menus.Show '<------------------------------------------------------- montre les menus ENDIF
END
|
====================
====================
Navigation :
<-- Liens du Wiki : <--<-- Accueil du WIKI : <-- ====================
Documentation :
====================