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

Вниз

Список вложеных дерикторий   Найти похожие ветки 

 
lexus3d   (2004-07-16 10:26) [0]

Здраствуйте мастера... вопрос возник... как мне получить список вложенных дерикторий (папок)... ну т.е. есть папка в ней ещё папки , так как мне узнать их имена?


 
T1000   (2004-07-16 16:11) [1]

Привет!

Вот один думаю не очень харошай приемер.
Ранше я етом ползувался.

Надо плзуватся библиотеке FileCtrl.

procedure TForm1.Extract(Dir: String);
var
  Dirs: TDirectoryListBox;
  i: integer;

begin
 if not DirectoryExists(Dir)then Exit;
 Dirs:= TDirectoryListBox.Create(Self);
 try
   Dirs.Visible:= False;
   Dirs.Parent := Self;
   Dirs.Directory:= Dir;
   if Dirs.ItemIndex+1 <= Dirs.Items.Count-1 then
    for i:= Dirs.ItemIndex+1 to Dirs.Items.Count-1 do
      ListBox1.Items.Add(Dirs.Items[i])
 finally
   Dirs.Free;
 end;
end;{Extract}

procedure TForm1.Button1Click(Sender: TObject);
begin
Extract("C:");
end;


 
clickmaker ©   (2004-07-16 16:27) [2]

FindFirst()
FindNext()


 
SammIk ©   (2004-07-16 17:10) [3]

Рекурсивные функции.
Смысл:
Ищешь фаилы как посоветовали[2], если фаил директория
то вызываешь этуже ф-ю с новым путем.
Получится что обоидешь все директории.
И в факе был пример.


 
Cobalt ©   (2004-07-17 09:24) [4]

> clickmaker ©
FindClose не забываем!!!


 
lexus3d   (2004-07-19 08:36) [5]

>SammIk
хорошо а как тогда узнать что  то что я нашёл я вляется директорией.... ведь в Find...передаётся что то следующее
FindFirst(sDir,faAnyFile,sr)... где sDir это путь к папке где вложенные папки лежат!!! как узнать то тогда что то что я нашёл действительно является директорией?


 
Anatoly Podgoretsky ©   (2004-07-19 09:00) [6]

FindNextFile


 
lexus3d ©   (2004-07-19 10:44) [7]

> Anatoly Podgoretsky  
не ну спасибо... то что пользоваться нужно Find"ом это я уже понял... как мне понять что в папке я нашёл именно вложенную папку а не файл ведь поиско по файлам происхожит sDir я получаю вот так:
ExtractFilePath(paramstr(0))+"skin\*.skn"
может вот так указывать "Skin\"или как узнать то что я папку нашёл?


 
aLexx   (2004-07-27 10:16) [8]

if (sr.attr and faDirectory) <> 0 then
 // нашлась папка
else ...  //а это нет


 
Anatoly Podgoretsky ©   (2004-07-27 13:57) [9]

Красивее и удобнее по задаче
if (sr.attr and faDirectory) = faDirectory 0 then ...
Ну не нужны файлы


 
Игорь Шевченко ©   (2004-07-27 14:52) [10]

И заодно не принимать во внимание те, у которых имя равно "." или ".." :)


 
Anatoly Podgoretsky ©   (2004-07-27 15:13) [11]

Можно оставить, все таки каталоги, но можно и не брать



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

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

Наверх




Память: 0.49 MB
Время: 0.039 c
14-1090666379
olookin
2004-07-24 14:52
2004.08.08
Советую послушать Matia Bazar - Aristocratica


3-1089804063
Dem2
2004-07-14 15:21
2004.08.08
Даты в SQL


9-1083130788
LENIN
2004-04-28 09:39
2004.08.08
Delphi


6-1086846499
PavelOKES
2004-06-10 09:48
2004.08.08
Получение списка аккаунтов


11-1078141206
Чапаев
2004-03-01 14:40
2004.08.08
Создание компонентов под KOL