OVH Cloud OVH Cloud

Question en VB . NET

2 réponses
Avatar
Stéphane L.
Bonjour,

J'aimerais créer dans mon code des contrôles Timer selon certain cas.

Mais j'aimerais que ces timers créés lancent 1 traitement lors du tick.

Est-ce que c'est possible ?


mon code ressemble à ca :

Dim controle_timer(255) As Timer

Dim compteur_timer As Byte = 0

If ma_condition Then

compteur_timer += 1

controle_timer(compteur_timer) = New Timer

controle_timer(compteur_timer).Interval = 1000

controle_timer(compteur_timer).Enabled = True

End If


Et j'aimerais qu'au prochain tick de ce timer, 1 traitement soit lancé, au
minimum un :

Call traitement_timer



Pouvez-vous m'aider svp merci ?



Stéphane

2 réponses

Avatar
Millox Frédéric
Salut Steph,

Un petit exemple :

Les différentes déclarations :

dim timerEx = New Timers.Timer
AddHandler timerEx .Elapsed, AddressOf TraitementAFaire
timerEx.Interval = CsteInterval (Un nombre en milli secondes)

Private Sub TraitementAEffectuer(ByVal sender As Object, ByVal e As
Timers.ElapsedEventArgs)

/* Traitement a affectue lorsque le temps est fini */

End

Après les déclarations :

timerEx.Enabled = False permet d'arreter le timer.
timerEx.Enabled = True permet de lancer le timer.

Au bout de CsteInterval, la méthode TraitementAEffectuer se lance.
Si tu n'arretes pas le timer timerEx ( par exemple dans la méthode
TraitementAEffectuer ) , la méthode se redéclenchera toutes les CsteInterval
millli secondes.

J'espère que j'ai été assez clair.
a+

--
fmillox


"Stéphane L." a écrit :

Bonjour,

J'aimerais créer dans mon code des contrôles Timer selon certain cas.

Mais j'aimerais que ces timers créés lancent 1 traitement lors du tick.

Est-ce que c'est possible ?


mon code ressemble à ca :

Dim controle_timer(255) As Timer

Dim compteur_timer As Byte = 0

If ma_condition Then

compteur_timer += 1

controle_timer(compteur_timer) = New Timer

controle_timer(compteur_timer).Interval = 1000

controle_timer(compteur_timer).Enabled = True

End If


Et j'aimerais qu'au prochain tick de ce timer, 1 traitement soit lancé, au
minimum un :

Call traitement_timer



Pouvez-vous m'aider svp merci ?



Stéphane





Avatar
Stéphane L.
Parfait, merci beaucoup Frédéric

"Millox Frédéric" a écrit dans le
message de news:
Salut Steph,

Un petit exemple :

Les différentes déclarations :

dim timerEx = New Timers.Timer
AddHandler timerEx .Elapsed, AddressOf TraitementAFaire
timerEx.Interval = CsteInterval (Un nombre en milli secondes)

Private Sub TraitementAEffectuer(ByVal sender As Object, ByVal e As
Timers.ElapsedEventArgs)

/* Traitement a affectue lorsque le temps est fini */

End

Après les déclarations :

timerEx.Enabled = False permet d'arreter le timer.
timerEx.Enabled = True permet de lancer le timer.

Au bout de CsteInterval, la méthode TraitementAEffectuer se lance.
Si tu n'arretes pas le timer timerEx ( par exemple dans la méthode
TraitementAEffectuer ) , la méthode se redéclenchera toutes les
CsteInterval
millli secondes.

J'espère que j'ai été assez clair.
a+

--
fmillox


"Stéphane L." a écrit :

Bonjour,

J'aimerais créer dans mon code des contrôles Timer selon certain cas.

Mais j'aimerais que ces timers créés lancent 1 traitement lors du tick.

Est-ce que c'est possible ?


mon code ressemble à ca :

Dim controle_timer(255) As Timer

Dim compteur_timer As Byte = 0

If ma_condition Then

compteur_timer += 1

controle_timer(compteur_timer) = New Timer

controle_timer(compteur_timer).Interval = 1000

controle_timer(compteur_timer).Enabled = True

End If


Et j'aimerais qu'au prochain tick de ce timer, 1 traitement soit lancé,
au
minimum un :

Call traitement_timer



Pouvez-vous m'aider svp merci ?



Stéphane