Ver Mensaje Individual
  #2  
Antiguo 20-07-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Reputación: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No sé hasta qué punto he entendido las indicaciones del maestro Seoane o tengo que darles un buen repaso, pero, esto es lo que hay...

Código Delphi [-]
program ConsoleTimer;

{$APPTYPE CONSOLE}

uses
  Windows,
  Messages,
  SysUtils,
  ExtCtrls;

type
  TDummy = class(TObject)
    procedure TimerInterval(Sender: TObject);
  end;

var
  Dummy: TDummy;
  Timer: TTimer;
  Terminar: Boolean;

{ TDummy }

procedure TDummy.TimerInterval(Sender: TObject);
begin
  WriteLn(TimeToStr(Time)+' - Trigger TimeInterval');
end;

{ ConsoleTimer }

procedure ProcessMessages;
var
  Msg: TMsg;
begin
  while PeekMessage(Msg,0,0,0,PM_REMOVE) do
  begin
    if Msg.Message = WM_QUIT then
    begin
      Terminar:= TRUE;
      break;
    end else begin
      TranslateMessage(Msg);
      DispatchMessage(Msg);
    end;
  end;
end;

begin
  Terminar := false;
  Dummy := TDummy.Create();
  Timer := TTimer.Create(nil);
  Timer.OnTimer := Dummy.TimerInterval;
  Timer.Interval := 2000;
  try
    while not Terminar do
    begin
      // Aqui haz lo que quieras

      ProcessMessages();
      if not Terminar then
        Sleep(10);
    end;
  finally
    Timer.Free();
    Dummy.Free();
  end;
end.

Revisa este hilo y este otro.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 20-07-2007 a las 11:52:12.
Responder Con Cita