Contrôles, Timer, Date et Heure

Leçons de programmation Visual Basic



Créez un nouveau projet et placez les contrôles Text1, Command1 et Label1 sur la feuille comme ci-contre en haut. à gauche Définissez les propriétés des contrôles en utilisant la fenêtre de propriétés après avoir sélectionné un contrôle comme suit dans le tableau :

Contrôle Propriété Valeur
Text1 Text  Roger
Command1 Caption Transfert
Label1 Caption  
Label1 BorderStyle FixedSingle

Vous obtenez alors la feuille du bas.

Double-cliquez sur le bouton Command1. Nous allons maintenant programmer de façon à ce que le texte de la zone de texte Text1 soit copié vers le Label Label1 :

Le texte de text1 est stocké dans la propriété Text de Text1 : Text1.Text
Le texte de label1 est stocké dans la propriété
Caption de Label1 : Label1.Caption

Pour copier l'un dans l'autre, il faut donc écrire :

Label1.Caption = Text1.Text

La procédure sera donc :

Private Sub Command1_Click()
Label1.Caption = Text1.Text
End Sub

Pour mettre une image sur une feuille, placez un contrôle Image sur la feuille, cliquez sur la propriété Picture de l'image et choisissez un fichier graphique (bmp, wmf, ico...) à afficher :

Contrôle Propriété Valeur
Image1 Picture athlete.jpg
Image1 Stretch True

La propriété Stretch définit si l'image est redimensionnée à la taille du contrôle (True) ou si le contrôle est redimensionné (False).



Il existe des fonctions internes de Visual Basic qui renvoient des valeurs souvent utiles. Certaines récupèrent la date et l'heure du système. Nous allons, à l'aide du contrôle Timer et de ces fonctions, programmer une petite horloge numérique qui affiche en outre la date du jour.

Fonctionnement d'un Timer : un timer est doté d'une procédure d'évènement du même nom (Timer1_Timer() ) qui est exécutée périodiquement tous les intervalles de temps spécifiés dans la propriété Interval du contrôle, en millisecondes.

Il faut que la propriété Enabled du contrôle soit à True pour qu'il effectue le décompte du temps et l'exécution de la procédure Timer.

Placez sur une feuille vierge un contrôle Timer ainsi que deux label comme illustré sur l'image ci-contre. Le contrôle Timer est représenté par un chronomètre dans la boîte à outils.

Il est sur la feuille représenté par la même icône, celle-ci sera invisible à l'exécution car le Timer n'est utile que pour le programmeur. Pour améliorer la présentation de notre horloge, nous mettrons de plus les propriétés suivantes pour les contrôles :

Contrôle Propriété Valeur
Label1 Alignment Center
Label2 Alignment Center
Label1 Font Tahoma 8pt Gras
Label2 Font Tahoma 12pt Gras
Timer1 Interval 500

La dernière propriété concernant le Timer permet de définir la fréquence de rafraichissement de notre horloge. Le code de la procédure d'évènement qui sera exécutée toutes les 500ms est le suivant :

Private Sub Timer1_Timer()
Label1.Caption = Format(Now, "dddd dd mmmm yyyy")
Label2.Caption = Format(Now, "hh:mm.ss")
End Sub

Explications :

• La fonction Now renvoie la date actuelle du système sous la forme 21/05/2002 15:12:35.

• La fonction Format prend une date ou une heure (Expression) et la renvoie sous forme d'une chaîne (string) dans le format spécifié dans Format. Le format est une chaîne de caractères qui contient des mots-clés résumés dans le tableau ci-dessous.

Mot-Clé Remplacé par
dd 08
ddd jeu
dddd jeudi
mm 05
mmm mai
yy 02
yyyy 2002

Pour arrêter ce programme, ajoutons un bouton de commande Command1. L'instruction End permet de stopper le programme :

Private Sub Command1_Click()
End
End Sub

Remarque :
La fonction Format ne se résume pas à une mise en forme de dates, on peut aussi mettre en forme des nombres et des chaînes de caractères