![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Смена даты открытия файла.
Denis_ © (2007-10-02 15:14:00)Как сделать?
пробовал вот эту ф-цию.
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);
end;
finally
FileClose(Handle);
end;
end;
(с)INS
Не работает :(
я пробовал убрать FileClose(Handle); работает только до закрытия программы. А потом дата меняется:(
Можно ли реализовать ???
Инс (2007-10-02 15:50:00) [21]
> Значит, нельзя?:(
В 0-кольце все можно! ;)
Denis_ (2007-10-02 15:49:00) [22]
>
> а, точно! там же дата последнего доступа
> ну тогда да
Значит, нельзя?:(
clickmaker (2007-10-02 15:47:00) [23]
> [9] Инс © (02.10.07 15:45)
а, точно! там же дата последнего доступа
ну тогда да
Инс (2007-10-02 15:45:00) [24]
> clickmaker © (02.10.07 15:37) [7]
Рискну предположить, что дело не в этом. Скорее всего система в любом случае перезапишет дату последнего доступа при закрытии файла.
Denis_ (2007-10-02 15:44:00) [25]Функция правильно выполняется. Но дата остаётся прежней.
clickmaker (2007-10-02 15:37:00) [26]Win32Check(SetFileTime(Handle,nil,@FileTime,nil));
ы?
Германн (2007-10-02 15:36:00) [27]
> Подставил. Не работает :(
)))))))
Denis_ (2007-10-02 15:35:00) [28]
> clickmaker © (02.10.07 15:28) [4]
Подставил. Не работает :(
function SetFileLastAccessDateTime(FileName: TFileName; Date: TDateTime): Boolean;
var
Handle: HFile;
FileTime: TFileTime;
begin
Result:=false;
FileTime:=DateTimeToFileTime(Date);
Handle := CreateFile(pChar(FileName), $100, 0, nil, OPEN_EXISTING, 0, 0);
Result:=SetFileTime(Handle,nil,@FileTime,nil);
CloseHandle(Handle);
end;
clickmaker (2007-10-02 15:28:00) [29]$100
Вася Правильный (2007-10-02 15:27:00) [30]F1
Denis_ (2007-10-02 15:23:00) [31]
> clickmaker © (02.10.07 15:17) [1]
[Error] ExFiles.pas(127): Undeclared identifier: 'FILE_WRITE_ATTRIBUTES'
:(
clickmaker (2007-10-02 15:17:00) [32]Handle := CreateFile(FileName, FILE_WRITE_ATTRIBUTES, 0, nil, OPEN_EXISTING, 0, 0);
Result:=SetFileTime(Handle,nil,@FileTime,nil);
CloseHandle(Handle);