Q&A

  • Timer 에 대해......
안녕하세요......

저는 델파이를 공부하고 있는 사람입니다..

다름이 아니고요.... 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 이벤트를

수행하지 않습니다...

제가 어떤것을 잘못한것 같은데 찾지를 모하겠네요....

아시는 분은 답좀 바랍니다......

1  COMMENTS
  • Profile
    도지성 2001.02.23 20:07
    최일용 wrote:

    > 안녕하세요......

    > 저는 델파이를 공부하고 있는 사람입니다..

    > 다름이 아니고요.... 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;



    타이머를 쓰시지 마시고 위의 것처럼 해보세요.