Вниз
Скачать: 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
14-1081838585
REA
2004-04-13 10:43
2004.05.02
Наследование


1-1082264464
garry79
2004-04-18 09:01
2004.05.02
Как правильно сделать форму-заставку в отдельном потоке?


6-1079071432
Ozone
2004-03-12 09:03
2004.05.02
Файл в сети


1-1082039788
Ivolg
2004-04-15 18:36
2004.05.02
Create object


6-1078989406
AlexS76
2004-03-11 10:16
2004.05.02
Как проверить доступен-ли удаленный компьютер по имени




   Наверх