Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Directory Tree / 5 сообщений из 5, страница 1 из 1
16.12.2003, 06:45
    #32353356
BelAS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Directory Tree
Кто скажет мне как можно получить имена всех каталогов и подкаталогов, в какой либо директории, ну и записать эти имена, к примерув динамический массив Dir типа string
...
Рейтинг: 0 / 0
16.12.2003, 10:48
    #32353534
LexusR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Directory Tree
можно типа такого
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, FileCtrl;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    procedure GetDirList(var ResultList : TStrings;CurrDir :string);
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  ResList : TStrings;
begin
  ResList := TStringList.Create;
  GetDirList(ResList, 'D:\games\*.*');
  memo1.Lines.Assign(ResList);
  ResList.Free;
end;

procedure TForm1.GetDirList(var ResultList : TStrings;CurrDir :string);
 var
  Status: Integer;
  SearchRec: TSearchRec;
  ChildDir : string;
begin
  Status := FindFirst(CurrDir, faDirectory, SearchRec);
  try
    while Status =  0  do
    begin
      if (SearchRec.Attr and faDirectory = faDirectory) then
      begin
        if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then
        begin
          ResultList.add(SearchRec.Name);
          ChildDir := StringReplace(CurrDir,'*.*',SearchRec.Name,[rfIgnoreCase])+'\*.*';
          GetDirList(ResultList,ChildDir);
        end;
      end;
      Status := FindNext(SearchRec);
    end;
  finally
    FindClose(SearchRec);
  end;
end;

end.

...
Рейтинг: 0 / 0
17.12.2003, 07:46
    #32354664
BelAS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Directory Tree
работает!
но как сделать чтобы в в этом списке хранились не только названия папок, но и их полный путь.

ЗЫ: А как вообще в этом списке ResList получить полное имя ну к примеру 5-ой по счету найденной папки, а затем к примеру 7-ой, 10-ой ну и так далее?
...
Рейтинг: 0 / 0
17.12.2003, 08:00
    #32354669
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Directory Tree
а думать не пробовал?
...
Рейтинг: 0 / 0
17.12.2003, 09:35
    #32354728
BelAS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Directory Tree
2StarWind:
пробовал :P
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Directory Tree / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]