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

Вниз

Как проверить, есть ли файлы и каталоги в каталоге?   Найти похожие ветки 

 
Mazenrat   (2002-09-28 15:40) [0]

Доброго времени суток.

Нужен пример проверки: есть ли файлы и каталоги в папке? Спасибо.


 
Poirot ©   (2002-09-28 16:39) [1]

Интересный вопрос!!! Его понять мона поразному!!!
Вам как конкретный или просто есть ли... ну ответы-то идентичны..
FindFirst, FindNext....
если второе, о смотри аттрибуты!!!


 
Mazenrat   (2002-09-28 16:53) [2]

Так понятнее... Нужно проверить пустой каталог или нет!


 
Poirot ©   (2002-09-28 17:13) [3]

Мне кажется вы мне чуть - чуть нагрубили!!!

самый простой способ

if FindFirst(DirPath+"\",$3f,S)<>0 then ShowMessage("Dir is empty");
но могут быть проблемы с обнаружением системных и скрытых объектов...


 
pasha_golub ©   (2002-09-28 18:49) [4]


> могут быть проблемы с обнаружением системных и скрытых объектов...

Для этого пиши FindFirst(DirPath,faAnyFile,SearchRec)


 
anatolyk   (2002-09-30 12:53) [5]

//я для себя писал нечто вроде ....


procedure TForm1.Directory(Root: String);
var
sr: TSearchRec;
FileAttrs, i, ipos: Integer;
S: String;
tmpStr: Pchar;
dir, base: String;
begin
ChDir(Root); //откуда начать
FileAttrs := faAnyFile;
if FindFirst("*.*", FileAttrs, sr) = 0 then
begin
repeat
if (sr.Attr and FileAttrs) = sr.Attr then
begin
if not((Sr.Name = ".") or (Sr.Name = "..")) then
if (sr.Attr and faDirectory) = faDirectory then //найден каталог?
begin
Directory(Root+ "\" + sr.Name); //Заходим в него (это типа рекурсивный вызов)
ChDir(".."); //и возвращаемся
end
else //если же это файл...
begin
//пишем, например в к.-нибудь файл
WriteLn(FileVar,Root + "\" + sr.Name);
Flush(FileVar);
end;
end;
until FindNext(sr) <> 0;
FindClose(sr);
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.017 c
3-31663
KDS
2002-09-20 12:09
2002.10.10
Синтаксис написания запроса с Like в Access


1-31695
123000
2002-09-30 16:14
2002.10.10
Папки


3-31654
Blondin
2002-09-20 11:27
2002.10.10
Blob поля в Interbase


14-31970
France
2002-09-16 11:07
2002.10.10
Как оценить стоимость своей программы?


14-32006
qwerty123x
2002-09-16 12:38
2002.10.10
Сколько стоит заказать сантехника? (я имею в виду услуги киллера)