Q&A

  • 시간계산에 대하여
안녕하세요...

테이블에 시작시간과 끝시간에 대한 두개의 필드가 있습니다.

두개의 필드에 대해 (끝시간-시작시간)의 값을 계산하고 싶습니다.

즉, 시간간격을 계산하고 싶습니다.

참고로 시작시간과 끝시간에 대한 데이터 type은 Time으로 두었습니다.

답변 부탁드립니다..



2  COMMENTS
  • Profile
    bluepine 1999.04.17 01:18
    이순희 wrote:

    > 안녕하세요...

    > 테이블에 시작시간과 끝시간에 대한 두개의 필드가 있습니다.

    > 두개의 필드에 대해 (끝시간-시작시간)의 값을 계산하고 싶습니다.

    > 즉, 시간간격을 계산하고 싶습니다.

    > 참고로 시작시간과 끝시간에 대한 데이터 type은 Time으로 두었습니다.

    > 답변 부탁드립니다..

    >



    안녕하세요, 미숙한 놈입니다.^^'

    델파이 헬퍼에서 답변한 것을 다시 적습니다.

    저도 초보자이지만 제가 아는 한도내에서

    답변을 해드리겠습니다.

    많은 도움이 된다면 참 좋겠어요..



    음, 계산필드란 말을 들어보셨는지요.

    계산필드를 사용하면 해결이 될것 같군요.



    방법은,

    첫번째로

    TTable(혹은 TQuery) 컴포넌트를 더블 클릭하면 필드 편집기가 보일 겁니다.

    보인다면, 필드 편집기에서 오른쪽 마우스 버튼을 클릭하세요.

    그럼, 팝업메뉴가 나타면서 Add Fields와 New Field란 메뉴가 보일 겁니다.

    그럼 New Field를 선택하고 나온 폼에서

    Name , Type(여기에서는 Time을 선택하면 되겠죠?)와 Size를 입력한후

    Field Type을 Calcurated로 선택합니다.

    그런 후, OK버튼을 누르시면 추가된 계산필드가 필드 편집기에 나타나죠?



    자, 그럼 두번째로

    두개의 필드값을 계산해서 이 계산 필드에 값을 넣도록 하면 됩니다.

    그러기 위해서는 OnCalcFields이벤트를 편집하면 됩니다.



    OnCalcFields이벤트는 TTable(or TQuery)컴포넌트의 이벤트에서 찾을 수

    있으며,

    코드를 살짝 함 보시도록 하죠.



    //테이블 컴포넌트의 이름이 UseTime이라 해보죠.

    //계산필드는 calcTime이라 하고요.



    procedure TForm1.UseTimeCalcFields(DataSet: TDataset);

    var

    startTime : TDateTime;

    lastTime : TDateTime;

    resultTime : TDateTime;

    begin

    startTime := UseTime.FieldByName('startTime').AsDateTime;

    lastTime := UseTime.FieldByName('lastTime').AsDateTime;

    resultTime := lastTime - startTime;



    UseTime.FieldByName('calcTime').AsDateTime :=

    resultTime;

    end;



    맞는지 모르겠군요.

    직접해보시고 안되면 다시 연락주세요..



    그럼, 좋은 하루 되세요.

    ^^



  • Profile
    글쎄요. 1999.04.15 19:02
    이순희 wrote:

    > 안녕하세요...

    > 테이블에 시작시간과 끝시간에 대한 두개의 필드가 있습니다.

    > 두개의 필드에 대해 (끝시간-시작시간)의 값을 계산하고 싶습니다.

    > 즉, 시간간격을 계산하고 싶습니다.

    > 참고로 시작시간과 끝시간에 대한 데이터 type은 Time으로 두었습니다.

    > 답변 부탁드립니다..

    >



    필드타입을 Date나 DateTime으로 바꾸시는 것이 좋아요.

    그래서 올바른 계산을 하실 수 있습니다.

    다음과 같은 함수를 사용해보셔요.





    Unit

    SysUtils

    선언부

    ////////////////////////////////////////////////////////////////////////////////

    function CalcTimeToSec( FromTime, ToTime: TDateTime ) : String;

    function CalcDateTimeToSec( FromTime, ToTime: TDateTime ) : LongInt;

    구현부

    ////////////////////////////////////////////////////////////////////////////////

    function CalcTimeToSec( FromTime, ToTime: TDateTime ) : String;

    begin

    Result := FormatDateTime( 'hh:nn:ss', ( ToTime - FromTime ) );

    end;



    ////////////////////////////////////////////////////////////////////////////////

    function CalcDateTimeToSec( FromTime, ToTime: TDateTime ) : LongInt;

    var

    FromTimeStamp, ToTimeStamp : TTimeStamp;

    begin

    FromTimeStamp := DateTimeToTimeStamp( FromTime );

    ToTimeStamp := DateTimeToTimeStamp( ToTime );



    Result := (ToTimeStamp.Date - FromTimeStamp.Date) * 24 * 60 * 60 + ( ( ToTimeStamp.Time div 1000 ) - ( FromTimeStamp.Time div 1000 ) );

    end;



    ////////////////////////////////////////////////////////////////////////////////

    • 이동화
    • 1999.04.15 08:56
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김영해
      1999.04.15 09:20
      이동화 wrote: > 안녕하세요! > 프린터에대해서 궁금한게 있습니다. 아니 지금 되지가 않습니다. > 프린...
    • 이동화
      1999.04.15 09:39
      김영해 wrote: > 이동화 wrote: > > 안녕하세요! > > 프린터에대해서 궁금한게 있습니다. 아니 지금 되...
    • 이동화
    • 1999.04.15 08:56
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김영해
      1999.04.15 09:20
      이동화 wrote: > 안녕하세요! > 프린터에대해서 궁금한게 있습니다. 아니 지금 되지가 않습니다. > 프린...
    • 이동화
      1999.04.15 09:39
      김영해 wrote: > 이동화 wrote: > > 안녕하세요! > > 프린터에대해서 궁금한게 있습니다. 아니 지금 되...
    • 김영해
    • 1999.04.15 08:49
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이소라
      1999.06.22 16:42
      OLE를 사용치 않고 MS_Word를 사용하는 소스입니다. 그런데 "선언되지 않은 정체"라는 에러 메세지만 반...
    • 이정욱
      1999.04.15 10:21
      아래 작업전환을 막는것이 있습니다. 이 코드는 나이렉스의 팁 게시판에서 가져왔습니다. var Form1:...
    • 김영해
      1999.04.17 07:48
      감사합니다.이정욱님 많은 도움이 되었습니다.
    • 1999.06.22 20:26
      한승협 께서 말씀하시기를... > 안냐세여.. 초보델파이언임다. > > 저는 DBComboBox에 DataSource와 Da...
    • 이순희
    • 1999.04.15 08:34
    • 2 COMMENTS
    • /
    • 0 LIKES
    • bluepine
      1999.04.17 01:18
      이순희 wrote: > 안녕하세요... > 테이블에 시작시간과 끝시간에 대한 두개의 필드가 있습니다. > 두개...
    • 글쎄요.
      1999.04.15 19:02
      이순희 wrote: > 안녕하세요... > 테이블에 시작시간과 끝시간에 대한 두개의 필드가 있습니다. > 두개...
    • PETER
    • 1999.06.22 08:06
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김영규
    • 1999.06.22 07:27
    • 6 COMMENTS
    • /
    • 0 LIKES
    • 이호선
      1999.04.15 05:08
      안녕하세요.. 일반 control(예: Panel)에 이미지를 실을려하는데 어떻게해야 할지 궁금합니다. 좋은밤 ...
    • 신호성
      1999.06.22 21:43
      김영규 께서 말씀하시기를... > Query 콤포넌트와 DBGrid콤포넌트를 사용하여 > 자료를 조회한 후 ( SQL...
    • 전철호
      1999.04.20 03:56
      이호선 wrote: > 안녕하세요.. > 일반 control(예: Panel)에 이미지를 실을려하는데 > 어떻게해야 할지...
    • 류동균
      1999.06.22 08:08
      김영규 께서 말씀하시기를... > Query 콤포넌트와 DBGrid콤포넌트를 사용하여 > 자료를 조회한 후 ( SQL...
    • 안치봉
      1999.04.15 06:12
      이호선 wrote: > 안녕하세요.. > 일반 control(예: Panel)에 이미지를 실을려하는데 > 어떻게해야 할지...
    • 신인재
      1999.04.15 06:22
      안치봉 wrote: > 이호선 wrote: > > 안녕하세요.. > > 일반 control(예: Panel)에 이미지를 실을려하는...
    • 조성윤
    • 1999.06.22 07:11
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 류동균
      1999.06.22 08:19
      조성윤 께서 말씀하시기를... > 또 질문 하게 되는군요 > items속성의 값을 테이블의 특정 필드에 값을 ...
    • 이호선
    • 1999.04.15 05:08
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 전철호
      1999.04.20 03:56
      이호선 wrote: > 안녕하세요.. > 일반 control(예: Panel)에 이미지를 실을려하는데 > 어떻게해야 할지...
    • 안치봉
      1999.04.15 06:12
      이호선 wrote: > 안녕하세요.. > 일반 control(예: Panel)에 이미지를 실을려하는데 > 어떻게해야 할지...
    • 신인재
      1999.04.15 06:22
      안치봉 wrote: > 이호선 wrote: > > 안녕하세요.. > > 일반 control(예: Panel)에 이미지를 실을려하는...
    • 류성호
      1999.06.22 05:24
      홍희석 께서 말씀하시기를... > 전 delphi로 주로 db그리두만 이용해오다가 > 이번에 스트링 그리드를 쓰...
    • franco97
      1999.06.22 22:43
      스트링그리드의 한필드에 문자타입의 10자리 코드가 (ex: 0000012345,0000078901,...) 들어있습니다.. ...
    • 이슬
    • 1999.04.15 03:34
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 김영해
      1999.04.17 08:00
      이슬 wrote: > 1. ParamByName과 FieldByName의 차이점이 무엇인지요? > > 2. 폼에 성별(남,여:radiobu...
    • 신호성
      1999.04.16 01:36
      > 2. 폼에 성별(남,여:radiobutton) 체크가 있는데, DB는 Alpha로 2자리 만들었습니다. > 근데, DBGrid에...
    • 박종모
      1999.04.15 04:44
      이슬 wrote: > 1. ParamByName과 FieldByName의 차이점이 무엇인지요? > > 2. 폼에 성별(남,여:radiobu...
    • 글쎄요
      1999.04.15 05:41
      추가로 답변합니다. 2번째 건데 답변이 잘 못된 것 같아요. 가장 좋은 방법은 DBGRID 대신에 STRINGGRID...
    • 이용민
    • 1999.06.22 04:29
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.06.22 07:54
      이용민 께서 말씀하시기를... > 안녕하세요. (주) 천의무봉의 이용민입니다. > > 1. 변수를 초기화 해...
    • 이호선
    • 1999.06.22 02:51
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 이호선
      1999.04.15 05:08
      안녕하세요.. 일반 control(예: Panel)에 이미지를 실을려하는데 어떻게해야 할지 궁금합니다. 좋은밤 ...
    • 이정욱
      1999.06.22 07:50
      나이렉스에서 구매하실 수 있습니다. 하지만 단종품목이라 기술지원을 받지는 못합니다. 사이트는 http:/...
    • 전철호
      1999.04.20 03:56
      이호선 wrote: > 안녕하세요.. > 일반 control(예: Panel)에 이미지를 실을려하는데 > 어떻게해야 할지...
    • 안치봉
      1999.04.15 06:12
      이호선 wrote: > 안녕하세요.. > 일반 control(예: Panel)에 이미지를 실을려하는데 > 어떻게해야 할지...
    • 신인재
      1999.04.15 06:22
      안치봉 wrote: > 이호선 wrote: > > 안녕하세요.. > > 일반 control(예: Panel)에 이미지를 실을려하는...
    • 강인경
    • 1999.06.22 01:16
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영대
      1999.06.25 02:14
      강인경 께서 말씀하시기를... > 김영대님의 ActiveFtp에서 사용된 왼쪽화면의 버튼콤포넌트는 어디에서 구...
    • Faster
    • 1999.04.15 01:40
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 아무개
      1999.04.15 04:49
      안녕하세요? 델파이 Q&A는 최소한 노력을 하는 사람들이 배워가는 곳입니다. 문제를 내고, 답을 맞추는 ...