Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Динамический массив как параметр в процедуре ?


zhurik ©   (2007-04-10 09:17:00) 

Подскажите можно ли передавать в процедуру динамический массив, пробую вот так - не выходит:
procedure tes_(var tess: array of array of integer);

пишет [Error] main.pas(137): E2029 Identifier expected but 'ARRAY' found


ЮЮ   (2007-04-10 09:39:00) [1]

procedure tes_( var tess: TIntegerDynMatrix);
// var здесь не нужен, если не изменяеися перавая размерность массива


zhurik   (2007-04-10 09:36:00) [2]

Спасибо


Novice   (2007-04-10 09:34:00) [3]

Объяви тип

type
TIntegerDynMatrix: array of array of integer;

procedure tes_(var tess: TIntegerDynMatrix);

begin
tess[0,0]:=12;
tess[1,1]:=45;
end;

procedure TMainForm.Button2Click(Sender: TObject);
var
tes:TIntegerDynMatrix;
k1, k2, kk1, kk2: integer;
begin
SetLength(tes,2,4); // к примеру
tes[0,0]:=5;
tes[1,1]:=20;
k1:=tes[0,0];
k2:=tes[1,1];
tes_(tes);
kk1:tes[0,0];
kk2:=tes[1,1];
end;


zhurik   (2007-04-10 09:32:00) [4]

Вот тестовый пример, подправьте, если можно, что бы я понял до конца :

procedure tes_(var tess: array of array of integer);

begin
tess[0,0]:=12;
tess[1,1]:=45;
end;

procedure TMainForm.Button2Click(Sender: TObject);
var
 tes:array of array of integer;
 k1, k2, kk1, kk2: integer;
begin
SetLength(tes,2,4); // к примеру
tes[0,0]:=5;
tes[1,1]:=20;
k1:=tes[0,0];
k2:=tes[1,1];
tes_(tes);
kk1:tes[0,0];
kk2:=tes[1,1];
end;


ЮЮ   (2007-04-10 09:27:00) [5]

Следует объявить тип, и затем ехо использовать:

type
 TIntegerDynMatrix: array of array of integer;
...

procedure tes_(var tess: TIntegerDynMatrix);


Asail   (2007-04-10 09:20:00) [6]

procedure tes_(var tess: array of integer);


Наверх

Титульная страница Поиск, карта сайта Написать письмо