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
[21975] Re:시간 표현을 하려면 ( 00:00:00)
Poichel [poichel] 940 읽음    2002-10-10 11:34
예전에 제가 만들어둔 함수 입니다

저두 이전에 님과 똑같은 구현이 필요했었고 그때문에 만들었던 함수입니다

사용법은 GetTickCount() 함수를 이용해서 TimeDistance 파라미터에
밀리초 단위의 값을 넣어주시면 [0 days 00:00:00] 이런 형태로 TLable로 반환해 줍니다
독립 함수라 아무데나 가져다 붙이시면 될것 같구요
적당히 수정해서 사용하세요~

그럼 즐프

/*************************************************************************
    시간 진행을 표시하는 포맷 스트링 생성 함수 [ 2001.11.02 Ver 1.0 ]
*************************************************************************/

- 사용법

DWORD TimeDistance;

TimeDistance = GetTickCount() / 1000;

GetFormatProgressTime( TLabel_TimeIndicator, TimeDistance );

*************************************************************************/

//---------------------------------------------------------------------------
#define __DAY_BY_SEC__      86400
#define __HOUR_BY_SEC__     3600
#define __MINUTE_BY_SEC__   60
//---------------------------------------------------------------------------

void GetFormatProgressTime( TLabel *UpdateIndicae, DWORD TimeDistance )
{
    clock_t TempBuffer;
    String ReturnBuffer;
    short DayBuffer, HourBuffer, MinuteBuffer, SecondBuffer;

    TempBuffer = TimeDistance;
    ReturnBuffer = "";

    DayBuffer = TempBuffer / __DAY_BY_SEC__;
    TempBuffer = TimeDistance - (DayBuffer * __DAY_BY_SEC__);
    HourBuffer = TempBuffer / __HOUR_BY_SEC__;
    TempBuffer = TempBuffer - (HourBuffer * __HOUR_BY_SEC__);
    MinuteBuffer = TempBuffer / __MINUTE_BY_SEC__;
    TempBuffer = TempBuffer - (MinuteBuffer * __MINUTE_BY_SEC__);
    SecondBuffer = TempBuffer % __MINUTE_BY_SEC__;

    ReturnBuffer += (IntToStr(DayBuffer) + " Days ");
    if( HourBuffer < 10 ) ReturnBuffer += "0";
    ReturnBuffer += (IntToStr(HourBuffer) + ":");
    if( MinuteBuffer < 10 ) ReturnBuffer += "0";
    ReturnBuffer += (IntToStr(MinuteBuffer) + ":");
    if( SecondBuffer < 10 ) ReturnBuffer += "0";
    ReturnBuffer += IntToStr(SecondBuffer);

    UpdateIndicae->Caption = ReturnBuffer;
}
//************************************************************************

Kill.D.M 님이 쓰신 글 :
: 시간을 표현 하로 하는데 어케 표현해야 될지 모르겠네염..ㅜ.ㅜ
: 제가  워낙 초보라^^:;; Timer컴포넌트를 쓰는 것까지는 알겠는데......
: 윈앰프나 다른 플레이어에 보믄 시간이 00:00:00으로 계속 올라가는것을 구현하고 싶은데..
: 고수님들의 답변 두탁드립니다.
: ㅜ.ㅜ
:

+ -

관련 글 리스트
21967 시간 표현을 하려면 ( 00:00:00) Kill.D.M 681 2002/10/10
21975     Re:시간 표현을 하려면 ( 00:00:00) Poichel 940 2002/10/10
21968     Re:시간 표현을 하려면 ( 00:00:00) 최준호.스페로 975 2002/10/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.