Précédente     TOC Contenu     Suivante                    




Notes de cours 3

Le langage VB




Comme vous savez de l'exercice précédent, pour ouvrir l'éditeur de code de VB vous devez soit cliquer sur l'icon View Code dans la fenêtre Project Explorer, cliquer sur View-->Code dans le menu ou cliquer sur View code avec le bouton droit de la souris ou encore faire un double-clique sur un objet.

Vous noterez que dans la ligne de menu les fonctions Delete, Cut, Copy, Paste, Find, Replace, etc. fonctionnent toutes comme dans un éditeur de texte ordinaire.

Avant de continuer, je vous suggère de vous familiariser avec les fonctions d'aide qui sont disponible sur le sujet du codage.

D'abord, notons que si vous travaillez avec un "Working model", l'aide en direct n'est pas disponible. Cependant, en ouvrant votre browser en travaillant, vous avez accès à un site de référence de MSDN qui vous fournira toute la documentation VB (ainsi que Visual Studio, C++, etc) que vous désirez.

Site de référence:: VB 6 Programmer's Guide.



LE LANGAGE VB: TECHNIQUES DE BASE

Lignes de code

Le langage VB n'est pas très rigide: les espaces, indentations, etc. n'ont pas d'importance pour le compilateur. Cependant, elles en ont pour le professeur et vous devrez respecter les techniques de base concernant la lisibilité du code.

En général on écrit une commande par ligne; pour la lisibilité il est parfois préférable de mettre la commande sur 2 lignes en utilisant le caractère de continuation (espace underscore)  _
La ligne suivante est correcte:

Data1.RecordSource = "SELECT * FROM Titles"

Mais je pourrais aussi l'écrire en 2 lignes dans le code:

Data1.RecordSource = _
       "SELECT * FROM Titles"


Dans le cas contraire on pourrait écrire 2 commandes sur une ligne en les séparant par un : mais ce n'est pas une pratique recommandée!

L'utilisation de majuscules ou minuscules n'a pas d'importance, sauf pour la lisibilité

Commentaires

Le caractère de commentaire est l'apostrophe '

On recommande l'usage de commentaires dans les codes partout ou des explications sont requises.

Notez qu'on ne peut pas mettre un commentaire après un caractère de continuation.

Les commentaires peuvent être au début d'une ligne ou après le code comme: ' Ceci est un commentaire

nom.Caption = "Michel"       ' Ce commentaire suit une commande

Noms de variables

- Le nom doit commencer par une lettre

- Maximum de 40 caractères

- Ne doit pas contenir d'espaces; peut contenir des signes excepté ceux qui décrivent un data type:    ! single,   # double,  % integer,   $ string,   & long,   @ currency
(le trait d'union - quoique légal est fortement déconseillé car il porte à confusion avec l'opération moins; utilisez plutôt le underscore comme: nom_famille ou les majuscules comme: NomFamille)
- Ne doit pas être un mot réservé (qui fait partie du code )


Types de données

Data type Storage size Range
Byte 1 byte 0 to 255
Boolean 2 bytes True or False
Integer 2 bytes -32,768 to 32,767
Long (long integer) 4 bytes -2,147,483,648 to 2,147,483,647
Single (single-precision floating-point) 4 bytes -3.402823E38 to -1.401298E-45 for negative values; 1.401298E-45 to 3.402823E38 for positive values
Double (double-precision floating-point) 8 bytes -1.79769313486232E308 to -4.94065645841247E-324 for negative values; 4.94065645841247E-324 to 1.79769313486232E308 for positive values
Currency (scaled integer) 8 bytes -922,337,203,685,477.5808 to 922,337,203,685,477.5807
Decimal 14 bytes +/-79,228,162,514,264,337,593,543,950,335 with no decimal point; +/-7.9228162514264337593543950335 with 28 places to the right of the decimal; smallest non-zero number is +/-0.0000000000000000000000000001
Date 8 bytes January 1, 100 to December 31, 9999
Object 4 bytes Any Object reference
String (variable-length) 10 bytes + string length 0 to approximately 2 billion
String (fixed-length) Length of string 1 to approximately 65,400
Variant (with numbers) 16 bytes Any numeric value up to the range of a Double
Variant (with characters) 22 bytes + string length Same range as for variable-length String
User-defined (using Type) Number required by elements The range of each element is the same as the range of its data type.


"NAMING CONVENTIONS"


Quand on crée des controles en VB, l'éditeur leur donne automatiquement un nom. Par exemple, le premier bouton sera Command1 et le vingtième sera Command20. Dans le code, quand on voudra référer au bouton pour exécuter les calculs, est-ce Command8 ou Command12? Et une variable qu'on a définie, est-ce une "String" ou une "Single" ou une "Double"? C'est difficile de se rappeler de tous les contrôles et les variables qu'on crée pour pouvoir s'y retrouver par la suite si on n'utilise pas un système de référence.

Pour nommer les objets en VB il y 2 facteurs à considérer:
  • Utiliser toujours un nom significatif pour chaque objet

  • Utiliser le préfixe standard pour chaque objet tel que suggéré par le langage

Donc: cmdExit au lieu de Command8 pour le bouton "Exit",
txtHeures au lieu de Text3 pour la saisie du nombre d'heures
et sglTaux_horaire pour la variable de taux plutôt que t_h



Voic le tableau des préfixes suggérés par VB


Variable Data Type Prefix Example
Boolean bln blnFull
Byte byt bytDaysInMonth
Currency cur curPoundsSterling
Date (Time) dtm dtmStart
Double dbl dblAstronomicalDistances
Integer int intNumberOfEmployees
Long lng lngProfits
Single sgl sgl
String str strSurname
User-Defined Type udt udtStaffDetails
Variant vnt vntChartData

Control Type Prefix Example
Animated button ani aniEmptying
Check box chk chkWriteOnly
Combo box cbo cboLanguage
Command button cmd cmdCancel
Common Dialog dlg dlgSave
Data Contol dat datStock
Data-bound Combo dbcbo dbcboActicleType
Data-bound Grid dbgrd dbgrdStockItems
Data-bound List box dblst dblstAccountCodes
Directory list box dir dirTarget
Drive list box drv drvSource
File list box fil filPick
Form frm frmMainMenu
Frame fra frmPrinters
Graph gra graSharePrices
Grid grd grdQuantities
Horizontal Scroll Bar hsb hsbHueColor
Image img imgBitMap
Label lbl lblHelpUser
List Box lst lstColorCodes
MCI mci mciSoundEffects
MDI Child Form mdi mdiJuly
Menu mnu mnuFileOpen
MS Tab mst mstDays
OLE ole oleExcel
Picture Box pic picMemoryLeft
ProgressBar prg prgConverting
Report rpt rptEndofYear
RichTextBox rtf rtfDiary
Shape shp shpSquare
Slider sld sldWindSpeed
Spin button spn spnTicketsRequired
StatusBar sta staInformation
Text Box txt txtInputText
Timer tmr tmrStartAlarmCount
Vertical Scroll Bar vsb vsbRatios



Déclaration de variables

Déclaration explicite

Définir une variable au début d'une procédure ou dans la section "Declarations" en utilisant Dim

Dim UnEntier As Integer
Dim NomClient As String
Dim MontantDu As Currency

Normalement, les variables déclarées dans une procédure sont détruites lorsqu'on quitte la procédure; si on veut les garder on peut les déclarer avec Static au lieu de Dim comme:

Static TotalOtt As Integer

Avant de procéder aux exercices, vous devriez voir la section sur: Utiliser plusieurs Forms

Par exemple, codez les deux procédures qui suivent et comparez-les: Private Sub Command1_Click()
    Dim I As Integer
    I = I + 1
    Command1.Caption = I
End Sub


Private Sub Command2_Click()
    Static I As Integer
    I = I + 1
    Command2.Caption = I
End Sub


Déclaration implicite

Déclaration dynamique, faite "on the fly" dans le code: Dim Total1, Total2 As Integer
Total3 = Total1 + Total2
Total4% = 0
Montant5# = 12.34
MonNom$ = "Michel" En général, les déclarations implicites ne sont pas recommandées car elles rendent le code plus difficile à lire et à comprendre.


Constantes

Une constante est une valeur qui ne change pas au cours de l'exécution d'une procédure; on la déclare avec Const comme: Const ValeurPi = 3.1416
Portée des variables (Scope)

Une variable déclarée dans une procédure avec l'instruction Dim est locale; lorsqu'on sort de la procédure la variable n'existe plus.

Si on déclare la variable dans la section General/Declarations avec Dim, la variable est locale au module; elle est disponible pour toutes les autres procédures de la feuille.

Si on déclare la variable dans la section General/Declarations d'un module (et non d'une feuille), avec l'instruction Public au lieu de Dim, la variable est globale et elle est disponible à l'application toute entière.

Opérateurs

Les opérateurs arithmétiques habituels sont disponibles:
   +  -  *  /   ^

Le signe & est utilisé pour une concaténation de chaines: Dim alpha, beta, chaine As String
alpha = "Chaine divisée "
beta = "en deux parties"
chaine = alpha + beta Avec les variables de type Variant le signe + peut aussi dénoter une concaténation si les deux variables contiennent des chaines mais, on suggère de toujours utiliser le &

Les opérateurs de comparaison habituels sont utilisés:
   =     >     <     <=     >=    <> ainsi que AND OR NOT IS et LIKE








Si vous ne voyez pas içi ce que vous cherchez en Visual Basic,
utilisez la recherche Google pour trouver des ressources additionnelles.

Google






Haut de la page


Accueil