Utiliser un Timer en mode console

Résolu
Utilisateur anonyme - 19 avril 2006 à 22:17
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 - 22 avril 2006 à 21:53
Salut,



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



Merci

4 réponses

Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
20 avril 2006 à 13:30
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
3
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
20 avril 2006 à 14:33
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
3
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
21 avril 2006 à 10:25
@ 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
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
22 avril 2006 à 21:53
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.
0
Rejoignez-nous