Vianneyp
Messages postés82Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 2010
-
1 mai 2007 à 12:37
jmfmarques
Messages postés7668Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 2014
-
1 mai 2007 à 22:53
Bonjours,
Je souhaiterai qu'un label se remplisse progressivement comme dans bon nombre de jeux.
Plutot que d'utiliser une 20aine de Timer je me suis dit qu'il valait mieux utiliser l'instruction Sleep:
Label.Caption = "a"
Sleep X
Label.Caption = "ab"
Sleep X
Label.Caption = "abc"
ect...
Cepandent il semblerai que Sleep "paralyse" totalement le programme.Durant la temporisation,impossible de clique ou que ce soit,d'ecrit ou meme de déplacer la fenêtre...
Le programme reste donc figé jusque a ce que le label soit entiérement remplit par la texte désiré.
L'utilité de ce code se retrouve donc réduite a...néant.
Admettons que l'on écrive Sleep 30000,le programme restera initulisable pendant 30 secs ?
Aucune autre procédure ne peut elle pas étre appelé tant que Sleep "comptabilise" ?
Ou est-ce moi qui fait qqch de travers ?
Merci d'avance pour vos éclairecicements
Vianneyp
Messages postés82Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 2010 1 mai 2007 à 12:51
C'est exactement ce que j'ai fait.
Si je n'avait pas déclaré l' API Vb ne m'aurai pas laisser compiler le projet.
Non mon probléme est différent car l'instruction Sleep fonctionne trés bien,un peu tro meme puisque si par exemple je met dans une procédure quelquonque :
Sleep 30000
Durant 30 secs le programme ne réagira plus a rien...Mon ordinateur posséde 1024DDR je ne pense donc pas que la memoire en soit la cause...
Je voudrao juste que Windows marque un temps de pause la ou je place Sleep avant de continuer la procédure,non qu'il me "pause" tout le programme vous voyez ce que je veut dire ?
jmfmarques
Messages postés7668Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 1 mai 2007 à 22:53
Private Sub Command1_Click()
toto = "voilà donc"
Label1.Caption = ""
For i = 1 To Len(toto)
Label1.Caption = Label1.Caption & Mid(toto, i, 1)
attente 0.3 'règle ici le "pas" que tu veux
Next
End Sub
Private Sub attente(duree)
depart = Timer
While Timer < depart + duree
DoEvents
Wend
End Sub