예를 들어 Timer의 interval을 10분으로 하고 Enable을 True로 한 다음 interval이 7분이 지났을 때 False로 하였다가 다시 True로 하였을 때 Timer의 interval이 경과한 시간의 나머지 즉 3분이 되도록 하는 방법이 없을 까요 ? 고수님들...
Lost July
•
2001.09.17 13:11
왕초보 wrote:
> 예를 들어 Timer의 interval을 10분으로 하고 Enable을 True로 한 다음
> interval이 7...
> 예를 들어 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.