Q&A

  • TTimer의 interval 진행상황을 알 수 있는방법이 없을까요?
예를 들어 Timer의 interval을 10분으로 하고 Enable을 True로 한 다음

interval이 7분이 지났을 때 False로 하였다가 다시 True로 하였을 때

Timer의 interval이 경과한 시간의 나머지 즉 3분이 되도록 하는 방법이

없을 까요 ?

고수님들 부탁드립니다.

1  COMMENTS
  • Profile
    Lost July 2001.09.17 13:11
    왕초보 wrote:

    > 예를 들어 Timer의 interval을 10분으로 하고 Enable을 True로 한 다음

    > interval이 7분이 지났을 때 False로 하였다가 다시 True로 하였을 때

    > Timer의 interval이 경과한 시간의 나머지 즉 3분이 되도록 하는 방법이

    > 없을 까요 ?

    > 고수님들 부탁드립니다.



    interval 은 시간을 얼마나 빨리 가게끔 설정하겠느냐하는 것입니다.

    10분으로 설정했다면 600,000 으로 값을 넣으셨으니

    enabled := true 해도 10분후에 동작하겠군요.

    아무래도 님이 요구하는 것은 이게 아닌것같은데.. 1초씩 가는 시간이 7분째

    되었을때, false -> true 하면 나머지 시간을 보여줘야 한다는거 아닌가 싶습니다.

    맞나요?



    아래는 걍 참조..

    unit Unit1;



    interface



    uses

    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    StdCtrls, ExtCtrls;



    type

    TForm1 = class(TForm)

    Timer1: TTimer;

    Button1: TButton;

    Label1: TLabel;

    Timer2: TTimer;

    procedure Button1Click(Sender: TObject);

    procedure Timer1Timer(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;



    var

    Form1: TForm1;



    implementation



    {$R *.DFM}

    var

    i: Integer = 0;



    procedure TForm1.Button1Click(Sender: TObject);

    begin

    timer1.enabled := true;

    end;



    procedure TForm1.Timer1Timer(Sender: TObject);

    begin

    label1.Caption := formatdatetime('hh:mm:ss', now);

    i := i +1;

    if i = 420000 {7분} then

    showmessage('3분 남았음');

    end;



    end.