delphi 파일 시간 조작 함수

1541 단어
function CovFileDate(Fd :_FileTime): TDateTime;
{         }
var
  Tct:_SystemTime;
  Temp:_FileTime;
begin
  FileTimeToLocalFileTime(Fd, Temp);
  FileTimeToSystemTime(Temp, Tct);
  CovFileDate := SystemTimeToDateTime(Tct);
end;

procedure GetFileTime(const Tf:string);
{       ,Tf            }
const
  Model='yyyy/mm/dd,hh:mm:ss'; {        }
var
  Tp: TSearchRec; {   Tp        }
  T1, T2, T3: string;
begin
  FindFirst(Tf,faAnyFile,Tp); {        }
  T1 := FormatDateTime(Model, CovFileDate(Tp.FindData.ftCreationTime));
  {           }
  T2 := FormatDateTime(Model, CovFileDate(Tp.FindData.ftLastWriteTime));
  {           }
  T3 := FormatDateTime(Model, Now);
  {             }
  FindClose(Tp);
end;

procedure SetFileDateTime(const FilePathName:string; aDate: TDateTime);
{       ,Tf            }
var 
  Dt1, Dt2: Integer;
  Fs: TFileStream;
  Fct, Flt: TFileTime;
begin
  Dt1 := DateTimeToFileDate(aDate);
  Dt2 := DateTimeToFileDate(aDate);
  {        DataTimePicker     }
  try
    FS := TFileStream.Create(FilePathName, fmOpenReadWrite);
    try
      if DosDateTimeToFileTime(LongRec(DT1).Hi, LongRec(DT1).Lo, Fct) and
          LocalFileTimeToFileTime(Fct, Fct) and
          DosDateTimeToFileTime(LongRec(DT2).Hi, LongRec(DT2).Lo, Flt) and
          LocalFileTimeToFileTime(Flt, Flt)
      then
        SetFileTime(FS.Handle, @Fct, @Flt, @Flt); {          }
    finally
      FS.Free;
    end;
  except
    MessageDlg('        !', mtError, [mbOk], 0);
    {                     }
  end;
end;

좋은 웹페이지 즐겨찾기