Bonjour,
Je voudrais savoir comment faire pour attendre au milieu d'une fonction.
Je m'explique:
J'ai un evenenement click avec une boucle (do while). Et je voudrais pouvoir
faire une pause a chaque boucle en attendant une action de l utilisateur qui
serait un otre evenement clic.
merci
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
François Picalausa
"Achile" a écrit dans le message de news:
Bonjour, Je voudrais savoir comment faire pour attendre au milieu d'une fonction. Je m'explique: J'ai un evenenement click avec une boucle (do while). Et je voudrais pouvoir faire une pause a chaque boucle en attendant une action de l utilisateur qui serait un otre evenement clic. merci
Bonjour/soir,
Tu peux utiliser doevents et tester une variable privée de l'objet qui changerait en même temps que le click.
Mais cette approche me semble consomatrice en processeur. Pour bien faire, ta procédure devrait s'arrêter et le click suivant lancer une autre procédure.
"Achile" <Achile@inf.fr> a écrit dans le message de
news:uMO1IQbuDHA.2308@TK2MSFTNGP09.phx.gbl
Bonjour,
Je voudrais savoir comment faire pour attendre au milieu d'une
fonction.
Je m'explique:
J'ai un evenenement click avec une boucle (do while). Et je voudrais
pouvoir faire une pause a chaque boucle en attendant une action de l
utilisateur qui serait un otre evenement clic.
merci
Bonjour/soir,
Tu peux utiliser doevents et tester une variable privée de l'objet qui
changerait en même temps que le click.
Mais cette approche me semble consomatrice en processeur.
Pour bien faire, ta procédure devrait s'arrêter et le click suivant lancer
une autre procédure.
Bonjour, Je voudrais savoir comment faire pour attendre au milieu d'une fonction. Je m'explique: J'ai un evenenement click avec une boucle (do while). Et je voudrais pouvoir faire une pause a chaque boucle en attendant une action de l utilisateur qui serait un otre evenement clic. merci
Bonjour/soir,
Tu peux utiliser doevents et tester une variable privée de l'objet qui changerait en même temps que le click.
Mais cette approche me semble consomatrice en processeur. Pour bien faire, ta procédure devrait s'arrêter et le click suivant lancer une autre procédure.
-- __________________________________ Tchao.net: L'informatique à votre dimension www.tchao.net Pour toute réponse, retirer le .nospam de l'adresse mail ou cliquez ici http://cerbermail.com/?6nQ9U2fpkD
"Achile" a écrit dans le message de news:
Bonjour, Je voudrais savoir comment faire pour attendre au milieu d'une fonction. Je m'explique: J'ai un evenenement click avec une boucle (do while). Et je voudrais
pouvoir
faire une pause a chaque boucle en attendant une action de l utilisateur
qui
serait un otre evenement clic. merci
Salut ;O)
Tu mets un DoEvents dans ta boucle...
Guy
--
__________________________________
Tchao.net: L'informatique à votre dimension
www.tchao.net
Pour toute réponse, retirer le .nospam de l'adresse mail
ou cliquez ici http://cerbermail.com/?6nQ9U2fpkD
"Achile" <Achile@inf.fr> a écrit dans le message de
news:uMO1IQbuDHA.2308@TK2MSFTNGP09.phx.gbl...
Bonjour,
Je voudrais savoir comment faire pour attendre au milieu d'une fonction.
Je m'explique:
J'ai un evenenement click avec une boucle (do while). Et je voudrais
pouvoir
faire une pause a chaque boucle en attendant une action de l utilisateur
-- __________________________________ Tchao.net: L'informatique à votre dimension www.tchao.net Pour toute réponse, retirer le .nospam de l'adresse mail ou cliquez ici http://cerbermail.com/?6nQ9U2fpkD
"Achile" a écrit dans le message de news:
Bonjour, Je voudrais savoir comment faire pour attendre au milieu d'une fonction. Je m'explique: J'ai un evenenement click avec une boucle (do while). Et je voudrais
pouvoir
faire une pause a chaque boucle en attendant une action de l utilisateur
qui
serait un otre evenement clic. merci
Zoury
> Mais cette approche me semble consomatrice en processeur. Pour bien faire, ta procédure devrait s'arrêter et le click suivant lancer une autre procédure.
ou la même.. ;O)
Voici un exemple '*** ' Form1 Option Explicit
Private Sub Command1_Click() Call StartFlash(Picture1) End Sub
Private Sub Command2_Click() Call StopFlash End Sub
Private Sub Form_Load() Call Randomize Call SetControlsPosition End Sub
Private Sub SetControlsPosition() Call Me.Move(2640, 3480, 9285, 7170) Call Picture1.Move(120, 120, 8895, 5895) Call Command2.Move(1440, 6120, 1215, 375) Call Command1.Move(120, 6120, 1215, 375) End Sub
Private Sub Form_Unload(Cancel As Integer) Call StopFlash End Sub
' Module1 Option Explicit
Private Declare Function Sleep _ Lib "kernel32" _ ( _ ByVal dwMilliseconds As Long _ ) As Long
Private m_bFlashActivated As Boolean
Private Sub Flash(ByRef pic As PictureBox)
' On boucle tant que m_bFlashActivated est vrai Do While m_bFlashActivated
' modifie la couleur de background pic.BackColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
' permet l'exécution des ' messages stockés dans ' la pile de messages DoEvents
' donne une pause au CPU. ' sans cette ligne, ' l'utilisation de ton ' processeur grimpera à 100% Call Sleep(10)
Loop
End Sub
Public Sub StartFlash(ByRef pic As PictureBox) m_bFlashActivated = True Call Flash(pic) End Sub
Public Sub StopFlash() m_bFlashActivated = False End Sub '***
Merci de poster les réponses au groupe afin d'en faire profiter à tous
> Mais cette approche me semble consomatrice en processeur.
Pour bien faire, ta procédure devrait s'arrêter et le click suivant lancer
une autre procédure.
ou la même.. ;O)
Voici un exemple
'***
' Form1
Option Explicit
Private Sub Command1_Click()
Call StartFlash(Picture1)
End Sub
Private Sub Command2_Click()
Call StopFlash
End Sub
Private Sub Form_Load()
Call Randomize
Call SetControlsPosition
End Sub
Private Sub SetControlsPosition()
Call Me.Move(2640, 3480, 9285, 7170)
Call Picture1.Move(120, 120, 8895, 5895)
Call Command2.Move(1440, 6120, 1215, 375)
Call Command1.Move(120, 6120, 1215, 375)
End Sub
Private Sub Form_Unload(Cancel As Integer)
Call StopFlash
End Sub
' Module1
Option Explicit
Private Declare Function Sleep _
Lib "kernel32" _
( _
ByVal dwMilliseconds As Long _
) As Long
Private m_bFlashActivated As Boolean
Private Sub Flash(ByRef pic As PictureBox)
' On boucle tant que m_bFlashActivated est vrai
Do While m_bFlashActivated
' modifie la couleur de background
pic.BackColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
' permet l'exécution des
' messages stockés dans
' la pile de messages
DoEvents
' donne une pause au CPU.
' sans cette ligne,
' l'utilisation de ton
' processeur grimpera à 100%
Call Sleep(10)
Loop
End Sub
Public Sub StartFlash(ByRef pic As PictureBox)
m_bFlashActivated = True
Call Flash(pic)
End Sub
Public Sub StopFlash()
m_bFlashActivated = False
End Sub
'***
> Mais cette approche me semble consomatrice en processeur. Pour bien faire, ta procédure devrait s'arrêter et le click suivant lancer une autre procédure.
ou la même.. ;O)
Voici un exemple '*** ' Form1 Option Explicit
Private Sub Command1_Click() Call StartFlash(Picture1) End Sub
Private Sub Command2_Click() Call StopFlash End Sub
Private Sub Form_Load() Call Randomize Call SetControlsPosition End Sub
Private Sub SetControlsPosition() Call Me.Move(2640, 3480, 9285, 7170) Call Picture1.Move(120, 120, 8895, 5895) Call Command2.Move(1440, 6120, 1215, 375) Call Command1.Move(120, 6120, 1215, 375) End Sub
Private Sub Form_Unload(Cancel As Integer) Call StopFlash End Sub
' Module1 Option Explicit
Private Declare Function Sleep _ Lib "kernel32" _ ( _ ByVal dwMilliseconds As Long _ ) As Long
Private m_bFlashActivated As Boolean
Private Sub Flash(ByRef pic As PictureBox)
' On boucle tant que m_bFlashActivated est vrai Do While m_bFlashActivated
' modifie la couleur de background pic.BackColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
' permet l'exécution des ' messages stockés dans ' la pile de messages DoEvents
' donne une pause au CPU. ' sans cette ligne, ' l'utilisation de ton ' processeur grimpera à 100% Call Sleep(10)
Loop
End Sub
Public Sub StartFlash(ByRef pic As PictureBox) m_bFlashActivated = True Call Flash(pic) End Sub
Public Sub StopFlash() m_bFlashActivated = False End Sub '***