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

Вниз

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

 
JTAG   (2005-08-24 13:48) [0]

Уважаемая конференция подскажите плз как узнать время создания файла??? В хелпе нашел функцию FileGetAttr , не могу понять как с ней работать.


 
КаПиБаРа ©   (2005-08-24 13:50) [1]

yandex + FileGetAttr


 
MBo ©   (2005-08-24 13:53) [2]

Ну уж времени эта функция не даст...
Findfirst+ анализ возвращенной SearchRec/FindData


 
JTAG   (2005-08-24 14:07) [3]

Для получения или установки параметров файла используется спец переменная.
TSearchRec = record
          time:integer;
          size:integer;
          attr:integer;
          name: TFileName;
          ExcludeAttr:integer;
          FindHandle:THandle;
          FindData:TWin32FindData;
end.
Нашел , а как сней работать подскажите чайнику.


 
begin...end ©   (2005-08-24 14:28) [4]

> JTAG   (24.08.05 14:07) [3]

Время создания файла находится в поле TSearchRec.FindData.ftCreationTime.


 
JTAG   (2005-08-24 15:26) [5]

Вот я написал процедуру, при нажатии кнопки выбираю нужный файл, открываю его и очень нужно узнать его дату создания
---------------------------------------------------
procedure TForm1.Button3Click(Sender: TObject);
var var fileofdata: file of byte;
begin
opendialog1.initialdir:="d:\temp\";
opendialog1.filter:=" (*.bmp)|*.bmp|Allfiles (*.*)|*.*";

if opendialog1.execute then
    AssignFile(fileofdata, opendialog1.filename);
    Reset(fileofdata);

closefile(fileofdata);
end;
Как мне использовать TSearchRec.FindData.ftCreationTime ???


 
begin...end ©   (2005-08-24 15:31) [6]

> JTAG   (24.08.05 15:26) [5]

> Reset(fileofdata)

Зачем Вы открываете файл? В смысле, потом из него что-то читается?


 
JTAG   (2005-08-24 15:43) [7]

Если у меня дата редактирования файла изменилась , то мне нужно его открыть и считать, а так читать не нужно только в цикле проверять дату создания через несколько секунд.


 
begin...end ©   (2005-08-24 15:53) [8]

> JTAG   (24.08.05 15:43) [7]

> Если у меня дата редактирования файла изменилась , то мне нужно его открыть и считать

Так что именно интересует -- дата последнего редактирования или дата создания файла? Если первое, то поможет функция FileAge. Если второе, то так:

var
 H: Cardinal;
 FD: TWin32FindData;
begin
 H := FindFirstFile(PChar(OpenDialog1.FileName), FD);
 if H <> INVALID_HANDLE_VALUE then
 begin
   Windows.FindClose(H)
   // Работаем с FD.ftCreationTime -- это и есть время создания файла (в формате TFileTime)
 end
end.


 
JTAG   (2005-08-24 15:58) [9]

Огромное спасибо!


 
JTAG   (2005-08-24 16:14) [10]

Еще если можно один вопрос
Посмотрел хелп для функции
function FileAge(const FileName: string): Integer;
Написано что она возвращает значение которое может быть конвертировано в TDateTime используя функцию FileDateToDateTime.
Вообщем как из значения интежер возвращаемое функцией FileAge получить реальную дату?


 
begin...end ©   (2005-08-24 16:19) [11]

> JTAG   (24.08.05 16:14) [10]

var
 DT: TDateTime;
begin
 DT := FileDateToDateTime(FileAge("C:\MyFile.txt"))
end.


 
JTAG   (2005-08-24 16:30) [12]

Огромейшее спасибо!


 
JTAG   (2005-08-24 17:33) [13]

Можно еще один вопрос.
При помощи функции FindNext нахожу файл и потом имя этого файла хочу передать функции Fileage, но он не передается  
---------------------вот кусочек------
var SR:TSearchRec;
var df:integer;

10:       if findnext(SR)=0
          then
                begin //2
             df:=fileage (SR.name);  // тут пытаюсь передать имя найденного файла
    Memo1.Lines.Append("df ="+Inttostr(df)+" "); печатает -1 функция fileage не отрабатывает
             goto 10;
                end;
Как передать имя найденного файла функцией findnext в функцию fileage???


 
begin...end ©   (2005-08-24 17:40) [14]

> JTAG   (24.08.05 17:33) [13]

SR.name -- это только имя файла, без пути (маршрута доступа) к нему. Дополняйте его.


 
JTAG   (2005-08-24 17:45) [15]

Типа так ....
df:=fileage ("F:\files\SR.name");
Что-то не хочет находить.


 
JTAG   (2005-08-24 18:02) [16]

Дошло , огромное спасибо.



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

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

Наверх




Память: 0.5 MB
Время: 0.05 c
1-1126013597
QWe
2005-09-06 17:33
2005.10.02
Как сделать одно fsStayOnTop окно выше такого же другого ?


1-1126460659
Shrike
2005-09-11 21:44
2005.10.02
Рисование на ScrollBar


10-1105126065
darevil
2005-01-07 22:27
2005.10.02
Как подключиться к запущенным экземплярам Explorer a?


1-1126287548
Michael5
2005-09-09 21:39
2005.10.02
Splitter при установке св-ва Panel3.Visible:=true отказывается


1-1125847131
MyName
2005-09-04 19:18
2005.10.02
Dll String