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

C++빌더 Q&A
C++Builder Programming Q&A
[13022] Re:[질문] 시간지연(Sleep)과 for Loop 그리고 delay
김성진.kark [kark] 1831 읽음    2001-11-23 10:17
안녕하세요. 카크랍니다.

구현상의 문제에 대해서는 수야님 말씀을 보시면 될것 같구요..

어디선가 보았던 (무슨 책 뒤에 나와 있었던것 같은데..)

소스 하나를 올립니다. Sleep()보다는 훨 유용하겠죠? ^^;

//////////////////////////////////////////////////////////
void __fastcall Snooze(float numSec)
{
   MSG msg;
   DWORD timeout = (numSec*1000UL) + GetCurrentTime();
   while(GetCurrentTime() < timeout)
   {
      if(PeekMessage(&msg,NULL,0,0,PM_REMOVE))
      {
          if(msg.message == WM_QUIT)
        {
           PostQuitMessage(0);
           break;
        }
        TranslateMessage(&msg);
        DispatchMessage(&msg);
      }
   }
}
/////////////////////////////////////////////////////////////

백상열 님이 쓰신 글 :
: 안녕하세요..
:
: 간단한 채팅프로그램을 만들어봤습니다.
: 메시지출력이 너무 빨라서 시간지연을 Sleep();함수를 사용해서 화면출력을 지연시켰습니다
:
: 그랬더니 그 프로그램에서는 데이터를 받아들이는 소켓부분이있는데, 클라가 보내온 data까지
: 받지않고 Sleep 말 그대로 잠자고있습니다.
:
: 지정한 함수(루틴)에서는 시간이 delay되면서도 소켓을 받아들이는 부분에서는 정상적으로
: 시간지연없이 받아들여야하는데..
:
: 이방법은 불가능할까요 ?
: 아니면 Sleep();보다 차라리 for Loop를 돌리는게 더나을까요?
:
: 도사님의 조언을 듣고싶습니다. 그럼..
:
:                     --- 늑대 ---

+ -

관련 글 리스트
13004 [질문] 시간지연(Sleep)과 for Loop 그리고 delay 백상열 1283 2001/11/22
13022     Re:[질문] 시간지연(Sleep)과 for Loop 그리고 delay 김성진.kark 1831 2001/11/23
13012     Re:[질문] 시간지연(Sleep)과 for Loop 그리고 delay 수야 1940 2001/11/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.