Globales ou Locales :
Une petite piqûre de rappel d'une évidence que les nouveaux programmeurs ignorent ou dont ils ne tiennent pas compte car inutile à leurs yeux et que certains anciens maltraitent.
Je vous renvoie vers un petit article de Gambix plus que pertinent :
Nommage des variables, et
Conventions de NommageVoici un bout de code pour suivre le nommage des variables et leur visibilité dans le code général du programme :
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
| ' Gambas class file
INHERITS TextBox '<--------------------------------------------------------- Tout l'héritage du composant TextBox '<----------------------------------------------------------------------------- (Export) pour créer la class dans l'IDE EXPORT '<------------------------------- remarquez les doubles '' pour faire apparaître les commentaires en explication des objets dans l'IDE PRIVATE $fValue AS FLOAT ''Contient la valeur numérique PRIVATE $sRegPat AS STRING ''Pattern des expressions réguliéres PRIVATE $sFormat AS STRING ''Contient le formatage de la variable PRIVATE $regex AS NEW RegExp ''Contrôle l'entrée, il faut activer gb.pcre PRIVATE $bFocus AS BOOLEAN ''Boolean du focus PRIVATE $listview1 AS ListView ''Le listview pour afficher et choisir l'expression régulière PRIVATE $TextBox2 AS TextBox ''pour afficher les informations sur les expressions régul. PRIVATE $lblLab AS Label ''pour afficher le nombre formaté selon l'express. régul.
PUBLIC ENUM sNumVirgule0, sNumVirgule1, sNumVirgule2, sNumVirgule3, sNumVirgule4, sNumVirgule' ne sert qu'à rendre les valeurs plus explicites dans le code ' Static Public iInd As Integer
PRIVATE $aListeC AS NEW String[] '<-------------------------------------------- instanciation de la liste des formats PRIVATE $aListeB AS NEW String[] '<-------------------------------------------- instanciation de la liste des explications PRIVATE $aListe AS NEW String[] '<--------------------------------------------- instanciation de la liste des expressions régulières
PRIVATE $oObs AS Observer '<-------------------------------------------------- les observer peuvent être déclarés en local PRIVATE $oLvw1Obs AS Observer '<---------------------------------------------- ou en global
'<------------------- Début propriétés ajoutées à TextBox --------------------- PROPERTY Value AS FLOAT ''Valeur float de la textbox PROPERTY Format AS STRING ''On passe le format que l'on souhaite voir en sortie PROPERTY TextReg AS INTEGER ''On passe l'expression régulière
PRIVATE SUB Value_Write(Value AS FLOAT) '<------------------------------------- la propriété Value de notre TextBox
$fValue = Value '<--------------------------------------------------------- récupération de la valeur et transmision à la variable locale
END
PRIVATE FUNCTION Value_Read() AS FLOAT '<------------------------------------- la propriété Value de notre TextBox
RETURN $fValue '<---------------------------------------------------------- renvoi de la propriété
END
PRIVATE SUB Format_Write(sFormat AS STRING) '<------------------------------- la propriété Format de notre TextBox
$sFormat = sFormat '<------------------------------------------------------ récupération de la valeur et transmision à la variable locale
END
PRIVATE FUNCTION Format_Read() AS STRING '<--------------------------------- la propriété Format de notre TextBox
RETURN $sFormat '<--------------------------------------------------------- renvoi de la propriété
END
PRIVATE FUNCTION TextReg_Read() AS INTEGER '<--------------------------------- la propriété TextReg de notre TextBox
RETURN $aListe.Find($regPat) '<---------------------------------------------- renvoi de la propriété
END
PRIVATE SUB TextReg_Write(Value AS INTEGER) '<------------------------------- la propriété TextReg de notre TextBox
$regPat = $aListe[Value] '<------------------------------------------------ récupération de la valeur et transmision à la variable locale
END '<-------------------- Fin propriétés ajoutées à TextBox ----------------------
PUBLIC SUB _new() '<--------------------------------------------------------- création et instanciation de tous les objets nécessaires
' Dim $oObs As Observer '<--------------------------------------------------- les observer peuvent être déclarés en local ' Dim $lvw1Obs As Observer '<----------------------------------------------- ou en global qui les rend privées
DIM sCste AS STRING '<----------------------------------------------------- variables locales pour alimenter le listview DIM i AS INTEGER '<-------------------------------------------------------- variables locales pour alimenter le listview
$oObs = NEW Observer(ME) AS "obs" '<---------------------------------------- instanciation observer pour récupérer les évènements $listview1 = NEW ListView(ME.Parent) '<--------------------------------- instanciation listview d'affichage des expressions régulières $oLvw1Obs = NEW Observer($listview1) AS "ListView1" '<---------------------- instanciation observer pour suivre l'évènement _Select $TextBox2 = NEW TextBox(ME.Parent) '<----------------------------------- instanciation textbox d'affichage d'explications $lblLab = NEW Label(ME.Parent) '<--------------------------------------------- instanciation label d'affichage du format
|
.../...
Le préfixe du nom d'une variable est donc une ou plusieurs minuscules suivies d'une majuscule, de mémoire je crois que cela s'appelle la notation Pascal mais bon l'important c'est de rendre la lecture de votre propre code facile à lire et intelligible.
====================
Navigation :
<-- Liens du Wiki : <--<-- Sommaire du WIKI : <-- <-- Rappels de Programmation <--====================
Documentation :
====================