Q&A

  • 타이머를 이용한 알람 시계 작성시..


안녕하세요..



델 초보자입니다.. ^^;



제가 타이머를 이용하여 알람시계를 만들려고 하는데요....



알람이라고 하면 stop 버튼을 누를 때까지 계속 울려야 하잖아요..



그런데 제가 그 방법을 몰라 이렇게 글을 올립니다..



MessageBeep(0) 라고 쓰면 한번만 소리 나고 더이상은 소리가 나지 않습니다.



계속해서 소리가 나게 하는 방법은 없을까요?



급합니다.. 제발 도와 주세요... 그럼...이만...



좋은 하루 되세요..



2  COMMENTS
  • Profile
    박성훈 2000.01.15 21:14
    델 초보자 wrote:

    >

    > 안녕하세요..

    >

    > 델 초보자입니다.. ^^;

    >

    > 제가 타이머를 이용하여 알람시계를 만들려고 하는데요....

    >

    > 알람이라고 하면 stop 버튼을 누를 때까지 계속 울려야 하잖아요..

    >

    > 그런데 제가 그 방법을 몰라 이렇게 글을 올립니다..

    >

    > MessageBeep(0) 라고 쓰면 한번만 소리 나고 더이상은 소리가 나지 않습니다.

    >

    > 계속해서 소리가 나게 하는 방법은 없을까요?



    Rx Library에 있는 RxClock을 써보시죠. 알람기능이 들어가 있습니다. 모양은 디지털모양과 아날로그로 나타낼수 있구요, 원하는 시,분,초에 원하는 동작을 하게 할 수 있습니다. 물론 소스도 공개되어 있구요. 한델 자료실에도 rx library2.6인가가 올라와 있는 것을 봤습니다. 다운 받아서 써보시면 좋을 것 같은데요.

    >

    > 급합니다.. 제발 도와 주세요... 그럼...이만...

    >

    > 좋은 하루 되세요..

    >

  • Profile
    여영식 2000.01.12 22:53
    제대로 한다면 알람시계는 Timer가 아니라 스레드를 이용해야 합니다.

    스레드는 조금 어려운 부분이니 나중에 한번 공부하세요.

    MessageBeep를 사용하시겠다면 루핑을 돌리면 되지 않을 까요?



    전역변수 또는 멤버 변수로 bStopFlag 를 선언 후

    다음과 같이 사용하면 되지않을까요?



    while bStopFlag do

    begin

    MessageBeep(0);

    Sleep(500) -> 500ms 간격으로 소리를 냅니다.

    Application.ProcressMessages; -> 이거 반드시 넣어야 합니다.

    end;



    그리고 다른 부분에서 bStopFlag 를 Off 합니다.

    예를 들면



    procedure TForm1.Button1Click(Sender: TObject);

    begin

    bStopFlag := False;

    // 이렇게 하면 루핑을 빠저 나가게 되겠지요.

    end;



    믿거나 말거나...



    ---







    델 초보자 wrote:

    >

    > 안녕하세요..

    >

    > 델 초보자입니다.. ^^;

    >

    > 제가 타이머를 이용하여 알람시계를 만들려고 하는데요....

    >

    > 알람이라고 하면 stop 버튼을 누를 때까지 계속 울려야 하잖아요..

    >

    > 그런데 제가 그 방법을 몰라 이렇게 글을 올립니다..

    >

    > MessageBeep(0) 라고 쓰면 한번만 소리 나고 더이상은 소리가 나지 않습니다.

    >

    > 계속해서 소리가 나게 하는 방법은 없을까요?

    >

    > 급합니다.. 제발 도와 주세요... 그럼...이만...

    >

    > 좋은 하루 되세요..

    >