![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Файлы [D7, WinXP]
Viper © (2004-10-15 21:45:00)Как узнать когда был создан файл, например с:\1.txt и
когда он был изменен?
И если можно эти значения редактировать, то как?
GanibalLector (2004-10-18 01:25:00) [1]>а вот самому написать аналогичную для SETFileTimes неполучаеться
А в чем сложность???Или лень???Мне тоже...вот,нашел пример:
function SetFileDateTime(FileName: string; NewDateTime: TDateTime): Boolean;
var
FileHandle: Integer;
FileTime: TFileTime;
LFT: TFileTime;
LST: TSystemTime;
begin
Result := False;
try
DecodeDate(NewDateTime, LST.wYear, LST.wMonth, LST.wDay);
DecodeTime(NewDateTime, LST.wHour, LST.wMinute, LST.wSecond, LST.wMilliSeconds);
if SystemTimeToFileTime(LST, LFT) then
begin
if LocalFileTimeToFileTime(LFT, FileTime) then
begin
FileHandle := FileOpen(FileName, fmOpenReadWrite or
fmShareExclusive);
if SetFileTime(FileHandle, nil, nil, @FileTime) then
Result := True;
end;
end;
finally
FileClose(FileHandle);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
if SetFileDateTime(OpenDialog1.FileName, now) then
ShowMessage('Date set to now !');
end;
Viper (2004-10-17 23:00:00) [2]!
> GanibalLector
юзал твой пример все ОК
а вот самому написать аналогичную для SETFileTimes неполучаеться, помоги напиши пример использования для setfiletime
Viper (2004-10-16 20:21:00) [3]спасибочки...
GanibalLector (2004-10-16 12:20:00) [4]function GetFileTimes(const FileName: string; var Created: TDateTime;
var Accessed: TDateTime; var Modified: TDateTime): Boolean;
var
h: THandle;
Info1, Info2, Info3: TFileTime;
SysTimeStruct: SYSTEMTIME;
TimeZoneInfo: TTimeZoneInformation;
Bias: Double;
begin
Result := False;
Bias := 0;
h := FileOpen(FileName, fmOpenRead or fmShareDenyNone);
if h > 0 then
begin
try
if GetTimeZoneInformation(TimeZoneInfo) <> $FFFFFFFF then
Bias := TimeZoneInfo.Bias / 1440; // 60x24
GetFileTime(h, @Info1, @Info2, @Info3);
if FileTimeToSystemTime(Info1, SysTimeStruct) then
Created := SystemTimeToDateTime(SysTimeStruct) - Bias;
if FileTimeToSystemTime(Info2, SysTimeStruct) then
Accessed := SystemTimeToDateTime(SysTimeStruct) - Bias;
if FileTimeToSystemTime(Info3, SysTimeStruct) then
Modified := SystemTimeToDateTime(SysTimeStruct) - Bias;
Result := True;
finally
FileClose(h);
end;
end;
end;
Viper (2004-10-16 11:52:00) [5]>GetFileTime
>SetFileTime
что-то я немогу разобраться с параметрами можешь написать пример
для с:\1.txt как использовать SetFileTime и GetFileTime
Viper (2004-10-15 22:12:00) [6]Огромное спасибо!!!
GuAV (2004-10-15 22:00:00) [7]
> Как узнать когда был создан файл, например с:\1.txt и
> когда он был изменен?
GetFileTime
> И если можно эти значения редактировать, то как?
SetFileTime