怎样用stringGrid给2维数组赋初值?(5分)

  • 主题发起人 主题发起人 lj.ah
  • 开始时间 开始时间
L

lj.ah

Unregistered / Unconfirmed
GUEST, unregistred user!
没分了,只好这样。
 
怎么这样会出错?
type
AA=array of array of integer;
procedure text(A:AA var m,n:integer);
var i,j:integer;
begin
setlength(A,m,n);
for i:=1 to m do
for j:=1 to n do
A[i,j]:=A[i,j]+1;
end;

procedure TForm1.BitBtn3Click(Sender: TObject);
var B:AA;m,n,i,j:integer;
begin
m:=3;n:=4;
setlength(B,m,n);
begin
for i:=1 to m do
for j:=1 to n do
B[i,j]:=strtoint(stringgrid1.cells[j,i]);
end;
text(B, 3, 4);//这句过程调用通过不了,她说少操作符或是分号。
for i:=1 to m do
for j:=1 to n do
StringGrid2.cells[j,i]:=inttostr(B[i,j]);
end;
 
把你的text过程定义为TForm的成员函数;
然后把你出问题的那句改成:
text(B,m,n)
必须这样,因为你的Text函数定义为
procedure text(A:AA var m,n:integer);
你写Text(B,3,4)当然不对了。
 
1.把你的text过程定义为TForm的成员函数;
2.然后把你出问题的那句改成:
text(B,m,n)
必须这样,因为你的Text函数定义为
procedure text(A:AA var m,n:integer);
你写Text(B,3,4)当然不对了。
 
怎么定义成TForm的函数,为什么要定义呢?
 
text过程中m,n是输出参数,用3,4常量来做实参
真不知你怎么编译通过的
 
就是把你这个函数放到TForm的private,或public等等,在implement部分
变成procedure TForm.text(A:AA var m,n:integer);
 
接受答案了.
 
后退
顶部