Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Динамические массивы [D6]


БурЖуй ©   (2003-02-02 13:19:00) 

Уважаемые мастаки! Есть у меня программаактивно юзает большие объемы памяти, и я заранее при написание программы не знаю насколько много будет запесей в массиве, поэтому приходиться задавать большую размерность массивов. Мне сказали что можна пользоваться динамическими массивами, которые заранее не имеют размерности. Расскажите как ими пользоваться? И как сделать так, чтобы при записе и чтение из такого массива вызывалась какая-то процедура ?
Заранее спасибо!


Романов Р.В.   (2003-02-03 20:03:00) [1]

F1 - Length


BOA_KAA   (2003-02-03 18:39:00) [2]

a: array of TSomeType;
...

High(a)-Low(a)+1


БурЖуй   (2003-02-03 18:31:00) [3]

mate, спасибо, а как получать текущую длина матрицы?


mate   (2003-02-02 17:04:00) [4]

Вообщем пишешь
a:array of integer;
если матрица
a:array of array of integer;
Установить длину массива (строки)
setlength(a,i)- где i-длина
или
setlength(a[j],i)
Учти что массив начинается с 0 и закончивается i-1
Так же => матрица может быть не прямоугольной т.е.

1 2 3 4
5 6
5 7 9 3 12


mrcat   (2003-02-02 16:19:00) [5]

array ofнапример_integer

f1


БИС   (2003-02-02 16:01:00) [6]

раньше и без массивов хорошо распределялась память динамически.
А если ты хочешь, чтоб вызывалась какая-то там обработка дополнительная, то помести его в объект и напиши функции для помещения и чтения i-го элемента.


JibSkeart   (2003-02-02 13:22:00) [7]

procedure myArr(Var arr)
Var
i:integer;
begin
i := HIGH(arr);
ShowMessage("Count = " + IntToStr(i));
end


Наверх

Титульная страница Поиск, карта сайта Написать письмо