Форум: "Основная";
Текущий архив: 2003.08.04;
Скачать: [xml.tar.bz2];
ВнизКак узнать кол-во файлов в папке ? Найти похожие ветки
← →
LedWorm (2003-07-20 21:42) [0]Подскажите, мастера, как узнать сколько всего файлов в папке.
Какую процедуру юзать???
Заранее благодарен !!!
← →
Spawn (2003-07-20 21:48) [1]Посмотри FindFirst, FindNext
← →
3APA3A (2003-07-20 22:18) [2]var RR:TSearchRec;
Count:Integer;
begin
Count:=0;
If YourPath[Length(YourPath)]<>"\" then YourPath:=YourPath+"\";
If SysUtils.FindFirst(YourPath+"*.*",$3F,RR)=0 Then
Repeat
If (RR.Name=".")Or(RR.Name="..") Then Continue;
Inc(Count);
Until SysUtils.FindNext(RR)<>0;
SysUtils.FindClose(RR);
ShowMessage("В папке ""+YourPath+"" "+Count+" файлов");
end;
Это без учета файлов во вложенных папках...
← →
Marser (2003-07-20 22:55) [3]Для подкаталогов следует добавить проверку атрибутов. Если fa_directory - новій поиск. Лучше делать рекурсивно.
← →
3APA3A (2003-07-20 23:03) [4]Ну да... с рекурсией "красивше"... =)
← →
panov (2003-07-20 23:08) [5]If SysUtils.FindFirst(YourPath+"*.*",$3F,RR)=0 Then
Лучше писать все-же
if SysUtils.FindFirst(YourPath+"*.*", faAnyFile,RR)=0 Then
← →
Marser (2003-07-20 23:19) [6]
> Ну да... с рекурсией "красивше"... =)
Ну и не только...Хотя некоторые ругают рекурсию.
← →
3APA3A (2003-07-21 01:12) [7]Лучше писать все-же
if SysUtils.FindFirst(YourPath+"*.*",faAnyFile,RR)=0 Then
Да... вдруг они маски файлов поменяют... =)
Ну и не только.. Ну и короче... =)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.08.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c