OVH Cloud OVH Cloud

Text box et timer

13 réponses
Avatar
Christophe
Bonjour,

Voilà , dans un objet "TextBox" j'aimerai faire apparaitre automatiquement à
l'aide d'un bouton les nombres de 1 à 10 toutes les 5secondes à l'aide d'une
boucle ! !

Je me sens plutot perdu quand au commencement de ce bout de programme.

Si quelqu'un peut me mettre sur la vie !
--
Merci pour vos réponses ! ! !

10 réponses

1 2
Avatar
Jean-Marc
"Christophe" a écrit dans le message
de news:
Bonjour,

Voilà , dans un objet "TextBox" j'aimerai faire apparaitre automatiquement


à
l'aide d'un bouton les nombres de 1 à 10 toutes les 5secondes à l'aide


d'une
boucle ! !

Je me sens plutot perdu quand au commencement de ce bout de programme.

Si quelqu'un peut me mettre sur la vie !




Hello,

pas très sur d'avoir compris la question, mais voici tout de même

Option Explicit
Const MAX_CPT = 10
Const T_SEC = 5
Private Sub Command1_Click()
Timer1.Enabled = True
End Sub

Private Sub Form_Load()
Text1.Text = ""
Timer1.Interval = T_SEC * 1000
End Sub

Private Sub Timer1_Timer()
Static cpt As Integer

cpt = cpt + 1
If cpt = (MAX_CPT + 1) Then
cpt = 0
Timer1.Enabled = False
Else
Text1.Text = cpt
End If
End Sub


--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
Avatar
Yoann
Au cas ou tu programmes en vb6...

le code dans le timer1
text1.text = text1.text + 1
if text1.text = 10 then text1.text = 1

pour lancer
timer1.interval = 5000
pour arrêter
timer1.interval = 0

"Christophe" a écrit dans le message
de news:
Bonjour,

Voilà , dans un objet "TextBox" j'aimerai faire apparaitre automatiquement
à
l'aide d'un bouton les nombres de 1 à 10 toutes les 5secondes à l'aide
d'une
boucle ! !

Je me sens plutot perdu quand au commencement de ce bout de programme.

Si quelqu'un peut me mettre sur la vie !
--
Merci pour vos réponses ! ! !


Avatar
Jean-Marc
"Yoann" a écrit dans le message de
news:4273e0ed$0$25043$
Au cas ou tu programmes en vb6...

le code dans le timer1
text1.text = text1.text + 1
if text1.text = 10 then text1.text = 1

pour lancer
timer1.interval = 5000
pour arrêter
timer1.interval = 0



Hello,
juste un commentaire pour ne pas donner de mauvaises
habitudes aux débutants:
text1.text = text1.text + 1



A éviter car on mélange de façon malsaine du texte
et des nombres. On peut utiliser le controle comme
variable statique, mais alors il est préférable d'écrire:

Dim n As Integer
' recuperation dans n de la valeur de Text1,
' après conversion grace à Val()
n = Val(text1.text)
' incrémente n
n = n + 1
' si limite atteinte
If n = 11 Then
' réinitialisation
n = 1
Endif
' reaffichage et stockade dans text1, après
' conversion de n en texte, grace à Str$()
text1.text = Str$(n)

C'est plus propre, et ca entrainera moins de confusions.

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
Avatar
LE TROLL
Ben pour arrêter le timer, c'est pas trop interval=0,
mais plutôt enabledúlse...

Sinon, t'as pas vu que j'ai répondu à 11h40, testé et
fichiers joints, et que toi tu réponds 45 minutes après la
même chose que moi avec quelques fioritures en plus!
A quoi tu joues, tu ne regardes pas les réponses avant de
répondre, ou tu cherche quelque chose.
Explique, y a un truc que je ne comprends pas ???
-------------

"Jean-Marc" a écrit dans
le message de news:
4273e757$0$24158$
"Yoann" a écrit dans le message
de
news:4273e0ed$0$25043$
Au cas ou tu programmes en vb6...

le code dans le timer1
text1.text = text1.text + 1
if text1.text = 10 then text1.text = 1

pour lancer
timer1.interval = 5000
pour arrêter
timer1.interval = 0



Hello,
juste un commentaire pour ne pas donner de mauvaises
habitudes aux débutants:
text1.text = text1.text + 1



A éviter car on mélange de façon malsaine du texte
et des nombres. On peut utiliser le controle comme
variable statique, mais alors il est préférable d'écrire:

Dim n As Integer
' recuperation dans n de la valeur de Text1,
' après conversion grace à Val()
n = Val(text1.text)
' incrémente n
n = n + 1
' si limite atteinte
If n = 11 Then
' réinitialisation
n = 1
Endif
' reaffichage et stockade dans text1, après
' conversion de n en texte, grace à Str$()
text1.text = Str$(n)

C'est plus propre, et ca entrainera moins de confusions.

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."




Avatar
LE TROLL
Pour lancer et arrêter le Timer, c'est pas tellement

intervalP00, interval = 0

Mais plutôt enabled=true, enabledúlse...

Tu crois pas :o)
---------------------

"Yoann" a écrit dans le message
de news: 4273e0ed$0$25043$
Au cas ou tu programmes en vb6...

le code dans le timer1
text1.text = text1.text + 1
if text1.text = 10 then text1.text = 1

pour lancer
timer1.interval = 5000
pour arrêter
timer1.interval = 0

"Christophe" a
écrit dans le message de news:

Bonjour,

Voilà , dans un objet "TextBox" j'aimerai faire
apparaitre automatiquement à
l'aide d'un bouton les nombres de 1 à 10 toutes les
5secondes à l'aide d'une
boucle ! !

Je me sens plutot perdu quand au commencement de ce bout
de programme.

Si quelqu'un peut me mettre sur la vie !
--
Merci pour vos réponses ! ! !






Avatar
Guy DETIENNE
Salut ;O)

Attention, comme déjà dit par LE TROLL (il ne dit pas que des conneries),
timer1.interval = 0 n'arrête pas tout de suite le timer, celui-ci continuant
le dernier cycle dans lequel il est.

Par contre timer1.enabled = False terminera tout de suite le Timer
court-circuitant le cycle dans lequel il se trouve. La nuance est énorme !

Guy

"Yoann" a écrit dans le message de
news:4273e0ed$0$25043$
Au cas ou tu programmes en vb6...

le code dans le timer1
text1.text = text1.text + 1
if text1.text = 10 then text1.text = 1

pour lancer
timer1.interval = 5000
pour arrêter
timer1.interval = 0

"Christophe" a écrit dans le


message
de news:
> Bonjour,
>
> Voilà , dans un objet "TextBox" j'aimerai faire apparaitre


automatiquement
> à
> l'aide d'un bouton les nombres de 1 à 10 toutes les 5secondes à l'aide
> d'une
> boucle ! !
>
> Je me sens plutot perdu quand au commencement de ce bout de programme.
>
> Si quelqu'un peut me mettre sur la vie !
> --
> Merci pour vos réponses ! ! !




Avatar
Zoury
PTI, les deux façon procéder sont équivalentes. Un interval de 0 fait en
sorte que le timer se déclenche à chaque 0 ms soit jamais.

--
Cordialement
Yanick
MVP pour Visual Basic
"LE TROLL" <le a écrit dans le message de
news:
Pour lancer et arrêter le Timer, c'est pas tellement

intervalP00, interval = 0

Mais plutôt enabled=true, enabledúlse...

Tu crois pas :o)
---------------------

"Yoann" a écrit dans le message
de news: 4273e0ed$0$25043$
> Au cas ou tu programmes en vb6...
>
> le code dans le timer1
> text1.text = text1.text + 1
> if text1.text = 10 then text1.text = 1
>
> pour lancer
> timer1.interval = 5000
> pour arrêter
> timer1.interval = 0
>
> "Christophe" a
> écrit dans le message de news:
>
>> Bonjour,
>>
>> Voilà , dans un objet "TextBox" j'aimerai faire
>> apparaitre automatiquement à
>> l'aide d'un bouton les nombres de 1 à 10 toutes les
>> 5secondes à l'aide d'une
>> boucle ! !
>>
>> Je me sens plutot perdu quand au commencement de ce bout
>> de programme.
>>
>> Si quelqu'un peut me mettre sur la vie !
>> --
>> Merci pour vos réponses ! ! !
>
>




Avatar
Zoury
> Par contre timer1.enabled = False terminera tout de suite le Timer
court-circuitant le cycle dans lequel il se trouve. La nuance est énorme


!

ah oui ?! J'devrai retester tout ça .. mes derniers tests me donnait le même
résultat. l'interval testé était sans doute trop petit. :O/

DÉSOLÉ LE TROLL (je sens qu'il va encore chialer ;O)

--
Cordialement
Yanick
MVP pour Visual Basic
Avatar
LE TROLL
Hé Yannick,

Nonobstant ce que dit Guy, interval c'est un délai,
enabled un état, de facto, il est plus logique erga omnes,
d'utiliser "enabled", c'est fait pour ça!

Mais Guy a raison, car si le Timer est dans son cycle,
dans sa procédure, il continue de finir son décompte, alors
qu'avec enabled il s'arrête.
Pendant que tu y es, tu peux aussi l'arrêter en coupant le
courant! C'est comme une voiture, tu peux l'arrêter en
freinant, ou en rentrant dans un mur, le résultat lato sensu
est le même!

Le vérifier est difficile, car ça dépend à quel moment
du cycle c'est arrêté, et aussi la durée de ce dernier,
alors tes comparaisons et teste, bof...

D'un autre côté c'est bien, tu vérifies toutes mes
réponses, c'est gentil, t'es même trop gentil, tu dois être
malade :o)
------------

"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le
message de news:
Par contre timer1.enabled = False terminera tout de suite
le Timer
court-circuitant le cycle dans lequel il se trouve. La
nuance est énorme


!

ah oui ?! J'devrai retester tout ça .. mes derniers tests
me donnait le même
résultat. l'interval testé était sans doute trop petit.
:O/

DÉSOLÉ LE TROLL (je sens qu'il va encore chialer ;O)

--
Cordialement
Yanick
MVP pour Visual Basic




Avatar
LE TROLL
Ben voui, au lieu d'enfoncer le clou dans la planche, on
peut enfoncer la planche dans le clou, mais bon...
------------------

"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le
message de news: uG%
PTI, les deux façon procéder sont équivalentes. Un
interval de 0 fait en
sorte que le timer se déclenche à chaque 0 ms soit jamais.

--
Cordialement
Yanick
MVP pour Visual Basic
"LE TROLL" <le a écrit dans le message de
news:
Pour lancer et arrêter le Timer, c'est pas
tellement

intervalP00, interval = 0

Mais plutôt enabled=true, enabledúlse...

Tu crois pas :o)
---------------------

"Yoann" a écrit dans le
message
de news: 4273e0ed$0$25043$
> Au cas ou tu programmes en vb6...
>
> le code dans le timer1
> text1.text = text1.text + 1
> if text1.text = 10 then text1.text = 1
>
> pour lancer
> timer1.interval = 5000
> pour arrêter
> timer1.interval = 0
>
> "Christophe" a
> écrit dans le message de news:
>
>> Bonjour,
>>
>> Voilà , dans un objet "TextBox" j'aimerai faire
>> apparaitre automatiquement à
>> l'aide d'un bouton les nombres de 1 à 10 toutes les
>> 5secondes à l'aide d'une
>> boucle ! !
>>
>> Je me sens plutot perdu quand au commencement de ce
>> bout
>> de programme.
>>
>> Si quelqu'un peut me mettre sur la vie !
>> --
>> Merci pour vos réponses ! ! !
>
>








1 2