Конференция "KOL" » Как изменить дату файла? [Delphi, Windows]
 
  • andreil © (23.02.08 15:08) [0]
    Собственно на VCL это делалось так:
    FileSetDate(FileHandle, DatetimeToFiledate(EncodeDate(2007, 01, 01)));


    А как аналогично сделать на KOL? И еще - как получить дату создания файла?
  • ANTPro © (23.02.08 16:18) [1]
    FileTime(); — классная процедурка :о)
  • andreil (23.02.08 18:24) [2]
    Спасибо :)
  • andreil © (27.02.08 13:13) [3]
    Хм, сделал так:

    If Find_First(FileName, find) then
    begin
     CreateTime:=find.ftCreationTime;
     CreateTime.dwLowDateTime:=CreateTime.dwLowDateTime-100000;
     FileTime(FileName, @CreateTime, @find.ftLastAccessTime, @find.ftLastWriteTime);
    end;



    дату не меняет :(
  • Compiler © (27.02.08 20:06) [4]

    procedure SetTimeFile(Filename:String; ST:TSystemTime);
    var
     FileHandle:THandle;
     FileTime: TFileTime;
     DT:TDateTime;
    begin
    ZeroMemory(@FileTime,sizeof(FileTime));
    SystemTime2DateTime(ST,DT);
    DateTime2FileTime( dt,FileTime);
    FileHandle:=CreateFile(PChar(Filename), GENERIC_WRITE,
                0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
    SetFileTime(FileHandle,nil,nil,@FileTime);
    CloseHandle(FileHandle);
    end;

    procedure TForm1.Button4Click(Sender: PObj);
    var
     ST:TSystemTime;
    begin
    with ST do
    begin
     wYear:=2007;
     wMonth:=1;
     wDay:=1;
     wHour:=10;
     wMinute:=10;
     wSecond:=10;
    end;
    SetTimeFile('c:\1.wav',st);
    end;

  • andreil © (28.02.08 09:05) [5]
    > Compiler
    Спасибо, мне еще пригодилась бы функция получения даты файла.
    Судя по всему, это будет чтото вроде твоего куска кода, только с GetFileTime?
  • andreil © (28.02.08 09:37) [6]
    Все, уже сделал такую функцию:
    function GetTimeFile(FileName: string): TSystemTime;
    var
     FileHandle:THandle;
     FileTime: TFileTime;
     DT:TDateTime;
    begin
     ZeroMemory(@FileTime,sizeof(FileTime));
     FileHandle:=CreateFile(PChar(Filename), GENERIC_WRITE,
               0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
     GetFileTime(FileHandle, nil, nil, @FileTime);  
     CloseHandle(FileHandle);
     FileTime2DateTime(FileTime, DT);
     DateTime2SystemTime(DT, result);
    end;

 
Конференция "KOL" » Как изменить дату файла? [Delphi, Windows]
Есть новые Нет новых   [134431   +15][b:0][p:0.001]