![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Динамические массивы [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