![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как изменить ВРЕМЯ создания файла? [D7, 95/98]
sadko © (2006-01-05 20:45:00)
Fay (2006-01-05 22:04:00) [1]2 Revan (05.01.06 21:42) [5]
> H: Integer;
На самом деле DWORD
> , FILE_FLAG_BACKUP_SEMANTICS
А жирно не будет?
> OPEN_EXISTING
Это, конечно здорово, но где проверка результата CreateFile?
Да и ваще, зачем такие ужасы сi := Date;?
GetLocal(System)Time ещё никто не отменял.
З.Ы.
Странное имя для для даты - i.
Да и тип странный - TDate. Date() возвращает конкретно TDateTime.
Gero (2006-01-05 21:44:00) [2]
// SetFileToCurrentTime - sets last write time to current system time
// Return value - TRUE if successful, FALSE otherwise
// hFile - must be a valid file handle
BOOL SetFileToCurrentTime(HANDLE hFile)
{
FILETIME ft;
SYSTEMTIME st;
BOOL f;
GetSystemTime(&st); // gets current time
SystemTimeToFileTime(&st, &ft); // converts to file time format
f = SetFileTime(hFile, // sets last-write time for file
(LPFILETIME) NULL, (LPFILETIME) NULL, &ft);
return f;
}
Gero (2006-01-05 21:44:00) [3]А у вас без комментариев! :P
Revan (2006-01-05 21:42:00) [4]
procedure TfrmMain.ChangeDate(AFileName: string);
var
i: TDate;
H: Integer;
f: TFileTime;
s: TSystemTime;
begin
H := CreateFile(PChar(AFileName), $0100, 0, nil, OPEN_EXISTING,
FILE_FLAG_BACKUP_SEMANTICS, 0);
i := Date;
DateTimeToSystemTime(i, S);
SystemTimeToFileTime(S, F);
LocalFileTimeToFileTime(F, F);
SetFileTime(H, @f, @f, @f);
CloseHandle(H);
end;
Вот так! Проверено :)
begin...end (2006-01-05 21:30:00) [5]> sadko (05.01.06 20:55) [2]
Пример. Устанавливает время создания файла равной текущему времени.
var
H: Cardinal;
ST: TSystemTime;
FT: TFileTime;
begin
H := FileOpen('C:\MyFile.txt', fmOpenWrite);
try
GetSystemTime(ST);
SystemTimeToFileTime(ST, FT);
SetFileTime(H, @FT, nil, nil);
finally
FileClose(H)
end
end
Gero (2006-01-05 21:11:00) [6]> sadko (05.01.06 20:55)
http://www.google.com.ru/search?q=SetFileTime
По первой же ссылке будет описапние с примером.
sadko (2006-01-05 20:55:00) [7]я извиняюсь, приведите пример исспользования
begin...end (2006-01-05 20:51:00) [8]API-функция SetFileTime. Будут вопросы -- спрашивайте.