Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.22;
Скачать: CL | DM;

Вниз

Как изменить ВРЕМЯ создания файла?   Найти похожие ветки 

 
sadko   (2006-01-05 20:45) [0]



 
begin...end ©   (2006-01-05 20:51) [1]

API-функция SetFileTime. Будут вопросы -- спрашивайте.


 
sadko   (2006-01-05 20:55) [2]

я извиняюсь, приведите пример исспользования


 
Gero ©   (2006-01-05 21:11) [3]

> sadko   (05.01.06 20:55)

http://www.google.com.ru/search?q=SetFileTime

По первой же ссылке будет описапние с примером.


 
begin...end ©   (2006-01-05 21:30) [4]

> 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


 
Revan   (2006-01-05 21:42) [5]


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;


Вот так! Проверено :)


 
Gero ©   (2006-01-05 21:44) [6]



// 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) [7]

А у вас без комментариев! :P


 
Fay ©   (2006-01-05 22:04) [8]

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.



Страницы: 1 вся ветка

Текущий архив: 2006.01.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.045 c
3-1132729810
syte_ser78
2005-11-23 10:10
2006.01.22
Помогите с написанием запроса


14-1135713669
Витёк
2005-12-27 23:01
2006.01.22
Тут есть хоть один толковый программист????


1-1134992828
Scorpio
2005-12-19 14:47
2006.01.22
Закрыитие документа WORD без сохранения


6-1128695410
NikNet
2005-10-07 18:30
2006.01.22
Как изменить Сетевое имя/IP/Коментарий?


14-1135798373
MBo
2005-12-28 22:32
2006.01.22
Поздравляю Sha и соратников по FastCode!