![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ламерский вопрос:(
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;