Q&A

  • NMFTP에서 파일의 시간은 어떻게 얻을수 있나요?
(^^) (__)
NMFTP를 사용해 FTP서버에 있는 파일의 날짜시간과
클라이언트의 파일에 있는 날짜시간과 비교해 서버의 것이
최신것이면 다운로드 받게 하려고 하는데요..

FTP서버에 있는 파일의 날짜시간을 어떻게 얻을수 있는지
도와 주셔요...

에서 파일의 시간은 어떻게 얻을수 있나요?

NMFTP1.List; 명령으로 onlistitem 이벤트에
다음 프로시저로 listbox1에 값을 입력하고 있는데요..
값을 출력해보면 "파일시간, 인덱스, 파일명"으로 나오네요..
파일시간의 integer값이나 date값을 딱 얻을수 있을까요?

procedure TFdnproc.NMFTP1ListItem(Listing: String);
begin
  showmessage('listing:' + Listing);
  ListBox1.Items.Add(Listing);
end;
3  COMMENTS
  • Profile
    박흥수 2002.12.18 19:00
    감사합니다..

    문자열을 받아서 잘라 쓰는 방법 하고 날짜를 잘라서 포멧주어 사용하는방법
    ^---------^

    고수님들도 NMFTP에서 바로 파일의 날짜를 파싱해서
    얻는방법을 추천하지 않는건 아마도 그런 방법이 없다는 것으로
    판단해야 겠네요..
    전 괜히 찾아 보겠다구 TNMFTP 타입에서
    Modifdate 속성을 어떻게 얻어내나 한참 고민 했거든요..ㅎㅎㅎ


  • Profile
    한휘 2002.12.18 02:53
    제가 가끔씩 쓰는 방법입니다.
    제가따로 팁을 모아놔서..
    반말로 썼으니.. 양해 바랍니다.
    기본적으로 날짜 구분자는 . 로 사용하고 있는 환경에서 만든겁니다.

    //==================================================================
    //
    // 아래의 상황은 클라이언트의 파일의 날짜를 알아온 후 서버에서 같은 파일의
    // 날짜와 비교해서 다르면 다운을 받는 소스에서 일부를 발췌한것이다.

    // FULL_FILE_NAME : 전체경로를 포함한 파일명
    // FileDate : 클라이언트 파일 날짜
    // fdate : 서버와 같은 형식으로 변경된 클라이언트 파일 날짜
    // sDate : 서버 파일 날짜

    //==================================================================



    var

      fdate, sDate: String;
      FileDate : TDateTime;

    begin

         FileDate := FileDateToDateTime(FileAge(FULL_FILE_NAME));    //클라이언트 파일의 시간을 구한다.
         fDate := FormatDateTime('mm-dd-yy  HH:MMAM/PM', FileDate);  // 클라이언트 파일 날짜를 서버날짜와 같은 형식으로 변경한다.  

         sDate := (*서버 파일의 날짜를 구해온다.물론 형식은'mm-dd-yy  HH:MMAM/PM' 이겠지? *)

         if sDate <> fDate then  // 버전 맞지 않을때 체크

           (* 서로 버전이 맞지 않을때의 일을 해준다. *)

            DateSeparator := '-'  // 날짜 구분자를 - 로 변경
            ShortDateFormat := 'mm-dd-yy HH:MMAM/PM'
            SetFileDate(FULL_FILE_NAME, StrToDateTime(sDate));  // 서버의 날자와 일치
            DateSeparator := '.'  // 날짜 구분자를 .로 다시 변경

         end;
    end;


  • Profile
    도니 2002.12.18 02:45
    NMFTP를 안써봐서 잘 모르겠지만..
    님이 쓰신 글 중에..
    요부분에 의하면..파일시간이 나오네욥...
    그럼..나온 데이터에서 파일 시간부분만 잘라서 쓰면 되지 않을까욥?
    copy 같은 함수를 사용해서....ㅎㅎㅎ