COMMENT ESPACER L’EXECUTION DE DEUX BLOCS DE CODES ?


 Auteurs:

Ouattara Ahamadou

hamed103@hotmail.fr

 

Il arrive souvent qu’on soit amené à mettre un écart de temps entre l’exécution de deux instructions différentes. C’est là qu’intervient le contrôle Timer dont l’une de ses fonctionnalités nous permet de gérer les écarts de temps qu’on veut mettre entre deux blocs de codes. Son rôle ne s’arrête pas là, car ce contrôle peut nous permettre de créer une minuterie.

L’objectif de ce tuto est de pouvoir gérer, piloter son programme de manière automatique en précisant  un bout de temps qui doit s’écoulé avant l’exécution d’un bloc de code quelconque grâce a la propriété Enabled du contrôle Timer

On suppose que ceux qui  veulent s’en servir doivent connaitre comment utiliser un contrôle dans la boite d’outils de Visual Studio 2010 ou 2008.

Sans plus tarder, nous allons passer à la réalisation d’un petit programme qui calcule  la somme de deux nombres et 15 secondes après, nous donne le produit de ces deux nombres.

Apres ouverture de VS et utilisation des différents contrôles dont on a besoins, on doit obtenir ceci.

Ensuite on clique sur le contrôle Timer dans la boite à outil (catégorie Composants), et cliquez sur le formulaire.

NB : le contrôle Timer ne s’affiche pas sur le formulaire comme les autres contrôles, mais en bas du formulaire comme ceci.

Comme vous le constatez, le Timer est en dessous de notre formulaire.

Cliquez sur le Timer et affichez ensuite le panneau des propriétés, pour préciser le bout de temps qu’on veut placer entre l’exécution des deux opérations.

Pour cela, attribuez 15000 millisecondes comme temps séparateur d’exécution, à sa  propriété Interval . Soit 15 secondes.

Pour le moment on ne touchera pas la propriété Enabled qui nous servira de déclencheur, on le fera dans le code.

Double-cliquez sur le boutons Calculer et tapez le code suivant :

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonCalcule.Click
        ' calcul de la somme des deux entiers
        TextBoxSommes.Text = (CInt(TextBoxNombreA.Text) + CInt(TextBoNombreB.Text))
        '' et juste apres cette instruction, on active le Timer.
        Timer1.Enabled = True
End Sub

Comme vous le constatez la ligne suivante, TextBoxSommes.Text = (CInt(TextBoxNombreA.Text) + CInt(TextBoNombreB.Text)) effectue la somme en convertissant les valeurs  saisies dans les TextBox en Integer ( CInt),  puisse qu’elles sont considérées comme des valeurs de types String .

Puis effectue la somme.

L’instruction qui suit est le déclencheur de notre Timer

Timer1.Enabled = True

La propriété Enabled (permission, valider ou déclencher) du controle Timer est l’une des propriétés principales, car elle nous permet d’activer notre Timer et le désactiver.

Mettre donc sa valeur à True signifie qu’on veut démarrer notre minuterie.

Donc une fois que l’exécution de la première instruction prend fin, on active le Timer et celui-ci se mettra à décrémenter les 15 secondes qu’on a précisé dans  le panneau des propriétés.

Une fois que ces 15 secondes finissent, on exécute notre deuxième code (le calcul du produit).

Mais ou mettre ce deuxième code pour que ca marche ?

Evidemment, c’est dans le gestionnaire d’évènements du Timer, pour cela, double-cliquez sur le controle Timer puis insérez ceci :

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        ' calcul de la du produit des deux entiers
        TextBoxProduit.Text = (CInt(TextBoxNombreA.Text) * CInt(TextBoxNombreB.Text))
  End Sub

Au fait, une fois que les 15 secondes sont écoulées, La propriété Enabled passe à False, et exécute ensuite le bout de code qu’il contient.

Récapitulatif :

  1. Le bouton Calculer calcule la somme des entiers saisis et active le Timer.
  1. Ensuite le Timer décompte le temps qu’on lui a attribué. Une fois ce temps écoulé le deuxième code  qu’il contient s’exécute.
  • Tapez F5 pour voir ce que ça nous donne.

Quand on clique sur le bouton Calculer, on a ceci :

Et 15 secondes après, apparait le produit des deux entiers  comme ceci :

Ça marche !!!

Avant de boucler, insérez cette instruction sous le bouton Quitter pour pouvoir fermer l’application par ce Bouton :

Application.Exit()

Puis testez. Ça marche !

C’est ici que ce tuto prend fin.

Il est également téléchargeable a cette adresse :  http://dl.dropbox.com/u/36133623/controle%20Timer.pdf

CODE’S  TimE

Bientot Le tuto pour realiser une premiere app en silverlight sur ce blog

un screenshort de la prochaine APP