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

Вниз

Установить новое время на файле   Найти похожие ветки 

 
beglec ©   (2006-03-05 10:22) [0]

Не могу понять, почему не устанавливается новое время на файле:

Пробую 1 вариант:

var TheFile: file;
begin
  AssignFile(TheFile, ‘tmp.tmp’);
  Reset(TheFile);
  FileSetDate(TFileRec(TheFile).Handle, DateTimeToFileDate(1));
  Close(TheFile);
end;


Пробую 2 вариант:

Var vhnd: Integer;
begin
  vhnd := FileOpen(‘tmp.tmp’, fmOpenReadWrite);
  FileSetDate(vhnd, Datetimetofiledate(1));
  FileClose(vhnd);
end;

Также не получается

Пробую просто

FileSetDate(‘tmp.tmp’,1);

Тот же  эффект :(

А это код из моей программы

  SQL_File.SaveToFile("tmp.tmp");
  SQL_File.Clear;
  FileSetDate("tmp.tmp",1);
  Halt;


Подскажите что сделать?! Никаких ошибок не выдает!

Цель нужно изменить время создания файла и последнего изменения файле.


 
beglec ©   (2006-03-05 10:23) [1]

Поправка SQL_File это TMemoryStream


 
beglec ©   (2006-03-05 11:25) [2]

нашел решение
  hFile:=FileOpen(FileName,fmOpenWrite OR fmShareDenyNone);                                    
  try
     if hFile<>0 then
     begin
        DateTimeToSystemTime(DT,SystemTime);
        FileTime.dwLowDateTime:=1;
        Windows.SetFileTime(hFile,@FileTime,nil,nil);                          
        Windows.SetFileTime(hFile,nil,@FileTime,nil);
        Windows.SetFileTime(hFile,nil,nil,@FileTime);                          
     end;
  finally FileClose(hFile);                                                    
  end;

P.S. пи............................... в сторону админа который переместил эту ветку в начинающих. Если эти примеры действительно не работающие!!! ни одного ответа. Значит проблема не такая легкая как кажется на первый взгляд. Зато некоторые темы ламерские темы обсуждаем по 250 раз :(
Извиняюсь, просто напикело и надоело.

Например чтобы докопаться до этого примера, мне пришлось довольно много перелапатить причем там где "начинающему" явно далеко.

Еще раз извиняюсь на резкость в сторону админов.


 
anton_k ©   (2006-03-05 12:11) [3]


> мне пришлось довольно много перелапатить причем там где
> "начинающему" явно далеко.

Достаточно было заглянуть в справку.


 
beglec ©   (2006-03-05 12:46) [4]

смотря какую справку - это довольно абстрактное понятие.

Еще раз говорю
FileSetDate(const FileName: string; Age: Integer): Integer; overload;
я ненашел ни одного рабочего примера.
может чего то не так делаю, что в полне возможно
но справка по этой функии примера не дает

SetFileTime - абсолютно нет описания. Правила использования наковырял в исходниках Windows библиотечки


 
anton_k ©   (2006-03-05 13:21) [5]

А зачем для функции FileSetDate пример? Там и без примера все ясно. А описание SetFileTime можно найти или в Windows SDK, который устанавливается вместе с Delphi, или в MSDN.



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

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

Наверх




Память: 0.48 MB
Время: 0.039 c
1-1140185224
KyRo
2006-02-17 17:07
2006.03.19
Почему не стартует нить ??


15-1140681266
Igorek
2006-02-23 10:54
2006.03.19
Новый LCD монитор :)


15-1140539510
Kerk
2006-02-21 19:31
2006.03.19
Купил наушники наконец


15-1140863339
DVD
2006-02-25 13:28
2006.03.19
Есть ли такой переходничёк...


1-1140063579
tigra
2006-02-16 07:19
2006.03.19
Затормозить выполнение программы