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

Вниз

Как можно изменить дату и время создания файла?   Найти похожие ветки 

 
Jumbot   (2002-10-04 18:31) [0]

САБЖ


 
AL2002 ©   (2002-10-04 20:02) [1]

SetFileTime юнита SysUtils


 
kerk   (2002-10-04 20:13) [2]

Надесь это вам поможет :)

procedure SetFileTimeEx(FileName: TFileName; CreationTime, ModificationTime: TDateTime);
var
FCreationTime, FModificationTime: _FILETIME;
FileHandle: THandle;

function TDateTimeToUTC(ATime: TDateTime):_FILETIME;
var
SystemTime: _SYSTEMTIME;
LocalTime: _FILETIME;
begin
DecodeDate(ATime, SystemTime.wYear, SystemTime.wMonth,
SystemTime.wDay);
DecodeTime(ATime, SystemTime.wHour, SystemTime.wMinute,
SystemTime.wSecond, SystemTime.wMilliseconds);
SystemTime.wDayOfWeek := DayOfWeek(ATime) - 1;
if not SystemTimeToFileTime(SystemTime, LocalTime) then
RaiseLastWin32Error();
if not LocalFileTimeToFileTime(LocalTime, Result) then
RaiseLastWin32Error();
end;

begin
if not FileExists(FileName) then raise Exception.Create("File " +
FileName + " not exits.");

FCreationTime := TDateTimeToUTC(CreationTime);
FModificationTime := TDateTimeToUTC(ModificationTime);
FileHandle := FileOpen(FileName, fmOpenWrite or fmShareDenyWrite);
if FileHandle = 0 then
RaiseLastWin32Error();
try
if not SetFileTime(FileHandle, @FCreationTime, nil, @FModificationTime) then
RaiseLastWin32Error();
finally
CloseHandle(FileHandle);
end;
end;


 
AL2002 ©   (2002-10-04 20:22) [3]

Немножко попроще: :)

var h:Thandle;
Tnew:FileTime;
s:ofstruct;
SysTime,gt,Local:SYSTEMTIME;

begin
GetSystemTime(SysTime);
GetLocalTime(Local);
gt.wHour:=(systime.wHour);
gt.wMinute:=(systime.wMinute);
gt.wYear:=(systime.wYear);
gt.wMonth:=(systime.wMonth);
gt.wDay:=(systime.wDay);
gt.wSecond:=(systime.wSecond);
h:=OpenFile("File.txt",s,fmOpenReadWrite);
SystemTimetoFiletime(t,Tnew);
SetFileTime(h,@Tnew,nil,@Tnew);
FileClose(h);



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

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

Наверх




Память: 0.47 MB
Время: 0.017 c
7-45605
TiredDmitry
2002-08-04 18:46
2002.10.14
Как запретить Пуск, CTRL+ALT+Del и ALT+TAB в WinXP?


1-45372
nika_ufc
2002-10-06 12:55
2002.10.14
привет всем


14-45565
kaif
2002-09-16 14:08
2002.10.14
Эзоп - первый антидельфиец.


3-45180
SR_
2002-09-20 18:25
2002.10.14
Поиск записи


1-45408
Виктор
2002-10-03 12:21
2002.10.14
Перекомпиляция VCL