Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Смена даты открытия файла.


Страницы:   1 2

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);


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо