Главная страница
    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.037 c
3-1089719670
MORA
2004-07-13 15:54
2004.08.08
RXDBComboEdit


3-1089957600
Pipl
2004-07-16 10:00
2004.08.08
Ошибка при выполнении динамического запроса


14-1090180409
Palladin
2004-07-18 23:53
2004.08.08
Опрос про сон.


4-1087836255
Игорь
2004-06-21 20:44
2004.08.08
включение/отключение брандмауэра WinXp


3-1089725783
IXT
2004-07-13 17:36
2004.08.08
TDBLookupListBox





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский