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

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

ламерский вопрос:(


DeadLord ©   (2007-10-08 20:54:00) 

Ребят, вопрос действительно дурной: есть двумерный массив и мне надо передать его в процедуру параметром. Как это сделать? проблема в том, что я не могу объявить параметр процедуры двумерным массивом, только одномерным...


Вася Правильный   (2007-10-08 22:22:00) [1]


> DeadLord ©   (08.10.07 21:36) [9]

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1191866338&n=3


Anatoly Podgoretsky   (2007-10-08 22:10:00) [2]

> Dib@zol  (08.10.2007 21:07:08)  [8]

Грубо

procedure MyProc(var Param: TMyArray);


DeadLord   (2007-10-08 21:36:00) [3]

еще такая проблема...

получаю данные для массива:
       begin
       for i:=1to xx do
               for j:=1to yy do
                      w[i,j]:=strtofloat(form2.stringgrid1.Cells[i,j]);  
                       end;

Если запускать по Ф9, то все идет гладко, но большая часть массива заполняется нолями, хотя стринг грид не нулевая вообще. Если попробовать выполнить по шагам, то выпадает access violation и окошко отладчика... в чем дело?!


Dib@zol   (2007-10-08 21:07:00) [4]

Однако, лучше параметром передавать не сам массив, а указатель на него, ибо он в этом случае не дублируется, зажирая память.

Type
TMyArray = array [10, 10] of Integer;
PMyArray = ^TMyArray;
…
procedure MyProc(Param : PMyArray);
begin
 Param^[1, 1]:=12345;
end;


engine   (2007-10-08 21:06:00) [5]

> [6] engine ©   (08.10.07 21:04)

ну и конечно же две точки вместо трех.


engine   (2007-10-08 21:04:00) [6]

> [5] MetalFan ©   (08.10.07 21:03)

это array [1 … 10 , 1 … 10] of Integer;

незнаю, почему так получилось. :)


MetalFan   (2007-10-08 21:03:00) [7]


> array [ 1㏾, 1㏾] of Integer;

ой, шо это?!


vasIZmax   (2007-10-08 21:01:00) [8]

type ddd =
 array of array of integer;

procedure XXX(a: ddd);


engine   (2007-10-08 21:01:00) [9]

> [0] DeadLord ©   (08.10.07 20:54)
> могу объявить параметр процедуры двумерным массивом, только
> одномерным.

Type
 TMyArray = array [1㏾, 1㏾] of Integer;
…
procedure MyProc(Param : TMyArray);
begin
//
end;


DeadLord   (2007-10-08 21:01:00) [10]

Спасибо:) заработало


Плохиш   (2007-10-08 20:59:00) [11]

type TMyArr = array[0..10, 0..100] of integer;
...
function Super(AArr: TMyArr): Boolean;


Наверх

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