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 ........