Главная страница
    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.01 c
15-1152696819
Сергей М.
2006-07-12 13:33
2006.08.06
tcp2com bridge


3-1149247881
Iehbr
2006-06-02 15:31
2006.08.06
Не происходит удаление в базе данных ACCESS


2-1152877503
yon
2006-07-14 15:45
2006.08.06
Hexadecimal


2-1153302763
novill
2006-07-19 13:52
2006.08.06
Обработчик один - классы объектов разные, как объявить?


2-1152879718
Начинающий 5
2006-07-14 16:21
2006.08.06
Форма





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