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