Q&A

  • 컴파일시 컴파일한 날짜를 가져오는 방법.???


  제목 그대로 입니다.
  컴파일시 컴파일한 날짜를 가져오는 방법을 알고 싶읍니다.
  그래서 Window Title에 넣고 싶은데요....
8  COMMENTS
  • Profile
    구창민 2003.02.12 19:54
    안녕하세여? 구창민입니다.

    파일의 생성일자가 곧 파일을 컴파일한 날짜가 아닐까여?

    컴파일을 하면 Make 를 하는데 그때 일자가 변경될텐디?

    ??? 멀 잘못생각하고 있나 내가? ㅋㅋ

    파일날짜을 얻어오려면,

    파일의 열어서 FileOpen

    FileGetDate, FileDateToDateTime <-- 요 함수들로

    얻어내심 됩니다

    즐거운프로그래밍 하세여~





  • Profile
    최용일 2003.02.12 23:50
    제가 너무 어렵게 생각했나 보네요...

    사용자가 파일생성일을 변경하거나 하면 바뀌어지니까... 별의미가 없으리라고 생각했는데...

  • Profile
    정보근 2003.02.13 19:20
      맞아요!!!

      생성일이 바뀌니 바로 문제가 되네요..

      FTP로 다운받으니까 바로 바뀌어 버리내요......

      님께서 좀더 자세하게 설명을 해주실수는 없는지...????

      예제도... ^.^

      부탁 드릴께요.


  • Profile
    정보근 2003.02.12 20:37
      도움주셨어 감사합니다.
      덕분에 문제는 해결이 된것 같읍니다.

      그런데 실행중인 프로그램을 다시 Open한다는것이 좀...
      뭔가 낭비가 있는것 같아서.....

      그냥 프로그램을 실행할때 Handle을 구할수는 없는지???
      그러니까 실행시킨 본인의 Handle값.......

      다시한번 부탁 드리겠읍니다.

      좋은 하루 되십시요.


  • Profile
    구창민 2003.02.12 22:31
    아래 코드들을 참고하시면 되겠네여~

    항상 즐거운 프로그래밍 하시길~

    procedure TFileInfoForm.GetFileInfo(FileName: String);
    function FileSize(hi,lo: integer) :longint;
    begin
       Result := (hi * MAXDWORD) + lo;
    end;

    // This function retrieves the last time, the given file was written to disk
    function GetLocalTime(a:tfiletime):string;
    var
       mtm:   TSystemTime;
       at:    TFileTime;
       ds,ts: ShortString;
    begin
       filetimetolocalfiletime(a,at);
       filetimetosystemtime(at,mtm);
       SetLength(ds, GetDateFormat(LOCALE_USER_DEFAULT, 0, @mtm, NIL, @ds[1], 255) - 1);
       SetLength(ts, GetTimeFormat(LOCALE_USER_DEFAULT, time_noseconds, @mtm, NIL,
                                                    @ts[1], 255)  - 1);
       Result:=ds+'  '+ts;
    end;

    var
    SHFinfo: TSHFileInfo;
    FindData: TWin32FindData;
    FindHandle :THandle;
    begin
    L_FileName.Caption := ExtractFileName(FileName); // 파일명(Name)

    ShGetFileInfo(PChar(FileName), 0, SHFinfo, SizeOf(SHFinfo), // 파일종류만 알아낸다
                   SHGFI_TYPENAME);
    L_Filetype.Caption := SHFinfo.szTypeName; // 파일종류(Type)

    FindHandle := Windows.FindFirstFile(PChar(FileName), FindData);
    try
       L_Filesize.Caption := FloatToStr(Trunc(FileSize(FindData.nFileSizeHigh, FindData.nFileSizeLow) / 1024))+' KB ('+
                             IntToStr(FileSize(FindData.nFileSizeHigh, FindData.nFileSizeLow))+' Bytes)';

       OldAttributes := FileGetAttr(FileName);  // 파일의 속성(attribute)
       CB_ReadOnly.Checked := (OldAttributes and faReadOnly) = faReadOnly;
       CB_Archive.Checked  := (OldAttributes and faArchive) = faArchive;
       CB_System.Checked   := (OldAttributes and faSysFile) = faSysFile;
       CB_Hidden.Checked   := (OldAttributes and faHidden) = faHidden;

       L_Created.Caption    := GetLocalTime(FindData.ftCreationTime);   // 파일생성일(Created)
       L_Modified.Caption   := GetLocalTime(FindData.ftLastWriteTime);  // 파일변경일(Modified)
       L_LastAccess.Caption := GetLocalTime(FindData.ftLastAccessTime); // 파일접근일(LastAccess)
    finally
       Windows.FindClose(FindHandle);
    end;
    end;

  • Profile
    정보근 2003.02.12 23:43
    정말 감사합니다. - 내용무
  • Profile
    최용일 2003.02.12 19:40
    안녕하세요. 최용일입니다.

    제가 생각하기에는 프로그램에서 직접 컴파일한 날짜를 가져오는 방법은 없을거 같네요...

    RTTI를 이용해서 Wizard/Expert를 만드신다면 컴파일하기전에 넣어줄 수도 있겠지만... 이것두 만들기가...

    ^^ 항상 즐코하세요...

  • Profile
    bcna 2007.12.10 23:44
    보통 일반 컴파일러의 대부분에서 내장 매크로 부분에
    __DATE__ 와 __TIME__ 가 있습니다....

    즉 MFC에서는 CString 변수 하나를 할당하시고
    그냥 __DATE__ 와 __TIME__ 을 CString변수에 넣기만 하면 됩니다.

    이는 컴파일시 이미 날짜정보와 시간이 설정이 됩니다....
    아마 델파이도 될것 같은데요....

    • ji
    • 2003.02.12 23:46
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 양충규
    • 2003.02.12 22:35
    • 2 COMMENTS
    • /
    • 0 LIKES
    • KDDG_BaSTaD
      2003.02.14 06:19
      ==> Indy는 아시는 것처럼 Block Type Socket입니다. Block과 Non-Block사이에는 서로 이견이 많지만,...
    • 구창민
      2003.02.13 00:01
      안녕하세요? 구창민입니다. 그 Timer 가 하는 행동을 똑같이 하는 Thread 를 하나 만드시면 됩니다. ...
    • 이정택
    • 2003.02.12 22:04
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김형식
      2003.02.13 01:25
      캐릭터셋 문제가 아닐까 싶네요. 폰트 다이얼로그에서 캐릭터셋을 한글로 맞춰보세요.
    • 구창민
      2003.02.12 22:33
      TreeView 의 Font 의 스크립트를 한글로 바꾸어 보세여.. 정답이 아닐수도 있습니다. 즐거운 프로그...
    • 구니
    • 2003.02.12 21:50
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 머슴
      2003.02.13 01:21
        http://www.oracle.com/kr/download/index.html?databases.html   여기 한번 가...
    • 송흥순
    • 2003.02.12 21:06
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 갈매기
      2003.02.12 21:28
      두대의 컴이 os가 틀리다면 그런 문제가 발생합니다. 예를 들자면 한대는 win98이고 한대는 nt계열이라면 ...
    • 나현찬
    • 2003.02.12 21:03
    • 2 COMMENTS
    • /
    • 0 LIKES
    • KDDG_ZZOM
      2003.02.12 23:57
      퀵리포트의 최대단점이라고 말할수있네요... 그래도 레이저면 어느정도 맞겠는데... 잉크젯이나 도트가 있...
    • KDDG_Cali
      2003.02.12 22:21
      이게 정상인지 비정상인지는 모르겠으나 기종이 틀리다면 잘 안 맞더라고요. 같은 HP라도 틀리게 나오죠.....
    • J
      2003.02.12 21:37
      update employee set dept_code = emp_code 간단하죠??
    • 강석찬
      2003.02.12 21:34
      procedure TForm1.Button1Click(Sender: TObject); begin   with query1 do begin  &nbs...
    • 구창민
      2003.02.12 22:36
      오래전에 이미 질문이 많이 나오던 내용이군여 검색을 하셨더라면 손쉽게 해결하셨을 텐데.. 아래 ...
    • 한경섭
      2003.02.13 00:24
      정말 감사합니다. 맞습니다, 맞고요. 그럼 2번째(DBGrid내의 Combobox클릭)는 어떻게 해야하는지 알려주...
    • 강인규
      2003.02.12 20:53
      Close 와 Open 함수의 원형입니다. procedure TDataSet.Open; begin   Active := True; en...
    • Galaxy
    • 2003.02.12 19:01
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김민수
    • 2003.02.12 18:57
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 정보근
    • 2003.02.12 18:25
    • 8 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2003.02.12 19:54
      안녕하세여? 구창민입니다. 파일의 생성일자가 곧 파일을 컴파일한 날짜가 아닐까여? 컴파일을 하...
    • 최용일
      2003.02.12 23:50
      제가 너무 어렵게 생각했나 보네요... 사용자가 파일생성일을 변경하거나 하면 바뀌어지니까... 별의미...
    • 정보근
      2003.02.13 19:20
        맞아요!!!   생성일이 바뀌니 바로 문제가 되네요..   FTP로 다운...
    • 정보근
      2003.02.12 20:37
        도움주셨어 감사합니다.   덕분에 문제는 해결이 된것 같읍니다.   ...
    • 구창민
      2003.02.12 22:31
      아래 코드들을 참고하시면 되겠네여~ 항상 즐거운 프로그래밍 하시길~ procedure TFileInfoForm.GetF...
    • 정보근
      2003.02.12 23:43
      정말 감사합니다. - 내용무
    • 최용일
      2003.02.12 19:40
      안녕하세요. 최용일입니다. 제가 생각하기에는 프로그램에서 직접 컴파일한 날짜를 가져오는 방법은 없...
    • • • •
    • 열심히
      2003.02.12 20:44
      오라클안에 BIN 폴더안에 해당 파일들이 들어있습니다... 오라클을 깔면 패스는 잡히니깐 위 답글을 다...
    • 머슴
      2003.02.12 19:29
      기본적으로 BDE를 이용하시려면  SQL*Net를 설치가 되어 있어여 합니다. (보통 설치후 재...
    • gokick
      2003.02.12 19:23
      오라클 버전에 따라 틀립니다. 오라클 설치하셨다면 오라클 경로의 Bin으로 Path가 잡혀 있는지 확인 하...
    • 이병훈
      2003.02.13 23:38
      "오라클 설치하셨다면 오라클 경로의 Bin으로 Path가 잡혀 있는지 확인"의 말뜻을 잘 모르겠습니다. 유닉...
    • 5565
    • 2003.02.12 08:12
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.02.12 19:42
      안녕하세요. 최용일입니다. 메일로 답변드렸는데... 또 보내요... var     Key...
    • 안중태
      2003.02.13 00:46
      최용일님께서 알려주신대로 그대로 했습니다. 밑에는 Ctrl+L 인데 제가 Ctrl+O로 고치고 메모장을 뛰우고...
    • 최용일
      2003.02.13 10:20
      안녕하세요. 최용일입니다. 그냥 Ctrl-O누르는거랑 메뉴의 엑셀레이터키인 Ctrl-O를 누르는거하고는 많...
    • 아폴론
    • 2003.02.12 04:39
    • 1 COMMENTS
    • /
    • 0 LIKES
    • KDDG_hyun
      2003.02.12 19:01
      아래 트라이문 없이 해보세요 그냥 쿼리 넣는거만 하면 되내요 저는;; procedure TForm1.Button1Clic...
    • KDDG_ZZOM
      2003.02.12 04:15
      질문의 요지를 잘모르겠네요... 우선 iCount값이 0일때 계속 호출해야되면 for문보다는 while문으로 돌리...
    • 초보에요.
      2003.02.12 21:00
      질문의 어설픔에도 불구하고.. 제가 의도한 대답을 알려주셔서.. 감샤감샤..