안녕하세요......
저는 델파이를 공부하고 있는 사람입니다..
다름이 아니고요.... Timer 사용범에 대해서 물어볼려구요.......
procedure TfrmSort.Button7Click(Sender: TObject);
begin
SortTime := 0;
Timer1.Enabled := True;
BubbleSort;
Timer1.Enabled := False;
end;
procedure TfrmSort.Timer1Timer(Sender: TObject);
begin
inc(sortTime);
end;
이런식으로 해서 BubbleSort의 수행시간을 구하려고 합니다..
그런데 Timer의 Enabled 속성을 True로 주어로 OnTimer 이벤트를
수행하지 않습니다...
제가 어떤것을 잘못한것 같은데 찾지를 모하겠네요....
아시는 분은 답좀 바랍니다......
> 안녕하세요......
> 저는 델파이를 공부하고 있는 사람입니다..
> 다름이 아니고요.... Timer 사용범에 대해서 물어볼려구요.......
>
> procedure TfrmSort.Button7Click(Sender: TObject);
> begin
> SortTime := 0;
> Timer1.Enabled := True;
> BubbleSort;
> Timer1.Enabled := False;
> end;
>
> procedure TfrmSort.Timer1Timer(Sender: TObject);
> begin
> inc(sortTime);
> end;
>
> 이런식으로 해서 BubbleSort의 수행시간을 구하려고 합니다..
> 그런데 Timer의 Enabled 속성을 True로 주어로 OnTimer 이벤트를
> 수행하지 않습니다...
> 제가 어떤것을 잘못한것 같은데 찾지를 모하겠네요....
> 아시는 분은 답좀 바랍니다......
Timer event 가 실제로 발생하지 않아서
그런 문제가 생긴 것입니다.
( 이벤트 loop 를 빠져 나오지 않았으니.. )
uses
mmSystem;
procedure TfrmSort.Button7Click(Sender: TObject);
var
StartTime : Longint;
begin
StartTime := timeGetTime;
BubbleSort;
ShowMessage( IntToStr( timeGetTime - StartTime ) + ' msec 소요' );
end;
타이머를 쓰시지 마시고 위의 것처럼 해보세요.