Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.03.19;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.014 c
3-1138104210
box
2006-01-24 15:03
2006.03.19
Вычисления по связанным таблицам


15-1140639598
Ломброзо
2006-02-22 23:19
2006.03.19
DMJS 1.0


1-1139514668
Yozch1
2006-02-09 22:51
2006.03.19
вызов процедуры из DLL


15-1140708360
Pazitron_Brain
2006-02-23 18:26
2006.03.19
USB 2


2-1141250151
K_Lock
2006-03-02 00:55
2006.03.19
Вопрос для --> Ega23





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский