Gambas France BETA


Pas de compte ? Incription

Exemple 11 :

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 :



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