Форум: "Основная";
Текущий архив: 2003.09.25;
Скачать: [xml.tar.bz2];
ВнизФайл - время его создания, изменения, открытия Найти похожие ветки
← →
Cr@zy-EyE (2003-09-15 17:26) [0]Как узнать эти св-ва у файла и изменить их.
← →
Cr@zy-EyE (2003-09-15 17:28) [1]Удалено модератором
← →
pasha_golub (2003-09-15 17:29) [2]SetFileAttributes+F1
← →
pasha_golub (2003-09-15 17:32) [3]Пардон, не то :-(
← →
Cr@zy-EyE (2003-09-15 17:35) [4]я посмотрел и тоже это понял
← →
pasha_golub (2003-09-15 17:35) [5]FileSetDate+FileGetDate
← →
[lamer]Barmaglot (2003-09-15 17:37) [6]GetFileTime, SetFileTime
← →
Cr@zy-EyE (2003-09-15 17:46) [7]> pasha_golub © (15.09.03 17:35) [5]
И как понимать это число?
← →
Chlavik (2003-09-15 17:46) [8]А как правильно преобразовать каждое время в TDateTime со структуруры Twin32FileInfo которая входит в состав TSearchRec у меня что то не получилось...
Вот моя функция
function FileTimeToDate(Filetime:TFileTime):TDateTime;
var SysTime:TSystemTime;
begin
if FileTimeToSystemTime(FileTime,SysTime) then
Result:=EncodeDateTime(SysTime.wYear,SysTime.wMonth,SysTime.wDay,
SysTime.wHour,SysTime.wMinute,
SysTime.wSecond,SysTime.wMilliseconds);
end;
← →
Unknown (2003-09-15 17:51) [9]function GetFileModificationDate(FileName: TFileName): TDateTime;
var
FileHandle: THandle;
ModificationTime_: _FILETIME;
LocalModificationTime: _FILETIME;
ModificationTime: _SYSTEMTIME;
begin
FileHandle := CreateFile(PChar(FileName), GENERIC_READ,
FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, 0);
if FileHandle = INVALID_HANDLE_VALUE then
RaiseLastWin32Error();
try
if GetFileTime(FileHandle, nil, nil, @ModificationTime_) = False then
RaiseLastWin32Error();
if not FileTimeToLocalFileTime(ModificationTime_,
LocalModificationTime) then
RaiseLastWin32Error();
if not FileTimeToSystemTime(LocalModificationTime, ModificationTime) then
RaiseLastWin32Error();
Result := EncodeDate(ModificationTime.wYear, ModificationTime.wMonth,
ModificationTime.wDay) + EncodeTime(ModificationTime.wHour,
ModificationTime.wMinute, ModificationTime.wSecond, 0);
finally
CloseHandle(FileHandle);
end;
end;
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;
← →
pasha_golub (2003-09-15 19:21) [10]Это не число, а две функции: одна + вторая :-)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.09.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.092 c