Вниз
Скачать: 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.02 c
3-1081161522
Smalik
2004-04-05 14:38
2004.05.02
Типы полей при работе с Access


1-1081838568
Bond
2004-04-13 10:42
2004.05.02
Напечатать конверт A5


1-1082105019
тихий вовочка
2004-04-16 12:43
2004.05.02
Глупый вопрос об обработке сообщений


1-1081843114
Yurec66
2004-04-13 11:58
2004.05.02
Совместная работа TAnimate и TProgressBar


1-1081411152
Arhis
2004-04-08 11:59
2004.05.02
Проблемы с Rave reports




   Наверх