Вниз
Скачать: CL | DM;

Как увеличить размер 2х мерного массива на 1 строку?   Найти похожие ветки 

← →
Layner ©   (2004-04-15 15:55) [0]

Т.е. есть массив, a2: array of array of integer;, выставляю у него размерность, SetLength(a2, 0, 63);, теперь меняю у него 0 на еденицу больше, т.е. хочу получить 1 на 63, далее 2 на 63..., но, как узнать сколько у него уже есть строк? Для одномерного все просто, увеличиваю на еденицу так: SetLength(flag, Length(flag)+1);, а вот с 2х мерными что то раньше не сталкивался :(


← →
VMcL ©   (2004-04-15 15:59) [1]

F1, Multidimensional dynamic arrays


← →
han_malign ©   (2004-04-15 16:00) [2]

Length(a2) - первая размерность, Length(a2[0]) - вторая.


← →
VMcL ©   (2004-04-15 16:09) [3]

>>han_malign ©  (15.04.04 16:00) [2]

Length(a2[0]) - размерность элемента с индексом 0, а не всего второго измерения.


← →
Layner ©   (2004-04-15 16:13) [4]

:(
А размерность элемента с индексом 0 и есть размер? Массив то двумерный.. Наверное сгодится для моих целей, спасибо!


← →
drnet   (2004-04-15 18:09) [5]

var a2:array of array of integer

...
SetLength(a2,0,63)
...
...
procedure IncArray;
var i:integer;
begin
for i:=low(a2) to high(a2) do SetLength(a2[i],Length(a2[0])+1);
end;

может так?


← →
Johnmen ©   (2004-04-15 18:21) [6]

>VMcL ©   (15.04.04 16:09) [3]
>>>han_malign ©  (15.04.04 16:00) [2]
>Length(a2[0]) - размерность элемента с индексом 0, а не всего
>второго измерения.

Всё правильно он (han_malign ©) сказал.
Единственное, чтобы первая размерность отличалась от 0. Иначе AV.
:)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.022 c
1-1082013300
Тимохов
2004-04-15 11:15
2004.05.02
MakeObjectInstance


1-1081851992
siriusP
2004-04-13 14:26
2004.05.02
Свойство типа объект в инспекторе объектов?


3-1080829113
kaif
2004-04-01 18:18
2004.05.02
Уникальность с UPPER


14-1081264403
Mim1
2004-04-06 19:13
2004.05.02
Как закрыть обсуджение


14-1081249109
Iddqd
2004-04-06 14:58
2004.05.02
Как попросить шефа о повышении зарплаты?




   Наверх