Q&A

  • 시간경과가 되면 버튼이 눌리는것 같은 이벤트를 줄수 없나여
unit Unit1;



interface



uses

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

ExtCtrls, StdCtrls;



type

TForm1 = class(TForm)

Label1: TLabel;

Timer1: TTimer;

Label2: TLabel;

Button1: TButton;

procedure Timer1Timer(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

i,j,k,l:integer;

{ Public declarations }

end;



var

Form1: TForm1;



implementation



{$R *.DFM}



procedure TForm1.Timer1Timer(Sender: TObject);

begin



label1.Caption := TimeToStr(Now);

k:= k - 1;

label2.Caption := inttostr(k);

if k = i then

begin

Timer1.Enabled := False;

ShowMessage('시간초과 버튼1을 누르세여..'); <-- 요부분에서 버튼1이 눌려지는 이벤트를 줄수없나여..

end; showmessage가 안나타나고 바로 버튼1이 눌린것 같은 이벤트를 전달해서

end; 버튼1이 클릭된것처럼 말이져.....

부디 님들의 도움을 바랍니다....



procedure TForm1.FormCreate(Sender: TObject);

begin

i := 0;

k := 10;

end;



procedure TForm1.Button1Click(Sender: TObject);

begin

Timer1.Enabled := true;

k := 10;

end;



end.



2  COMMENTS
  • Profile
    지나가다가.. 2001.11.16 09:56
    버튼 클릭 효과를 말씀하시는 것은



    procedure TForm1.Button1Click(Sender: TObject);



    이 프로시져가 실행되기를 원하신다는 말씀이신가요?



    아니면 버튼 클릭 효과는 어떤 것을 말씀하시는지... ㅡ.ㅡ



    만일 저 프로시져가 실행되기를 원하신다면...



    Button1Click(Self); <--- ShowMessage 구문을 이렇게 변경하시면 되지 않을까요?..



    지나가다가...



    무니스 wrote:

    > unit Unit1;

    >

    > interface

    >

    > uses

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

    > ExtCtrls, StdCtrls;

    >

    > type

    > TForm1 = class(TForm)

    > Label1: TLabel;

    > Timer1: TTimer;

    > Label2: TLabel;

    > Button1: TButton;

    > procedure Timer1Timer(Sender: TObject);

    > procedure FormCreate(Sender: TObject);

    > procedure Button1Click(Sender: TObject);

    > private

    > { Private declarations }

    > public

    > i,j,k,l:integer;

    > { Public declarations }

    > end;

    >

    > var

    > Form1: TForm1;

    >

    > implementation

    >

    > {$R *.DFM}

    >

    > procedure TForm1.Timer1Timer(Sender: TObject);

    > begin

    >

    > label1.Caption := TimeToStr(Now);

    > k:= k - 1;

    > label2.Caption := inttostr(k);

    > if k = i then

    > begin

    > Timer1.Enabled := False;

    > ShowMessage('시간초과 버튼1을 누르세여..'); <-- 요부분에서 버튼1이 눌려지는 이벤트를 줄수없나여..

    > end; showmessage가 안나타나고 바로 버튼1이 눌린것 같은 이벤트를 전달해서

    > end; 버튼1이 클릭된것처럼 말이져.....

    > 부디 님들의 도움을 바랍니다....

    >

    > procedure TForm1.FormCreate(Sender: TObject);

    > begin

    > i := 0;

    > k := 10;

    > end;

    >

    > procedure TForm1.Button1Click(Sender: TObject);

    > begin

    > Timer1.Enabled := true;

    > k := 10;

    > end;

    >

    > end.

    >

  • Profile
    무니스 2001.11.17 10:50
    다시한번 답변에 감사드립니다..

    그런데요.... 제가 한델과 델마당등에도 질문을 했는대 답변에 약간씩 다름점이 있거든여

    button1click(sender);

    라는 답변과

    button1click(self)라는 것과

    button1click(button)이라는게 있습니다....

    어찌하오리까....









    지나가다가.. wrote:

    > 버튼 클릭 효과를 말씀하시는 것은

    >

    > procedure TForm1.Button1Click(Sender: TObject);

    >

    > 이 프로시져가 실행되기를 원하신다는 말씀이신가요?

    >

    > 아니면 버튼 클릭 효과는 어떤 것을 말씀하시는지... ㅡ.ㅡ

    >

    > 만일 저 프로시져가 실행되기를 원하신다면...

    >

    > Button1Click(Self); <--- ShowMessage 구문을 이렇게 변경하시면 되지 않을까요?..

    >

    > 지나가다가...

    >

    > 무니스 wrote:

    > > unit Unit1;

    > >

    > > interface

    > >

    > > uses

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

    > > ExtCtrls, StdCtrls;

    > >

    > > type

    > > TForm1 = class(TForm)

    > > Label1: TLabel;

    > > Timer1: TTimer;

    > > Label2: TLabel;

    > > Button1: TButton;

    > > procedure Timer1Timer(Sender: TObject);

    > > procedure FormCreate(Sender: TObject);

    > > procedure Button1Click(Sender: TObject);

    > > private

    > > { Private declarations }

    > > public

    > > i,j,k,l:integer;

    > > { Public declarations }

    > > end;

    > >

    > > var

    > > Form1: TForm1;

    > >

    > > implementation

    > >

    > > {$R *.DFM}

    > >

    > > procedure TForm1.Timer1Timer(Sender: TObject);

    > > begin

    > >

    > > label1.Caption := TimeToStr(Now);

    > > k:= k - 1;

    > > label2.Caption := inttostr(k);

    > > if k = i then

    > > begin

    > > Timer1.Enabled := False;

    > > ShowMessage('시간초과 버튼1을 누르세여..'); <-- 요부분에서 버튼1이 눌려지는 이벤트를 줄수없나여..

    > > end; showmessage가 안나타나고 바로 버튼1이 눌린것 같은 이벤트를 전달해서

    > > end; 버튼1이 클릭된것처럼 말이져.....

    > > 부디 님들의 도움을 바랍니다....

    > >

    > > procedure TForm1.FormCreate(Sender: TObject);

    > > begin

    > > i := 0;

    > > k := 10;

    > > end;

    > >

    > > procedure TForm1.Button1Click(Sender: TObject);

    > > begin

    > > Timer1.Enabled := true;

    > > k := 10;

    > > end;

    > >

    > > end.

    > >