Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[681] [답변] KNK300/델파이에서 delay function 역할을 하는
longdr [ ] 7427 읽음    1998-01-13 21:03

안녕하세요... 댁스텁니다..

일정시간 delay를 주기위해서 sleep() 함수를 사용할 수 있지만, sleep()함수는 쓰레드

자체가 멈추기때문에 sleep()함수를 호출하기 전에 수행되던 코드들까지도 멈춰버리죠..

결국 delay와는 거리가 좀... 있는 것같군요...

delay는 다음 코드 진행을 일정시간 지연을 시켜주면서 delay를 호출하기 전의 코드들은

수행이 되고 있어야 될 것같습니다...

다음은 sleep()함수를 이용하지 않고 delay를 구현한 예입니다...

procedure delay(Time: Integer);
var
   PastCount: LongInt;
begin
     PastCount := GetTickCount;
     repeat   
           Application.ProcessMessages;
     until ((GetTickCount-PastCount) >= LongInt(Time));
end;

GetTickCount()라는 API함수를 이용했고,,, 인자인 Time은 밀리초 단위입니다.

즉 1000이 1초죠... 그래서 1000을 지정하면 1초가 delay됩니다...


                           THEXDER


+ -

관련 글 리스트
681 [답변] KNK300/델파이에서 delay function 역할을 하는 longdr 7427 1998/01/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.