Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.08.06;
Скачать: [xml.tar.bz2];

Вниз

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

 
Батыр   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.009 c
15-1152680424
начинающий
2006-07-12 09:00
2006.08.06
Можно ли квотировать ICS?


2-1153411217
Ivolg
2006-07-20 20:00
2006.08.06
Сообщение


2-1152993687
Nobody_1988
2006-07-16 00:01
2006.08.06
Arrays


2-1153328997
learner
2006-07-19 21:09
2006.08.06
NamedPipe информация о подсоединившемся клиенте.


1-1150393322
Urvin
2006-06-15 21:42
2006.08.06
Цвет выделения в ListView





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