Консультация № 31170
09.12.2005, 21:11
0.00 руб.
0 2 2
Здравствуйте эксперты !
Вопрос такой мне нужно при запуске моей проги запихать в listbox поддиректории(но не файлы) определённой папки подскажите как это сделать.
з.ы. компоненты не предлогать

Обсуждение

давно
Мастер-Эксперт
425
4118
10.12.2005, 05:07
общий
это ответ
Здравствуйте, Dimon007!
Для этого Вам нужно с пмомщью связки функций FindFirst()\\FindNext(), шаблона *.* и дополнительного аттрибута faDirectory составить список названий и выделяя из этого списка маской faDirectory только подкаталоги, заносить их название в ListBox.
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
Неизвестный
11.12.2005, 09:29
общий
это ответ
Здравствуйте, Dimon007!
При помощи FindFirst/FindNext. Пример см. в приложении.

Приложение:
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) ListBox1: TListBox; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}const path=‘C:\‘;procedure TForm1.FormCreate(Sender: TObject);var f:tsearchrec;begin findfirst(path+‘\*‘,faAnyFile,f); findnext(f); while (findnext(f)=0) do if (f.attr and fadirectory)<>0 then ListBox1.Items.Add(f.name); findclose(f);end;end.
Форма ответа