Q&A

  • 두 날짜 사이의 차를 구하려고 합니다.
마스크 에디터로 두 날짜( 년도 포함)사이의 차를 구하려고 합니다..
버튼을 누르면 에디트 박스나 라벨에 나타나게여...
혼자 공부하려니 좀 어렵네요....도움을 주시면 감사하겠습니다(__)
3  COMMENTS
  • Profile
    고지범 2002.09.25 05:54
    날짜에 관련된 것은 자료형 구조만 파악하면 딴거 안쓰고 걍... 됩니다..
    먼저 TDateTime, TDate 찾아 보심, 걍... Double type이걸랑요...
    Double type 은 정수 부분과 소수 부분이 있지요.. 이 부분에 저장되는
    형식만 알믄.. 걍 끝입다...
    만일... TDateTime 형식의 값이 100.123 이라구 한다면...
    정수부분 : 100 --> 지정된 날짜로 부터 지난 일수
                             (델파이에서는 1970년 1월1일을 기준으로 하던가
                             그럽니다... 정확한 날짜는 델파이 헬푸를 보시고요..)
    소수부분 : 새벽 0시 부터 지난 MilliSecond 를 하루치 MiliSecond로 나눈값
                  ( 따라서 MSecNow/MSecsPerDay = 0.123 이렇게 되는
                    MSecNow 값이 시간을 표시하죠... MSecsPerDay(? 정확한
                    명칭은 SysUtils 찾아보심 나옵다..)는 델파이
                    에서 정의된 상수값임다. 아마 24*60*60*1000 이겠죠? 하루
                    24시간에 해당하는 총 MiliSecond 값...)
    그러므로
    var
       dtFirst, dtSecond :TDateTime;
       strOut :String;
    begin
       dtFirst := GetFirstDateTime();
       dtSecond := GetSecondDateTime();
       strOut := '두 날짜 ' + DateTimeToStr(dtFirst) + ' / ' +
                    DateTimeToStr(dtSecond) + ' 의 차이는 ' +
                    IntToStr( Trunc(Abs(dtFirst - dtSecond))) + '일 ' +
                    FormatDateTime('HH:NN:SS', Abs(dtFirst - dtSecond)) +
                    '입니다.';
       ShowMessage(strOut);
    end;
    이렇게 하믄 되겠죠?
    Windows에서 사용되는 SYSTEMTIME은 구조체가 아예 년월일시분초등을
    모두 가지고 있는 형태고요..
    Windows에서 사용되는 FILETIME은 1899년 12월 31일(아마 ... 맞을껍다ㆀ)
    을 기준일로 해서 기준일로부터 경과된 MiliSecond를 가지고 있는 형태고...
    델파이 자료형 중 TTimeStamp 는 TDateTime 과 비슷한데, 일 부분과
    MiliSecond부분을 따로 Integer 형으로 구분해 놓은 구조체 이고요...
    리눅스의 경우도 기준일로부터 경과된 일자 / 자정으로부터 경과된 MSec로 구성된 구조체를 사용하는 것으로... 알고 있습다...
    Oracle에서도 Date / DateTime형식이 델파이와 비슷하고요...
    헉헉헉...
    암튼... 시간이 저장되는 형식만 알고 있음... 웬만한 것은 걍.. 코딩으로 가능
    하리라고 생각합니다.
    헉헉거리는 얼큰이었습다.. (__)

  • Profile
    이준해 2002.09.24 19:04

    DateUtils.pas 파일을 찾아보세요.
    필요하신건 다 있을 겁니다.

  • Profile
    임형호 2002.09.24 17:39
    화면옆에 '팁' 메뉴를 누르고.. 검색란에 '날짜' 라고 입력해보세요.
    관련 내용들이 나옵니다. 아마..님께서..궁금해하시던 날짜관련함수들과 다른분들께서 작성해놓으신 함수들을 다 보실수 있을겁니다.
    즐프하세요. ^^;
    • 전형식
      2002.09.24 22:34
      받는쪽이 서버라고요? 그럼 여러 써버한테 보낸달 말씀입니까? (개그 패러디 임다) ^^; 받는쪽이 다중서...
    • 최병철
      2002.09.25 01:37
      델파이5에서는 아래와 같은 순서로 하였읍니다 먼저 델파이 메뉴바에서 - Componet 메뉴를 선택하면 하...
    • 최용일
      2002.09.25 00:23
      안녕하세요. 최용일입니다. 데이터 받는것을 쓰레드에서 돌려보세요... 잘 될거 같은데... ^^ 항상 ...
    • 초짜
    • 2002.09.24 21:03
    • 3 COMMENTS
    • /
    • 0 LIKES
    • KDDG_ZZOM
      2002.09.24 21:16
      procedure TForm1.Button1Click(Sender: TObject); var   buffer : String; begin  &nb...
    • 초짜
      2002.09.24 21:35
      정말 감사합니다.. 많은도움이 됬습니다. 한가지 더 질문을 해도 될가여? 한글을 쓸대 공백을 줄...
    • KDDG_ZZOM
      2002.09.24 22:27
      format이라는 함수를 이용해보시고요... 아니면 생노가다 함수하나 만들어 사용해도 될것같네요...^^ ...
    • 나옹이
    • 2002.09.24 20:55
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.09.25 01:21
      안녕하세요. 최용일입니다. Range나 Selection객체의 InsertBreak메소드를 이용하세요... uses &nbs...
    • 나옹이
      2002.09.25 01:48
      흠냐...이런게 있었네요.....ㅡㅜ 정말 감사합니다.... 근데.... 이런 걸 찾으려면 어디서 찾아야 하...
    • 최용일
      2002.09.25 01:59
      MSDN에도 다 나와 있습니다. within result를 이용해서 근접검색을 여러번하시면 검색될건데... 간단히 ...
    • 신강섭
      2002.09.24 20:51
      TFlat... 을 이용하세요... 플랫컴포넌트.. 잘쓰면 이쁘더라구여.... 자료실에 가서 검색해보면 있을꺼에...
    • 김종화
      2002.09.24 23:12
      답변 감사드리구여.. 자료실에서 컴포넌트는 찾았는데요.. 설치가 안되네요..ㅠㅠ 거기 Txt 파일에 ...
    • 조성필
      2002.09.24 23:59
      팁란이나 강의실에 보시면 해결 방법이 나와있습니다. 저두 처음에 그것때문에 여러가지 컴포넌트를 설치...
    • 신강섭
      2002.09.25 02:51
      그거는 델파이가 설치한 컴포넌트의 위치를 찾지 못해서 그런거거덩여 그러니까... 델파이의 Tools->En...
    • 김종화
      2002.09.25 05:02
      오늘도 하나 배웠습니당. 감사합니당.. 알려주신대로 하니깐 설치는 잘 됬는데요... 제가 원하...
    • KDDG_ZZOM
      2002.09.24 22:42
      안타깝게도 스트링그리드에서 표현하기가 힘들것같네요... 델파이가 업되면서 이기능이 업좀되길 바라는데...
    • 최병철
      2002.09.24 21:16
      제가 여러가 테트스한 결과 저의 실수 였읍니다. 혹시 몰라서 [Tip]에 예제 소스를 올렸읍니다. 참...
    • 김대훈
    • 2002.09.24 19:55
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 고지범
      2002.09.25 06:18
      보통 .dpr 파일은 이렇게 구성되죠... 1)   Application.Initialize; 2)   Applicat...
    • 김형환
      2002.09.24 20:19
      ============================================================== ===================
    • KDDG_ZZOM
      2002.09.24 20:00
      PostMessage(Handle, WM_CLOSE, 0, 0); 이케 해보세요... 즐프하세요...
    • 박동호
    • 2002.09.24 19:43
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이추형
      2002.09.24 19:52
      MS_ACCESS의 Model Deigner에서 추가 삭제 모두 가능합니다. 당연히 기존의 데이타모두 보존되구요.. MS_...
    • 이정용
    • 2002.09.24 19:36
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이승근
    • 2002.09.24 19:36
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 정경철
      2002.09.24 23:38
      1. 외부 프로그램을 실행 할 듯 한데.. 외부 프로그램 실행 하는법은    여기 한텔의 팁에서 "...
    • 허진규
    • 2002.09.24 19:31
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 신강섭
      2002.09.24 19:43
      MaskEdit의 OnEnter()에다가 아래와 같이 써넣으시면 되네요... 자세한 사항은 EM_SETSEL 을 도움말에...
    • KDDG_ZZOM
      2002.09.24 19:40
      검색하시면 나올것같은데...   MaskEdit1.SetFocus;   MaskEdit1.SelStart := 8; &...
    • 한원희
      2002.09.24 19:34
      안녕하세요. 한원희입니다. form2 그러니까, frmMnuF1_5P의 TEdit 의 값들을 가져오기 오려고 하시는 건...
    • 왕초보
    • 2002.09.24 09:02
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 고지범
      2002.09.25 05:54
      날짜에 관련된 것은 자료형 구조만 파악하면 딴거 안쓰고 걍... 됩니다.. 먼저 TDateTime, TDate 찾아 보...
    • 이준해
      2002.09.24 19:04
      DateUtils.pas 파일을 찾아보세요. 필요하신건 다 있을 겁니다.
    • 임형호
      2002.09.24 17:39
      화면옆에 '팁' 메뉴를 누르고.. 검색란에 '날짜' 라고 입력해보세요. 관련 내용들이 나옵니다. 아마..님...
    • 신강섭
      2002.09.24 19:31
      일단 님의 소스를 보니까... 그리드에서 한줄을 읽어서 파일에다가 한줄씩 저장을 하네요... 일단 이렇게...
    • 하일수
      2002.09.25 02:49
      지적해 주신 내용 잘 보았습니다. 하지만 제 실력이 워낙 초보라서 비교인자를 어떻게 응용해야 할 지 모...
    • 고지범
      2002.09.25 06:13
      메모리를 접근할 때, Alignment라는 것이 있습다. packed keyword는 Alignment를 무시할껀지 적용할 껀지...
    • sunny
    • 2002.09.24 03:58
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이추형
      2002.09.24 18:22
      고생이 많으십니다. 인덱스의 일방적인 값으로 데이타를 나열하는것은 권장하고 싶지 않은 방법입니다. ...
    • 최수림
      2002.09.24 06:35
      ^^ 프로젝트 --> 랭귀지에 대한 내용은 저도 잘모르구요..!! TEdit 글짜가 깨져서 나오시면 &n...
    • 이경문
      2002.09.24 03:14
      TrayIcon과 관련된 컴포넌트를 사용했을 경우에 그런 경우가 종종 발생하곤 합니다. 메인 폼에서 WM_QUERY...
    • 최명관
      2002.09.24 03:50
      이미 WM_QUERYENDSESSION을 잡아서 해봤거든요. 근데 종료가 안되네요.. RX 라이브러리에 있는 트...