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

Вниз

Текстовый Массив   Найти похожие ветки 

 
Батыр   (2006-07-21 00:16) [0]

Мне нужно занести в двух мерный массив все файлы в указанной папке Название файла и место нахождения, причем я не знаю сколько файлов, поэтому сразу не могу указать размер массива. Но я думал если сачала подщитать сколько файлов , а потом создать динамичный массив. Но незнаю правильно ли это будет два раза юзать в папке, пожалуйсто подскажите если не прав


 
Джо ©   (2006-07-21 00:37) [1]

А зачем тут двухмерный? Обычный динамический массив записей, т.е:
type
 TFileNameRec = record
   Path,
   Name: string;
 end;

 TFileNames = array of TFileNameRec;


Размер динамического массива задается при помощи SetLength.
Да, честно говоря, не лучше ли вообще хранить так:

type
 TDirectoryInfo = record
   DirectoryName: string;
   FileNames: array of string;
 end;


 
unknown ©   (2006-07-21 00:40) [2]

А зачем отдельный двух мерный массив ?
Можно просто запихать пути+имена в TStrings
procedure GetAllFiles(mask: string; var Box: TStrings);
var
 search:    TSearchRec;
 directory: string;
begin
 if Box = nil then
   exit;
 directory := ExtractFilePath(mask);
 // find all files
 if FindFirst(mask, $23, search) = 0 then
   repeat
     // add the files to the listbox
     Box.Add(directory + search.Name);
   until FindNext(search) <> 0;
 // Subdirectories/ Unterverzeichnisse
 if FindFirst(directory + "*.*", faDirectory, search) = 0 then
 begin
   repeat
     if ((search.Attr and faDirectory) = faDirectory) and (search.Name[1] <> ".") then
       GetAllFiles(directory + search.Name + "\" + ExtractFileName(mask), Box);
   until FindNext(search) <> 0;
   SysUtils.FindClose(search);
 end;
end;

Далее просто ExtractFileName, ExtractFilePath и т.п.


 
Батыр   (2006-07-21 00:43) [3]


> Можно просто запихать пути+имена в TStrings

А можно поподробнее об этом
я данный тип неочень освоил


 
Джо ©   (2006-07-21 01:08) [4]

> [3] Батыр   (21.07.06 00:43)
> А можно поподробнее об этом
> я данный тип неочень освоил

Это стандартный класс, его свойства и методы подробно описаны в справке.



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

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

Наверх




Память: 0.47 MB
Время: 0.055 c
11-1131120705
NORDmen
2005-11-04 19:11
2006.08.06
tkolform&amp;align


15-1152366303
ptrbuild
2006-07-08 17:45
2006.08.06
Хочу работать


4-1145215945
cerber
2006-04-16 23:32
2006.08.06
Как получить список всех PIPE запущеных в системе


15-1152596788
dera
2006-07-11 09:46
2006.08.06
Что за файлы *.msi и почему не запускаются под XP?


2-1153215345
Dib@zol
2006-07-18 13:35
2006.08.06
Проблема с boot.ini