Главная страница
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.48 MB
Время: 0.056 c
15-1152520236
iddddi
2006-07-10 12:30
2006.08.06
Рисование штрих-кода Code 128


2-1153123735
Leonid
2006-07-17 12:08
2006.08.06
Нужен компонент для отсылки e-mail


3-1148986218
Iehbr
2006-05-30 14:50
2006.08.06
Запрос на выборку из дву таблиц


15-1150718022
pavel_guzhanov
2006-06-19 15:53
2006.08.06
Проблема при переходе с MSSQL2000 на MSSQL2005


2-1153308761
Роман88
2006-07-19 15:32
2006.08.06
Internet Explorer 6 (Добавить в избранное)