Вопрос по синтаксису
Здравствуйте,
как обращаться к многомерным массивам?
пример:
var
v:array of variant;
begin
setlength(v,5);
v[0]:=vararraycreate([0,5],varvariant);
v[0][0]:='55'; - не работает
v[0,0]:='55'; - не работает
end.
как обращаться к многомерным массивам?
пример:
var
v:array of variant;
begin
setlength(v,5);
v[0]:=vararraycreate([0,5],varvariant);
v[0][0]:='55'; - не работает
v[0,0]:='55'; - не работает
end.
Комментарии
array [0..5, 0..5] of integer;
Вопрос: как обратиться к многомерному массиву, с объявлением то все понятно.
конструкция массив[индекс1][индекс2] не работает.
Или вам нужны именно динамические двумерныйе масивы?
var
v:array of variant;
begin
setlength(v,5);
v[0]:=vararraycreate([0,5],varvariant);
v[0,0]:='55';
end.
Вторая размерность - фикция. Например,
var
v:array [0,0] of variant;
begin
v := VarArrayCreate([0,10],varvariant);
v [1, 4] := '4';
v [1, 5] := '5';
showmessage(v[1,4]+' '+v[1,5]); - Напечатает "5 5"
end.
Или лучше писать в поддержку?
var
ar: Variant;
begin
ar := VarArrayCreate([0,2,0,3], varInteger);
ar[0,0] := 1;
ar[1,1] := 2;
ShowMessage(VarToStr(ar[0,0]) + ' ' + VarToStr(ar[1,1]));
end.
var
a: array of Variant;
v: Variant;
begin
SetLength(a, 2);
v := VarArrayCreate([0, 1], varVariant);
v[0] := '1';
v[1] := '2';
a[0] := v;
v := VarArrayCreate([0, 1], varVariant);
v[0] := '3';
v[1] := '4';
a[1] := v;
v := a[0];
ShowMessage(v[0]+' '+v[1]);
v := a[1];
ShowMessage(v[0]+' '+v[1]);
end.
К тому же, как я понимаю, параметры задаваемые в функции VarArrayCreate являются ГРАНИЦАМИ массива. Т.е. в приведенном выше примере создается массив v размерности 0..1.
С уважением, Забурдаев Юрий