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
[13367] Re:[질문] 절대 시간 구하는 법..
김진수 [miman101] 1037 읽음    2001-12-05 07:24
절대 시간을 원하시는건 보다 정확한 시간을 원하시는 건가요

타이머를 이용해서 사용해는건 어떤가요...

컴퍼는트 자료실에 있는 자료입니다.
참 빌더 4용입니다... 5에서는 설치는 되는데 컴파일하면 에러가..


[소개]    임펠리테리입니다.

멀티미디어 타이머입니다. 방금 하이텔의 비주얼툴 동호회(vtool)에 들렀다가 거기서
이상찬님(id:지최멋건)님이 올려놓으신 멀티미디어 타이머를 발견했습니다.
물론 멀티미디어 타이머가 이것뿐인 것은 아닙니다만, 그래도 기왕이면 국산(!!)을 애용하자는
뜻으로.. ^^

잘 이해를 못하시는 분들을 위해 멀티미디어 타이머에 대해 잠깐 설명을 드려야겠죠?

    *** 빌더의 기본 TTimer 컴퍼넌트는 interval을 1/1000초 단위로 설정할
       수 있게 되어있지만, 실제로는 그정도의 간격으로 이벤트가 발생하지는
       않습니다. 이것은 빌더의 잘못이 아니라, 윈도우즈의 기본 타이머 api
       자체가 1tck(1/18초) 단위밖에 지원을 하지 못하기 때문입니다.

    *** 만약 그 이상의 정확도로 타이밍을 해야 한다면, 해결책은 단 하나,
       윈도우즈의 멀티미디어 dll에 숨겨져 있는 멀티미디어 타이머 api를
       사용해야 합니다. 이것은 MS에서 동영상 처리를 위해서만 사용하도록
       고의적으로 숨겨놓은 것입니다.

이상찬님의 타이머 컴퍼넌트는 바로 이 멀티미디어 타이머를 vcl로 구현한 것입니다.
이러한 사실은 작년 초쯤에 윈도우즈 프로그래머들 사이에서 이슈가 되었었고, 당연히

이상찬님의 컴퍼넌트 외에도 비슷한 컴퍼넌트가 많이 공개되어 있습니다.

이 컴퍼넌트는 Q/A에 올라온 전종욱님의 질문에 대해 답변의 의미로서 올리는 것입니다.
사실 1/18초 이상의 타이밍을 해야 할 경우는 특수한 경우가 아니라면 그리 많지 않습니다.
단순한 시계 프로그램을 하나 만드는데 이런 컴퍼넌트를 쓴다면 컴퓨터가 상당히 괴로워할 겁니다.
1/1000초 단위로 이벤트가 실행된다는 것은 cpu에게는 상당한 고문이니까요.

그럼 도움되시길...

+ -

관련 글 리스트
13360 [질문] 절대 시간 구하는 법.. 전영재 838 2001/12/05
13370     Re:[질문] 절대 시간 구하는 법.. 이방형 1783 2001/12/05
13367     Re:[질문] 절대 시간 구하는 법.. 김진수 1037 2001/12/05
13363     Re:[질문] 절대 시간 구하는 법.. 큐피리도 이니 1217 2001/12/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.