comment faire attendre 5s ... [DELPHI : Poire au autre ] - Programmation
Marsh Posté le 13-03-2002 à 18:40:02
1 sleep ?
Marsh Posté le 13-03-2002 à 18:46:43
SLEEP 
The Sleep function suspends the execution of the current thread for a specified interval.  
 
VOID Sleep( 
 
    DWORD dwMilliseconds  // sleep time in milliseconds  
   );  
  
 
Parameters 
 
dwMilliseconds 
 
Specifies the time, in milliseconds, for which to suspend execution. A value of zero causes the thread to relinquish the remainder of its time slice to any other thread of equal priority that is ready to run. If there are no other threads of equal priority ready to run, the function returns immediately, and the thread continues execution. A value of INFINITE causes an infinite delay.  
 
  
 
Return Values 
 
This function does not return a value.  
 
Remarks 
 
A thread can relinquish the remainder of its time slice by calling this function with a sleep time of zero milliseconds.  
You have to be careful when using Sleep and DDE. If a thread creates any windows, it must process messages. DDE sends messages to all windows in the system. If you have a thread that uses a wait function with no time-out interval, the system will deadlock. Therefore, if you have a thread that creates windows, use MsgWaitForMultipleObjects or MsgWaitForMultipleObjectsEx, rather than Sleep. 
 
See Also 
 
MsgWaitForMultipleObjects, MsgWaitForMultipleObjectsEx, SleepEx  
 
  
 
Marsh Posté le 13-03-2002 à 18:49:37
ça à l'air de marcher : putain t'es trop fort, t'as réponse à tout !
Marsh Posté le 13-03-2002 à 19:12:24
| davidmarli a écrit a écrit  : ça à l'air de marcher : putain t'es trop fort, t'as réponse à tout ! | 
 
lol 
là c'était facil quand même.... 
Et ici il y a des gars bien + fort que moi   
  
  
 
Marsh Posté le 13-03-2002 à 21:18:47
| [SDF]Poire a écrit a écrit  : lol là c'était facil quand même.... Et ici il y a des gars bien + fort que moi     | 
 
 
 
Non, t'es un dieu... le dieu poire... de son prénom williams 
 
Poire williams  ![[:ddr555] [:ddr555]](https://forum-images.hardware.fr/images/perso/ddr555.gif) 
  ![[:super chinois] [:super chinois]](https://forum-images.hardware.fr/images/perso/super chinois.gif) 
 
[jfdsdjhfuetppo]--Message édité par Buitoni--[/jfdsdjhfuetppo]
Marsh Posté le 13-03-2002 à 21:20:27
| Buitoni a écrit a écrit  : Non, t'es un dieu... le dieu poire... de son prénom williams Poire williams ![[:ddr555] [:ddr555]](https://forum-images.hardware.fr/images/perso/ddr555.gif)  ![[:super chinois] [:super chinois]](https://forum-images.hardware.fr/images/perso/super chinois.gif)  | 
 
Non C toi le Dieu   
 
Marsh Posté le 13-03-2002 à 21:28:40
| [SDF]Poire a écrit a écrit  : Non C toi le Dieu   | 
 
 
  
  
 
T'as besoin de quoi? Avoue?   
  
 
 
Au fait, abuser du sleep dans le thread principal, c'est mal. 
Si tu veux utiliser ca pour permettre un affichage de se mettre a jour, ca ne marchera pas, utilises plutot le Application.ProcessMessages, ou a le limite fais 50* un sleep de 10ms, avec un Application.ProcessMessages, pour qu'au moins on ne pense pas que ton application soit freezée. 
Marsh Posté le 13-03-2002 à 21:31:24
Moi G besoin de rien  
 
 
Mais suis dac avec toi Sleep sucks mais G répondu à la question  
 
 
(PS : Buitoni ne me paye po   )
 ) 
Marsh Posté le 14-03-2002 à 08:02:05
Vous permettez que je m'en mêle ? 
 
@davidmarli : Tu nous concoterais pas un retour de la mort qui tue du UDM ? 
Tu peut aussi utiliser les API OpenProcess, WaitForSingleObject  et CloseProcess qui te permettrons d'attendre que le process en question soit terminé (plutôt que d'attendre un délai fixe, si tu attend en fait la fin d'une exécution, genre apparition d'une fenêtre ICCompressorCHosse etc) 
 
Pour la syntaxe, c'est un truc du genre 
 
var 
  ShellID, hHandle: cardinal 
begin 
  ShellID := ShellExecute(...,NotePad.exe,...); 
  hHandle := OpenProcess(..., ShellID,...); 
  WaitForSingleObject(hHandle,INFINITE); 
  CloseProcess(hHandle); 
 
 
Bon, il y a des trous (je connais pas ces fonctions par coeur), mais c'est assez facile à boucher. Par exemple, il y a ce site (même si le code est en VB) : http://www.allapi.net/ 
Marsh Posté le 15-03-2002 à 13:47:51
salut, 
 
bon excusez-moi, mais ces derniers jours je n'ai pas eu accès au net. 
 
Ciler : oui, je prépare LE RETOUR. (le logiciel s'appellera DVD Gold Encoder (quoi, ça fait pompeux comme nom ?, ben...) 
Compression possible en divx 4.12, divx 5, Xvid, et piur le son Mp3, Ac3 Wma, Ogg. 
 
Voilà.  
 
euh sinon Ciler tu m'intéresse, avec ta fonction là! 
 
(euh comment t'as deviné pour le ICCompressorChoose !!! ;-)) 
Marsh Posté le 15-03-2002 à 20:54:34
 
 
Marsh Posté le 16-03-2002 à 09:13:10
| davidmarli a écrit a écrit  : (euh comment t'as deviné pour le ICCompressorChoose !!! ;-)) | 
 
 
Ben... Comment dire... maybe que j'ai déja rencontré le pb avec DVD:Reaper.  
 
Sinon, pour la fonction, il y rien de plus à dire, soit tu regarde les docs sur les API pour boucher les trous, soit tu attend quelques jours que je te mette tout ça dans un compo ! (d'ailleur je me demande si il n'y en a pas déja un qui fait ça dans le BUPack...) 
 
A oui, aussi un truc CAPITAL ! si tu met ça dans ton thread principal, tu appli sera complètement bloquée (cad qu'elle apparaitra [pas de réponse] dans le panneau de contrôle, et que si tu ouvre une fenètre par dessus, la tienne semblera plantée) 
(Thx Buitoni qui a rapellé le pb au dessus). Par contre là il n'y a rien à faire que de créer un thread spécial. 
 
 
Pour conclure, DVD Gold Encoder... Après Ultra DivX Maker, non, ça fait pas si pompeux que ça   
  
 
Je t'envoie un private... 
Marsh Posté le 13-03-2002 à 18:23:34
salut,
voilà je voudrais pourvoir faire attendre mon prog 5-6s avant d'éxécuter la commande suivante, mais je ne sais pas comment faire ! En pascal, il y avait delay(temps), mais en delphi ça marche pas. comment faire ?
Instruction1;
Attente 5s;
instruction2;
Merci
---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF