아래는 이정욱님이 올린 delay 프로시져입니다.
유용하게 사용중인데, Delay도중에 delay프로시져를 강제로
종료시키는 방법은 어떻게 하나요.. 뭐냐하면
delay(10000)이라주면 10초동안 프로세스가 쉬게되는데
약 5초 경과후에 강제로 delay를 종료하고 프로세스를
진행시키고 싶을때가 있을겁니다.
프로그램화면상에 button을 하나 만들어두고 클릭하면 delay가 종료되도록
하고 싶은데요.....
아래 --- 이정욱님의 Delay 프로시져..
Sleep프로시져를 사용하면 그 프로그램의 프로세스 자체가 다 멈춰진 상태에서 기다리게 된다. 그렇다면 정말 시간을 끌기위해서 잠깐동안 지체하는것 외에는 사용하지 못한다.
예를들어 무슨작업을 시키고 그 작업이 진행되는동안 한 3초간을 쉬고 싶다라고 할때는 Sleep을 사용하지 못한다.
그럴때는 아래의 delay프로시져를 사용하자. 훨씬 편할것이다.
delay(3000)을 주면 3초정도 쉰다.
procedure delay(TickTime : Integer);
var
Past,Now: Integer;
begin
Past := GetTickCount;
repeat
Now := GetTickCount;
Application.ProcessMessages;
Until Now > Past + TickTime;
end;
Repeat 구문에
If IsStop Then
begin
IsStop := False;
Break;
end;
뭐 이런 식으로여
즐프하세요~