Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Время создания файла [D7, XP]


b@v ©   (2008-10-29 07:02:00) 

Подскажите как можно узнать время создания файла и сравнить его с системным временем ПК ? Делаю что то типа :


var
File_Rec: TSearchRec;
DateTime:TDateTime;
begin
FindFirst(put + '\1.txt', 1, File_Rec);
DateTime := FileDateToDateTime(File_Rec.Time);
showMessage('Дата и время: ' + DateTimeTostr(DateTime));


где тут что не правильно может быть ?


brother   (2008-10-29 09:15:00) [1]

> С файлами вроде разобрался, а можно ли еще в этом же каталоге
> удалить все пустые подкаталоги ?

одна тема - один вопрос ;)


MBo   (2008-10-29 09:14:00) [2]

http://www.delphimaster.ru/cgi-bin/search.pl?words=findfirst&n=101


b@v   (2008-10-29 09:09:00) [3]

С файлами вроде разобрался, а можно ли еще в этом же каталоге удалить все пустые подкаталоги ?


b@v   (2008-10-29 09:02:00) [4]


> а где у тебя цикл (while) ?


Виноват, уже нашел, спасибо :-)


MBo   (2008-10-29 08:55:00) [5]

а где у тебя цикл (while) ?


b@v   (2008-10-29 08:44:00) [6]


> маска *.* + findNext


Делаю так, но что то он берет тока 1 файл и то с непонятной датой и временем ?


procedure TForm1.Button3Click(Sender: TObject);
var
r : integer;
SR : tSearchRec;
begin
 put := DirectoryListBox1.Directory;
 r := FindFirst(put + '\*.*', faAnyFile, SR);
 if r = 0 then
 begin
   Memo1.Lines.Add(Файл создан : '+ FormatDateTime('mm/dd/yyyy hh:nn:ss',FileAccessDateToDateTime(SR.FindData.ftCreationTime)));
   r := FindNext(SR);
//    FindClose(SR);
 end;
end;


где что может быть неправильно ?


MBo   (2008-10-29 07:40:00) [7]

>как перебрать все файлы в нужном каталоге
маска *.* + findNext


b@v   (2008-10-29 07:37:00) [8]

Впринципе добился того, что показывает дату и время. Но еще вопросик, а как перебрать все файлы в нужном каталоге, а то только когда указываешь конкретный файл, то все ОК, но мне надо узнать по всем файлам.

у меня получилось во так :


procedure TForm1.Button2Click(Sender: TObject);
var r : integer;
   SR : tSearchRec;
begin
 put := DirectoryListBox1.Directory;
 r := FindFirst(put + '\2.txt', faAnyFile, SR);
 if r = 0 then
 begin
   Memo1.Lines.Add('Дата и время : '+ FormatDateTime('mm/dd/yyyy hh:nn:ss',FileAccessDateToDateTime(SR.FindData.ftCreationTime)));
   FindClose(SR);
 end;
end;


brother   (2008-10-29 07:30:00) [9]

> faAnyFile

нужно так, дабы читабельность кода была...


b@v   (2008-10-29 07:29:00) [10]


> И что за 1 в FindFirst?
>


faAnyFile - можно впринципе и так


MBo   (2008-10-29 07:11:00) [11]

TSearchRec.FindData.ftCreationTime

И что за 1 в FindFirst?


b@v   (2008-10-29 07:04:00) [12]

Ну да end конечно забыл в конце, но не в этом конечно ошибка :-)


var
 File_Rec: TSearchRec;
 DateTime:TDateTime;

begin
 FindFirst(put + '\1.txt', 1, File_Rec);  
 DateTime := FileDateToDateTime(File_Rec.Time);
 showMessage('Дата и время: ' + DateTimeTostr(DateTime));
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо