Comment faire une pause dans le programme ? [visual basic 6] - Programmation
Marsh Posté le 18-11-2001 à 19:35:57
Salut !
Je crois que c'est "sleep" suivi du temps à attendre (en ms) qui permet de faire une pause.
PS : je t'amène les CD de doc mardi.
[edtdd]--Message édité par JBM--[/edtdd]
Marsh Posté le 19-11-2001 à 12:37:58
comprends pas , le compilateur dit :
Procedure Sub ou Function non definie
il y a un truc a definir ???
ps: il faut peut etre que je recompile le noyau non ?
Marsh Posté le 19-11-2001 à 13:30:30
je crois pas que ce soit une bonne solution (si ele marche !)
tu ne doit pas bloquer ton programme a un endroit comme tu le ferais avec un sleep : ton programme n'est pas sequentiel mais evenementiel
si tu fais ca, ca va bloquer tout ton programme (il va etre "gele" ) pdt le temps d'attente
et en plus tu monopolises le processeur pour rien
essai plutot une solution a base de timer
Marsh Posté le 19-11-2001 à 14:22:17
CaMarchePoa a écrit a écrit : comprends pas , le compilateur dit : Procedure Sub ou Function non definie il y a un truc a definir ??? ps: il faut peut etre que je recompile le noyau non ? |
C'est normal, il faut déclarer la fonction qui fait appel à l'API kernel32 en fait :
Code :
|
Mais c'est vrai que c'est peut être pas la meilleure solution puisque tout le programme est endormi. Essaie la solution d'HelloWorld
Marsh Posté le 19-11-2001 à 14:31:46
Etant donne que tu ne connais pas le temps de reponse de ta requete, tu comptes mettre quelle valeur dans ton sleep ???
Je te conseille plutot de boucler sur une requete select SQL qui te permet de savoir QUAND ta base est MAJ
M'enfin ce que j en dis ...
Marsh Posté le 19-11-2001 à 14:37:51
HelloWorld a écrit a écrit : et en plus tu monopolises le processeur pour rien |
sinon essaye Sleep( 0xFFFFFFFF );
Marsh Posté le 19-11-2001 à 15:58:22
je vais essayer le coup du timer
pour l'instant pour que ca marche je fais :
' delai qui permet a la bdd de se mettre a jour
Dim a As Integer
For intCounter = 0 To 10000
a = 0
For inttCpt = 0 To 2500
a = a + 1
Next
Next
' fin du delai
ce qui est un peu bourin vous en conviendrez
Marsh Posté le 19-11-2001 à 16:00:25
Bloodymary_ a écrit a écrit : Etant donne que tu ne connais pas le temps de reponse de ta requete, tu comptes mettre quelle valeur dans ton sleep ??? Je te conseille plutot de boucler sur une requete select SQL qui te permet de savoir QUAND ta base est MAJ M'enfin ce que j en dis ... |
g pas tout compris
comment faire pour savoir qd la base est mise a jour ???????
si tu pouvait etre plus precis ce serrait cool pazque ca semble mieux que le timer qui depends de la vitesse du pc ....
[edtdd]--Message édité par CaMarchePoa--[/edtdd]
Marsh Posté le 19-11-2001 à 16:27:07
TheJackal> bah j'avais pas capte que c'etait un sleep systeme
je pensais que c'etait une fonction genre boucle sans fin ...
Marsh Posté le 19-11-2001 à 16:39:47
Et pourquoi pas :
temps=date+time
do while date+time < temps + 5/1440 '5/1440 = 5 secondes
doevents 'permet de faire autre chose
loop
Le Timer se réinitialise tous les jours à minuit. ça peut être gênant ; grâce à ça, le programme peut fonctionner tout le temps. Mais ça consomme toute la puissance CPU ; voir le post que je viens de poster (un peu pareil que celui là...)
Marsh Posté le 19-11-2001 à 17:11:58
----
g pas tout compris
comment faire pour savoir qd la base est mise a jour ???????
si tu pouvait etre plus precis ce serrait cool pazque ca semble mieux que le timer qui depends de la vitesse du pc ....
----
Ben je sais pas ce que tu fais kom MAJ sur tes donnees mais t as peut etre moyen de lancer une requete(rapide) qui teste que ta MAJ a bien ete effectuee ou pas encore (un nb d enregs avant et apres requete par exemple) ou une recherche sur un enreg precis
ca depend essentiellement de la forme de MAJ que tu fais
Marsh Posté le 19-11-2001 à 17:52:13
ok
comme j'ajoute un enregistrement c facile : je compte leur nb et c bon
c une bonne idee !!
tant que le nb a pas augmente j'attends ...
Marsh Posté le 20-11-2001 à 11:15:48
il faut effectivement utiliser DoEvents, qui permettra alors d'interrompre le pgm ...
Marsh Posté le 20-11-2001 à 11:39:30
le doevents ne fait que rendre la main au systeme
ca ne solutionne rien tout seul
Marsh Posté le 18-11-2001 à 18:50:42
je cherche a faire une pause dans mon programmme
parcequ'il faut attendre un peu avant de rafraichir une datagrid apres avoir modifie la base de donnees a laquelle elle est associee
qq sait-il comment il faut faire ??
j'ai pas trouve de truc genre pause ou wait ...
---------------
Ca marche pas sauf des fois ........