Bonjour,
comme indiqu=E9 dans le titre j'ai un probleme avec un code qui comporte
une fonction Timer...
ce code est cens=E9 , lorsque l'on clique sur une commande et que la
valeur de Label2.Caption (issue d'un Hscroll) <750, lancer un timer
qui fais augmenter progressivement la valeur du Label2.Caption. De l=E0,
j'ajoute dans la boucle un changement de contraste sur l'image qui
d=E9pend de Label2.Caption.
Probleme:Quand le programme se lance il ne change qu'un fois de
valeur (la valeur initiale quadn je clique sur command20)
Qu'est ce qui ne marche pas ?Timer , ma boucle?
---------------------------------------------------------------------------=
----------
Private Sub Command20_Click()
If Label2.Caption < 750 Then
Call Timer1_Timer
Beep
Timer1.Interval =3D i
For i =3D 0 To i =3D 650000 Step 50
Label2.Caption =3D Label2.Caption + i * 250 / 65000
Contraster Form1.ImageCopieOrigine, Form1.ImageOrigine,
Form1.HScroll1.Value
AjusterImageACadre Form1.ImageCopieOrigine,
Form1.ImageAffichee, Form1.ImageContenant
Next i
End If
End Sub
---------------------------------------------------------------------------=
-------------------
Le meilleur conseil à te donner est de lire la doc de l'objet Timer, que dire de plus ?
Voici un programme qui fait ce que tu veux faire: 1) Créer un nouveau projet 2) Mettre sur la forme: - un CommandButton - Un Timer - Un Label 3) Copier ce code
Option Explicit
Private Sub Command1_Click() Dim tempo As Integer
tempo = 2 ' 2 secondes entre chaque update Timer1.Interval = tempo * 1000 Timer1.Enabled = True
End Sub
Private Sub Form_Load() Timer1.Enabled = False Label1.Caption = "PAS DEMARRE" End Sub
Private Sub Timer1_Timer() Static n As Long n = n + 1 Label1.Caption = "COUCOU " & n ' 5 fois en tout. If n = 5 Then n = 0 Timer1.Enabled = False Label1.Caption = "fini" End If End Sub
4) Exécuter
Si tu comprends comment fonctionne ce code, alors ton problème est réglé.
Si non, il faut acheter: - un livre de programmation - Un livre sur Visual Basic 6
Bonne prog!
-- Jean-marc
<latouffe59@gmail.com> wrote in message
news:1177495767.818945.115490@s33g2000prh.googlegroups.com...
Hello,
[snip le code]
Vous pensez qu'un tel code peut fonctionner?
Non.
Les timer ne fonctionnent pas comme ça.
Le meilleur conseil à te donner est de lire
la doc de l'objet Timer, que dire de plus ?
Voici un programme qui fait ce que tu veux faire:
1) Créer un nouveau projet
2) Mettre sur la forme:
- un CommandButton
- Un Timer
- Un Label
3) Copier ce code
Option Explicit
Private Sub Command1_Click()
Dim tempo As Integer
tempo = 2 ' 2 secondes entre chaque update
Timer1.Interval = tempo * 1000
Timer1.Enabled = True
End Sub
Private Sub Form_Load()
Timer1.Enabled = False
Label1.Caption = "PAS DEMARRE"
End Sub
Private Sub Timer1_Timer()
Static n As Long
n = n + 1
Label1.Caption = "COUCOU " & n
' 5 fois en tout.
If n = 5 Then
n = 0
Timer1.Enabled = False
Label1.Caption = "fini"
End If
End Sub
4) Exécuter
Si tu comprends comment fonctionne ce code,
alors ton problème est réglé.
Si non, il faut acheter:
- un livre de programmation
- Un livre sur Visual Basic 6
Le meilleur conseil à te donner est de lire la doc de l'objet Timer, que dire de plus ?
Voici un programme qui fait ce que tu veux faire: 1) Créer un nouveau projet 2) Mettre sur la forme: - un CommandButton - Un Timer - Un Label 3) Copier ce code
Option Explicit
Private Sub Command1_Click() Dim tempo As Integer
tempo = 2 ' 2 secondes entre chaque update Timer1.Interval = tempo * 1000 Timer1.Enabled = True
End Sub
Private Sub Form_Load() Timer1.Enabled = False Label1.Caption = "PAS DEMARRE" End Sub
Private Sub Timer1_Timer() Static n As Long n = n + 1 Label1.Caption = "COUCOU " & n ' 5 fois en tout. If n = 5 Then n = 0 Timer1.Enabled = False Label1.Caption = "fini" End If End Sub
4) Exécuter
Si tu comprends comment fonctionne ce code, alors ton problème est réglé.
Si non, il faut acheter: - un livre de programmation - Un livre sur Visual Basic 6
Bonne prog!
-- Jean-marc
Driss HANIB
a écrit dans le message de news:
dans ton timer tu définis la proriété 'interval' à ce que tu veux : comme dit JMarc, i n'a aucune valeur définie dasn ton prog : elle doit correspondre au temps que tu veux laisser entre deux çncrémentations de
ton
label.
Ouai j'ai pas défini i mais c'était juste un code" brouillon" pour l'idée ...
Oui mais il faut mettre ton incrémentation de la valeur du label dans l'évènement Timer1_timer du style
if cint(label2.caption) < 750 then label2.caption= cstr(cint(label2.caption)+1) else timer1.enabledúlse end if
if te suffit de mettre la valeur "interval" de ton timer à ce que tu veux
et dans ton bouton command tu ecris
Timer1.enabled=true
et c'est bon..
Ceci dit quelles sont les parties qui modifient auparavant ton label..?
Driss
Ah que ?qui? doù? dont? quoi???...???
je n'ai pas compris ce que tu me demandais ....Pourrais tu etre plus explicitite?
OK je n'avais pas bien lu .. :"valeur de Label2.Caption (issue d'un Hscroll) <750"
Driss
<latouffe59@gmail.com> a écrit dans le message de
news:1177495767.818945.115490@s33g2000prh.googlegroups.com...
dans ton timer tu définis la proriété 'interval' à ce que tu veux : comme
dit JMarc, i n'a aucune valeur définie dasn ton prog : elle doit
correspondre au temps que tu veux laisser entre deux çncrémentations de
ton
label.
Ouai j'ai pas défini i mais c'était juste un code" brouillon" pour
l'idée ...
Oui mais il faut mettre ton incrémentation de la valeur du label dans
l'évènement Timer1_timer du style
if cint(label2.caption) < 750 then
label2.caption= cstr(cint(label2.caption)+1)
else
timer1.enabledúlse
end if
if te suffit de mettre la valeur "interval" de ton timer à ce que tu veux
et dans ton bouton command tu ecris
Timer1.enabled=true
et c'est bon..
Ceci dit quelles sont les parties qui modifient auparavant ton label..?
Driss
Ah que ?qui? doù? dont? quoi???...???
je n'ai pas compris ce que tu me demandais ....Pourrais tu etre plus
explicitite?
OK je n'avais pas bien lu .. :"valeur de Label2.Caption (issue d'un
Hscroll) <750"
dans ton timer tu définis la proriété 'interval' à ce que tu veux : comme dit JMarc, i n'a aucune valeur définie dasn ton prog : elle doit correspondre au temps que tu veux laisser entre deux çncrémentations de
ton
label.
Ouai j'ai pas défini i mais c'était juste un code" brouillon" pour l'idée ...
Oui mais il faut mettre ton incrémentation de la valeur du label dans l'évènement Timer1_timer du style
if cint(label2.caption) < 750 then label2.caption= cstr(cint(label2.caption)+1) else timer1.enabledúlse end if
if te suffit de mettre la valeur "interval" de ton timer à ce que tu veux
et dans ton bouton command tu ecris
Timer1.enabled=true
et c'est bon..
Ceci dit quelles sont les parties qui modifient auparavant ton label..?
Driss
Ah que ?qui? doù? dont? quoi???...???
je n'ai pas compris ce que tu me demandais ....Pourrais tu etre plus explicitite?
OK je n'avais pas bien lu .. :"valeur de Label2.Caption (issue d'un Hscroll) <750"
Driss
PierreVal
Désolé j'ai du prendre le pseudo de mon binome car le mien ne fonctionne plus
dit JMarc, i n'a aucune valeur définie dasn ton prog :
Je comptais faire un simple "DIM i AS long" masi je l'ai pas mis dans cette exemple-brouillon
Ceci dit quelles sont les parties qui modifient auparavant ton label..?
Driss
???????????????? pourrais tu être plus explicite?Car là j'ai pas du tout compris ta question....
Sinon on m'a conseiller d'utiliser l'heure, d etranscrire sa valeur en numérique et d'utiliser cette dernière dasn une boucle For avec un step...
-------------------------------------------------
Désolé j'ai du prendre le pseudo de mon binome car le mien ne
fonctionne plus
dit JMarc, i n'a aucune valeur définie dasn ton prog :
Je comptais faire un simple "DIM i AS long" masi je l'ai pas mis dans
cette exemple-brouillon
Ceci dit quelles sont les parties qui modifient auparavant ton label..?
Driss
????????????????
pourrais tu être plus explicite?Car là j'ai pas du tout compris ta
question....
Sinon on m'a conseiller d'utiliser l'heure, d etranscrire sa valeur en
numérique et d'utiliser cette dernière dasn une boucle For avec un
step...
Désolé j'ai du prendre le pseudo de mon binome car le mien ne fonctionne plus
dit JMarc, i n'a aucune valeur définie dasn ton prog :
Je comptais faire un simple "DIM i AS long" masi je l'ai pas mis dans cette exemple-brouillon
Ceci dit quelles sont les parties qui modifient auparavant ton label..?
Driss
???????????????? pourrais tu être plus explicite?Car là j'ai pas du tout compris ta question....
Sinon on m'a conseiller d'utiliser l'heure, d etranscrire sa valeur en numérique et d'utiliser cette dernière dasn une boucle For avec un step...
-------------------------------------------------
Patrice Henrio
le style de latouffe59 me rappelle quelqu'un mais pas moyen de me souvenir qui !
"Driss HANIB" a écrit dans le message de news:
a écrit dans le message de news:
dans ton timer tu définis la proriété 'interval' à ce que tu veux : comme dit JMarc, i n'a aucune valeur définie dasn ton prog : elle doit correspondre au temps que tu veux laisser entre deux çncrémentations de
ton
label.
Ouai j'ai pas défini i mais c'était juste un code" brouillon" pour l'idée ...
Oui mais il faut mettre ton incrémentation de la valeur du label dans l'évènement Timer1_timer du style
if cint(label2.caption) < 750 then label2.caption= cstr(cint(label2.caption)+1) else timer1.enabledúlse end if
if te suffit de mettre la valeur "interval" de ton timer à ce que tu veux
et dans ton bouton command tu ecris
Timer1.enabled=true
et c'est bon..
Ceci dit quelles sont les parties qui modifient auparavant ton label..?
Driss
Ah que ?qui? doù? dont? quoi???...???
je n'ai pas compris ce que tu me demandais ....Pourrais tu etre plus explicitite?
OK je n'avais pas bien lu .. :"valeur de Label2.Caption (issue d'un Hscroll) <750"
Driss
le style de latouffe59 me rappelle quelqu'un mais pas moyen de me souvenir
qui !
"Driss HANIB" <dhanib@club-internet.fr> a écrit dans le message de news:
OASqleyhHHA.4596@TK2MSFTNGP05.phx.gbl...
<latouffe59@gmail.com> a écrit dans le message de
news:1177495767.818945.115490@s33g2000prh.googlegroups.com...
dans ton timer tu définis la proriété 'interval' à ce que tu veux : comme
dit JMarc, i n'a aucune valeur définie dasn ton prog : elle doit
correspondre au temps que tu veux laisser entre deux çncrémentations de
ton
label.
Ouai j'ai pas défini i mais c'était juste un code" brouillon" pour
l'idée ...
Oui mais il faut mettre ton incrémentation de la valeur du label dans
l'évènement Timer1_timer du style
if cint(label2.caption) < 750 then
label2.caption= cstr(cint(label2.caption)+1)
else
timer1.enabledúlse
end if
if te suffit de mettre la valeur "interval" de ton timer à ce que tu veux
et dans ton bouton command tu ecris
Timer1.enabled=true
et c'est bon..
Ceci dit quelles sont les parties qui modifient auparavant ton label..?
Driss
Ah que ?qui? doù? dont? quoi???...???
je n'ai pas compris ce que tu me demandais ....Pourrais tu etre plus
explicitite?
OK je n'avais pas bien lu .. :"valeur de Label2.Caption (issue d'un
Hscroll) <750"
le style de latouffe59 me rappelle quelqu'un mais pas moyen de me souvenir qui !
"Driss HANIB" a écrit dans le message de news:
a écrit dans le message de news:
dans ton timer tu définis la proriété 'interval' à ce que tu veux : comme dit JMarc, i n'a aucune valeur définie dasn ton prog : elle doit correspondre au temps que tu veux laisser entre deux çncrémentations de
ton
label.
Ouai j'ai pas défini i mais c'était juste un code" brouillon" pour l'idée ...
Oui mais il faut mettre ton incrémentation de la valeur du label dans l'évènement Timer1_timer du style
if cint(label2.caption) < 750 then label2.caption= cstr(cint(label2.caption)+1) else timer1.enabledúlse end if
if te suffit de mettre la valeur "interval" de ton timer à ce que tu veux
et dans ton bouton command tu ecris
Timer1.enabled=true
et c'est bon..
Ceci dit quelles sont les parties qui modifient auparavant ton label..?
Driss
Ah que ?qui? doù? dont? quoi???...???
je n'ai pas compris ce que tu me demandais ....Pourrais tu etre plus explicitite?
OK je n'avais pas bien lu .. :"valeur de Label2.Caption (issue d'un Hscroll) <750"
Driss
latouffe59
Oups désolé pour les posts à répéte masi je pensais que c'était le PC du CHR ou leur réseau qui bugait vu que c'est déja arrivé.....
Merci à Driss et jean Marcq pour les infos je vais travailler ça dès aujourd'hui ............
le style de latouffe59 me rappelle quelqu'un mais pas moyen de me souvenir
qui ! euhhhh j'peux pas t'aider là....L'autre stagiaire, Pierreval peut être vu qu'on à la même logique des choses et surtout le même niveau en VB (sisi on peut appeler ça un niveau)
Latouffe59
Oups désolé pour les posts à répéte masi je pensais que c'était le PC
du CHR ou leur réseau qui bugait vu que c'est déja arrivé.....
Merci à Driss et jean Marcq pour les infos je vais travailler ça dès
aujourd'hui ............
le style de latouffe59 me rappelle quelqu'un mais pas moyen de me souvenir
qui !
euhhhh j'peux pas t'aider là....L'autre stagiaire, Pierreval peut être
vu qu'on à la même logique des choses et surtout le même niveau en VB
(sisi on peut appeler ça un niveau)
Oups désolé pour les posts à répéte masi je pensais que c'était le PC du CHR ou leur réseau qui bugait vu que c'est déja arrivé.....
Merci à Driss et jean Marcq pour les infos je vais travailler ça dès aujourd'hui ............
le style de latouffe59 me rappelle quelqu'un mais pas moyen de me souvenir
qui ! euhhhh j'peux pas t'aider là....L'autre stagiaire, Pierreval peut être vu qu'on à la même logique des choses et surtout le même niveau en VB (sisi on peut appeler ça un niveau)
Latouffe59
latouffe59
Ahh merci mille et une fois!! mon programme fonctionne quasiment à merveille! pourquoi quasiment? Et bien quand je met la boucle ****If n <E0 Then timer.Enbaleúlse**** juste après le ****Static n As Long***** mon programme ne veut plus fonctionner même si je met le reste du code dans un ****Else*****
Mais bon je suis pas à ca prés.....
Encore merci de vos aides latouffe59
Ahh
merci mille et une fois!!
mon programme fonctionne quasiment à merveille!
pourquoi quasiment?
Et bien quand je met la boucle ****If n <=450 Then
timer.Enbale=false****
juste après le ****Static n As Long***** mon programme ne veut plus
fonctionner même si je met le reste du code dans un ****Else*****
Ahh merci mille et une fois!! mon programme fonctionne quasiment à merveille! pourquoi quasiment? Et bien quand je met la boucle ****If n <E0 Then timer.Enbaleúlse**** juste après le ****Static n As Long***** mon programme ne veut plus fonctionner même si je met le reste du code dans un ****Else*****
Mais bon je suis pas à ca prés.....
Encore merci de vos aides latouffe59
Patrice Henrio
il y a plus simple
timer.enable=(n>450)
a écrit dans le message de news:
Ahh merci mille et une fois!! mon programme fonctionne quasiment à merveille! pourquoi quasiment? Et bien quand je met la boucle ****If n <E0 Then timer.Enbaleúlse**** juste après le ****Static n As Long***** mon programme ne veut plus fonctionner même si je met le reste du code dans un ****Else*****
Mais bon je suis pas à ca prés.....
Encore merci de vos aides latouffe59
il y a plus simple
timer.enable=(n>450)
<latouffe59@gmail.com> a écrit dans le message de news:
1177577208.431573.93590@r3g2000prh.googlegroups.com...
Ahh
merci mille et une fois!!
mon programme fonctionne quasiment à merveille!
pourquoi quasiment?
Et bien quand je met la boucle ****If n <E0 Then
timer.Enbaleúlse****
juste après le ****Static n As Long***** mon programme ne veut plus
fonctionner même si je met le reste du code dans un ****Else*****
Ahh merci mille et une fois!! mon programme fonctionne quasiment à merveille! pourquoi quasiment? Et bien quand je met la boucle ****If n <E0 Then timer.Enbaleúlse**** juste après le ****Static n As Long***** mon programme ne veut plus fonctionner même si je met le reste du code dans un ****Else*****
Mais bon je suis pas à ca prés.....
Encore merci de vos aides latouffe59
latouffe59
On 26 avr, 13:43, "Patrice Henrio" wrote:
il y a plus simple
timer.enable=(n>450)
mais tu n'indique pas qu'il faut le mettre false ton timer la!!! Si? je vois pas bien à quoi sert cette commande >> mettre le timer enable à n quand celui ci est <à 450
On 26 avr, 13:43, "Patrice Henrio" <patrice.hen...@laposte.net> wrote:
il y a plus simple
timer.enable=(n>450)
mais tu n'indique pas qu'il faut le mettre false ton timer la!!!
Si? je vois pas bien à quoi sert cette commande >> mettre le timer
enable à n quand celui ci est <à 450
mais tu n'indique pas qu'il faut le mettre false ton timer la!!! Si? je vois pas bien à quoi sert cette commande >> mettre le timer enable à n quand celui ci est <à 450
Vincent Guichard
a écrit :
On 26 avr, 13:43, "Patrice Henrio" wrote:
il y a plus simple
timer.enable=(n>450)
mais tu n'indique pas qu'il faut le mettre false ton timer la!!! Si? je vois pas bien à quoi sert cette commande >> mettre le timer enable à n quand celui ci est <à 450
la ligne: timer.enable = (n>450) s'évalue ainsi: d'abord le programme évalue (n>450), puis affecte le réfultat de cette évaluation ) timer.enable
donc si n>450, (n>450) est Vrai (True) et si n<E0, (n>450) est Faux (False)
donc cela reviens à écrire en une seule ligne:
if n>450 then timer.enable = True else timer.enable = False End If
ou encore:
timer.enable = Iif(n>450, True, False)
Vincent Guichard
latouffe59@gmail.com a écrit :
On 26 avr, 13:43, "Patrice Henrio" <patrice.hen...@laposte.net> wrote:
il y a plus simple
timer.enable=(n>450)
mais tu n'indique pas qu'il faut le mettre false ton timer la!!!
Si? je vois pas bien à quoi sert cette commande >> mettre le timer
enable à n quand celui ci est <à 450
la ligne:
timer.enable = (n>450)
s'évalue ainsi:
d'abord le programme évalue (n>450), puis affecte le réfultat de cette
évaluation ) timer.enable
donc si n>450, (n>450) est Vrai (True)
et si n<E0, (n>450) est Faux (False)
donc cela reviens à écrire en une seule ligne:
if n>450 then
timer.enable = True
else
timer.enable = False
End If
mais tu n'indique pas qu'il faut le mettre false ton timer la!!! Si? je vois pas bien à quoi sert cette commande >> mettre le timer enable à n quand celui ci est <à 450
la ligne: timer.enable = (n>450) s'évalue ainsi: d'abord le programme évalue (n>450), puis affecte le réfultat de cette évaluation ) timer.enable
donc si n>450, (n>450) est Vrai (True) et si n<E0, (n>450) est Faux (False)
donc cela reviens à écrire en une seule ligne:
if n>450 then timer.enable = True else timer.enable = False End If
ou encore:
timer.enable = Iif(n>450, True, False)
Vincent Guichard
latouffe59
Ahhh ok!! merci de l'info .......
mais ne t'es tu pas trompé en mettant "lif" au lieu de "if"? Et le (true, false) en VB6 n'est il pas la valeur par défaut? je dis ca car Patrice Henrio ne l'a pas mis!
latouffe59
Ahhh ok!!
merci de l'info .......
mais ne t'es tu pas trompé en mettant "lif" au lieu de "if"?
Et le (true, false) en VB6 n'est il pas la valeur par défaut? je dis
ca car Patrice Henrio ne l'a pas mis!
mais ne t'es tu pas trompé en mettant "lif" au lieu de "if"? Et le (true, false) en VB6 n'est il pas la valeur par défaut? je dis ca car Patrice Henrio ne l'a pas mis!