Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.048 c
8-1085465885
Ded-moroz
2004-05-25 10:18
2004.08.08
"Кривая" цифрового звука.


1-1090918355
officeman
2004-07-27 12:52
2004.08.08
Чёто не так делаю! ListView1.items.Add.Caption


14-1089112226
zamkom
2004-07-06 15:10
2004.08.08
Ночной дозор


6-1086645049
SergP
2004-06-08 01:50
2004.08.08
Прикол с TWebBrowser...


3-1089350181
Junior
2004-07-09 09:16
2004.08.08
Rave отчет и Graphic





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский