Форум: "Начинающим";
Текущий архив: 2007.11.11;
Скачать: [xml.tar.bz2];
ВнизКак поменять дату файла? Найти похожие ветки
← →
Ega23 © (2007-10-16 12:02) [0]Недавно проскакивало, но что-то не нашёл...
Ткните носом в хелп, плиз...
← →
Правильный Вася (2007-10-16 12:06) [1]function FileSetDate(const FileName: string; Age: Integer): Integer; overload;
← →
Ega23 © (2007-10-16 12:08) [2]Так, новая вводная. SetFileTime я уже нашёл.
Речь о командной строке, т.е. из cmd-shell
Желательно средствами самого shell, без JScript или VBScript
← →
Ins © (2007-10-16 12:08) [3]Попробуйте это.
unit ExFiles;
interface
uses Windows, SysUtils;
function GetFileCreationDateTime(FileName: TFileName; var Date: TDateTime): Boolean;
function GetFileLastAccessDateTime(FileName: TFileName; var Date: TDateTime): Boolean;
function GetFileLastWriteDateTime(FileName: TFileName; var Date: TDateTime): Boolean;
function SetFileCreationDateTime(FileName: TFileName; Date: TDateTime): Boolean;
function SetFileLastAccessDateTime(FileName: TFileName; Date: TDateTime): Boolean;
function SetFileLastWriteDateTime(FileName: TFileName; Date: TDateTime): Boolean;
implementation
function DateTimeToFileTime(Date: TDateTime): TFileTime;
var
LocalFileTime: TFileTime;
DosTime: Integer;
begin
DosTime:=DateTimeToFileDate(Date);
DosDateTimeToFileTime(LongRec(DosTime).Hi,LongRec(DosTime).Lo,LocalFileTime);
LocalFileTimeToFileTime(LocalFileTime,Result);
end;
function FileTimeToDateTime(FileTime: TFileTime): TDateTime;
var
LocalFileTime: TFileTime;
DosTime: Integer;
begin
FileTimeToLocalFileTime(FileTime,LocalFileTime);
FileTimeToDosDateTime(LocalFileTime,LongRec(DosTime).Hi,LongRec(DosTime).Lo);
Result:=FileDateToDateTime(DosTime);
end;
function GetFileCreationDateTime(FileName: TFileName; var Date: TDateTime): Boolean;
var
Handle: HFile;
FileTime: TFileTime;
begin
Result:=false;
Handle:=HFile(FileOpen(FileName,fmOpenRead));
try
if Handle<>INVALID_HANDLE_VALUE then begin
if GetFileTime(Handle,@FileTime,nil,nil) then begin
Date:=FileTimeToDateTime(FileTime);
Result:=true;
end;
end;
finally
FileClose(Handle);
end;
end;
function GetFileLastAccessDateTime(FileName: TFileName; var Date: TDateTime): Boolean;
var
Handle: HFile;
FileTime: TFileTime;
begin
Result:=false;
Handle:=HFile(FileOpen(FileName,fmOpenRead));
try
if Handle<>INVALID_HANDLE_VALUE then begin
if GetFileTime(Handle,nil,@FileTime,nil) then begin
Date:=FileTimeToDateTime(FileTime);
Result:=true;
end;
end;
finally
FileClose(Handle);
end;
end;
function GetFileLastWriteDateTime(FileName: TFileName; var Date: TDateTime): Boolean;
var
Handle: HFile;
FileTime: TFileTime;
begin
Result:=false;
Handle:=HFile(FileOpen(FileName,fmOpenRead));
try
if Handle<>INVALID_HANDLE_VALUE then begin
if GetFileTime(Handle,nil,nil,@FileTime) then begin
Date:=FileTimeToDateTime(FileTime);
Result:=true;
end;
end;
finally
FileClose(Handle);
end;
end;
function SetFileCreationDateTime(FileName: TFileName; Date: TDateTime): Boolean;
var
Handle: HFile;
FileTime: TFileTime;
begin
Result:=false;
Handle:=HFile(FileOpen(FileName,fmOpenWrite));
try
if Handle<>INVALID_HANDLE_VALUE then begin
FileTime:=DateTimeToFileTime(Date);
Result:=SetFileTime(Handle,@FileTime,nil,nil);
end;
finally
FileClose(Handle);
end;
end;
function SetFileLastAccessDateTime(FileName: TFileName; Date: TDateTime): Boolean;
var
Handle: HFile;
FileTime: TFileTime;
begin
Result:=false;
Handle:=HFile(FileOpen(FileName,fmOpenWrite));
try
if Handle<>INVALID_HANDLE_VALUE then begin
FileTime:=DateTimeToFileTime(Date);
Result:=SetFileTime(Handle,nil,@FileTime,nil);
SetFileTime(Handle,nil,-1,nil);
end;
finally
FileClose(Handle);
end;
end;
function SetFileLastWriteDateTime(FileName: TFileName; Date: TDateTime): Boolean;
var
Handle: HFile;
FileTime: TFileTime;
begin
Result:=false;
Handle:=HFile(FileOpen(FileName,fmOpenWrite));
try
if Handle<>INVALID_HANDLE_VALUE then begin
FileTime:=DateTimeToFileTime(Date);
Result:=SetFileTime(Handle,nil,nil,@FileTime);
end;
finally
FileClose(Handle);
end;
end;
end.
← →
Ega23 © (2007-10-16 12:08) [4]
> function FileSetDate(const FileName: string; Age: Integer):
> Integer; overload;
Спасибо, возьму на заметку.
← →
Ins © (2007-10-16 12:09) [5]
> Так, новая вводная.
Огласите весь список
← →
Ega23 © (2007-10-16 12:09) [6]
> Ins © (16.10.07 12:08) [3]
Это самописное?
← →
Ins © (2007-10-16 12:10) [7]
> Это самописное?
Самописное
← →
Denis__ © (2007-10-16 15:55) [8]
function SetFileLastAccessDateTime(FileName: TFileName; Date: TDateTime): Boolean;
Не работает :) Инс, чего не исправил?
← →
Ins © (2007-10-16 15:59) [9]
> Инс, чего не исправил?
Даже с этой строчкой?
SetFileTime(Handle,nil,-1,nil);
Если все равно не работает, то и фиг с ним. Мне оно не надо? :)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.11.11;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.054 c