Gambas France BETA


Pas de compte ? Incription

Les Variables :

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 Nommage

Voici 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 :



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