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

C/C++ Q/A
[4504] Re:Re:Re:도스용(볼랜드) C++에서 화면에 시간정보를 보여주는 방법에 대한 질문...
남병철.레조 [lezo] 1746 읽음    2004-06-28 09:51
실시간 정보라는 말을 오해했었나 봅니다. ^^
아무튼... 그렇게 실시간으로 콘솔에서 뽑아내어 화면에 보여주는것은 간단합니다만...
문제는 이 시간 기능을 그냥 단순히 어떤 프로그램의 부수적 기능중 하나로 사용하되 동시에 동작해야
한다면 일이 커지기 시작합니다. 예를들면 일기장 프로그램인데 구석에 시간이 초단위로 착착~ 올라가는 경우.

일단 단순히 콘솔 상에서 보여주는것은 무한 루프 돌면서 계속 같은 자리에 찍어주면 됩니다. ^^;
#include <stdio.h>
#include <dos.h>
#include <conio.h>

void main(void)
{
    struct time t;

    for( ;; )
    for(int i = 0; i<=1000000; i++)
    {
        if( i < 1000000 )
            continue;

        gotoxy( 10, 10 );
        gettime( &t );
        printf( "current time is : %02d:%02d:%02d\n",
                t.ti_hour, t.ti_min, t.ti_sec, t.ti_hund );
    }
}

하지만...

루프 돌면서 화면에 계속 찍는것은 분명 생각해 보셨을 것입니다.
그럼 다른 대안은? 바로 쓰레드입니다.
결국 Thread를 사용하여 타임과 관련되는 별도의 동작을 처리해 주어야합니다.
그럴려면 콘솔 어플이라도 멀티쓰레드 지원에 채크~ ^^ 해주어야 하고 쓰레드 관련 Win32 API를 사용해야 합니다.
참고 할만한 자료를 추천하자면... Programming Windows Charles Petzold 20 챕터를 보세요.



왕초보... 님이 쓰신 글 :
: 말씀 감사하구요...,
: 그런데 제가 원하는 방법은 실시간으로 화면에 시간을 보여주게 하는 것인데요...,
: 이부분에서 설명이 조금 미흡했던 것 같습니다...
:
: 다시 말해서 보통 윈도우에서 보면 하단 트레이 부분에 시계표시 부분 있죠 ???
: 그 윈도우 시계처럼 초가 계속 올라가는 형태로 시간을 보여주게 하고 싶습니다...
:
: 다시 한번 도움주시면 미리 감사드리겠습니다...
:
: 남병철.레조 님이 쓰신 글 :
: : gettime() 함수를 사용하면 됩니다.
: : 의외로 간단히 나옵니다.
: :
: : #include <stdio.h>
: : #include <dos.h>
: :
: : void main(void)
: : {
: :     struct time t;
: :     gettime( &t );
: :     printf( "current time is : %02d:%02d:%02d\n",
: :             t.ti_hour, t.ti_min, t.ti_sec, t.ti_hund );
: : }
: :
: : 레퍼런스를 찾아보면 time관련 함수들이 있습니다.
: : http://www.winapi.co.kr
: : 이곳의 C/C++ 레퍼런스에서 gettime을 보시면 위와같은 소스로 현재 시간을 얻을 수 있습니다.
:

+ -

관련 글 리스트
4501 도스용(볼랜드) C++에서 화면에 시간정보를 보여주는 방법에 대한 질문... 왕초보 1576 2004/06/25
4513     Re:도스용(볼랜드) C++에서 화면에 시간정보를 보여주는 방법에 대한 질문... 조준회 1435 2004/06/30
4502     Re:도스용(볼랜드) C++에서 화면에 시간정보를 보여주는 방법에 대한 질문... 남병철.레조 1843 2004/06/27
4503         Re:Re:도스용(볼랜드) C++에서 화면에 시간정보를 보여주는 방법에 대한 질문... 왕초보... 1530 2004/06/28
4504             Re:Re:Re:도스용(볼랜드) C++에서 화면에 시간정보를 보여주는 방법에 대한 질문... 남병철.레조 1746 2004/06/28
4506                 Re:Re:Re:Re:도스용(볼랜드) C++에서 화면에 시간정보를 보여주는 방법에 대한 질문... 왕초보... 1298 2004/06/28
4508                     Re:Re:Re:Re:Re:도스용(볼랜드) C++에서 화면에 시간정보를 보여주는 방법에 대한 질문... 남병철.레조 1481 2004/06/28
4511                         Re:Re:Re:Re:Re:Re:정말로 레조님에게 감사드립니다...(내용무) 왕초보 1235 2004/06/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.