Utiliser un Timer en mode console

[Résolu]
Signaler
-
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
-
Salut,



Je voudrais pouvoir utiliser un Timer en mode console. Comment faire ?



Merci

4 réponses

Messages postés
3826
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
10 mai 2021
44
Salut,
Voici ce que j'ai trouvé :

Par Dave Nottage :
program Project1;



{$APPTYPE CONSOLE}



uses
Windows;



var
TimerId: UINT;



procedure TimerProc(Handle: HWND; uMsg: UINT; idEvent: UINT; dwTime:DWORD);
stdcall;
begin
if Integer(KillTimer(0, idEvent)) <> 0 then
MessageBox(0, 'Yo!', 'Yo!', MB_OK);
TimerId := 0;
end ;



procedure Pump;
var
M: TMsg;
begin
while (TimerID <> 0) and GetMessage(M, 0, 0, 0) do
DispatchMessage(M);
end;



begin
TimerId : = SetTimer(0, 1, 100, @TimerProc);
Pump;
Readln;
end.



Source :
http://groups.google.fr/group/borland.public.delphi.nativeapi/browse_thread/thread/f2dbcd80e0733da7/b40ddb614f0cada0%23b40ddb614f0cada0

@+
Cirec
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
37
holala tu te fait bien chier mon ami cirec :

fichiers > nouveau > module de données

glisse le timer dedans ou tout autre composant non visuel ... et hop le tours est joué.

on cherche parfois midi a 14h ... pas de chance il est 14h30
Messages postés
3826
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
10 mai 2021
44
@ F0xi
je croyais que ce n'était pas possible de mettre des composants dans une application console

Pour tout les composants il faut un container qui en général est la Form mais en mode console il n'y a pas de Form

@+
Cirec
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Je suis entièrement d'accord avec Cirec. Sauf, évidemment si on inclut toutes les unités nécessaires, qu'on initialise un objet application etc...Autant faire une application fenêtrée !
Le seul recours recours possible en mode console est de faire appel aux API (voir SetTimer ci-dessus comme exemple).
Je ne sais pas qui a validé les deux réponses ci-dessus mais au moins une des deux est inexacte

May Delphi be with you !

<HR color=#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.