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

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

Передача двумерного массива в метод класса.


Sin ©   (2007-10-24 09:25:00) 

Подобный вопрос обсуждался http://www.delphimaster.ru/cgi-bin/forum.pl?id=1191862496&n=18, однако хотелось бы узнать можно ли передать двумерный массив в класс расположенный в другом unit'е.


Sin   (2007-10-24 10:23:00) [1]

;) СПАСИБО!


Сергей М.   (2007-10-24 10:21:00) [2]

function MyClass.MySum(N: integer; mas: TMyMatrix): TArray;
var
  i,j : integer;
  sum : double;
begin
SetLength( Result, N);} // нужно !!!!!
for i := 0 to N - 1do
begin
  sum := 0;
  for j := 0 to N - 1do
    sum := sum + mas[i,j];
  Result[i] := sum;
end;
end;


Sin   (2007-10-24 10:09:00) [3]

Спасибо, получилось. Поскажите еще, пожалуйсто, как в этом случае можно "вернуть" одномерный массив. Что-то уменя ошибка появляется...
// класс
type
 TArray    = array of double;
 TMyMatrix = array of TArray;

 MyClass = class
 private
 public
   function MySum(N: integer; mas: TMyMatrix): TArray;
 end;

implementation

function MyClass.MySum(N: integer; mas: TMyMatrix): TArray;
 var
   i,j : integer;
   sum : double;
begin
{  SetLength(MySum,N);} // нужно ли это делать???
 for i := 0 to N do
   begin
   sum := 0;
   for j := 0 to N do sum := sum + mas[i,j];
   MySum[i] := sum; // здесь ошибка...
   end;
end;

// программа
procedure TForm1.Button1Click(Sender: TObject);
 var
   a : TArray;
   b : integer;
   c : TMyMatrix;
begin
 b := 2;
 SetLength(c,2,2);
 c[0,0] := 1;
 c[0,1] := 2;
 c[1,0] := 1;
 c[1,1] := 2;
 a := t.MySum(b,c);
end;


Kolan   (2007-10-24 09:33:00) [4]

> Может подскажете как

TMyMatrix = array of array of Integer;

procedure Proc(Arr: TMyMatrix);


?


Sin   (2007-10-24 09:32:00) [5]

У меня появляется несоответствие Array and Dynamic array.


Sin   (2007-10-24 09:31:00) [6]

Может подскажете как, при условии массив должен быть динамическим.


Сергей М.   (2007-10-24 09:29:00) [7]

Причем по барабану мерность массива и местонахождение декларации класса.


MBo   (2007-10-24 09:28:00) [8]

конечно, можно


Сергей М.   (2007-10-24 09:28:00) [9]

Можно.


Наверх

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