关于类的问题(30分)

  • 主题发起人 主题发起人 米度斯
  • 开始时间 开始时间

米度斯

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样读写类中的数组?
type
Tdtx=class
public
len:integer;
Anum:array[0..6] of integer;
procedure initialize;
end;
procedure Tdtx.initialize;
var
i:integer;
begin
len:=0;
for i:=0 to 6 do
Anum:=0;
end

procedure Tform1.Button1Click(Sender: TObject);
var
n:Tdtx;
i:integer;
begin
n.initialize;
n.len:=3;
for i:=0 to n.len-2 do
n.Anum:=i;
end;
为何len可以修改,但是Anum修改时会报错?该怎样修改!求各位高手指点!
 
len当然可以该了,因为无论你怎么该都无效,哈
Anum是静态数组你怎么改?
type
Tdtx=class
public
len:integer;
Anum:array of integer;//
procedure initialize(Alen:integer);
end;
procedure Tdtx.initialize(Alen:integer);
var
i:integer;
begin
len:=Alen;
setLength(Anum,len);
for i:=0 to length(Anum)-1 do
Anum:=0;
end


 
为什么修改len无效?public里声明的变量不是可以修改的吗?
使用动态数组后能不能在后面的程序中直接对Anum【i】进行读写?该怎样做?
谢谢!
 
看了一下你的程序,n对象没有构造就使用了.
procedure TForm1.Button1Click(Sender: TObject);
var
n:Tdtx;
i:integer;
begin
n:=Tdtx.Create;//少了构造.
n.initialize;
n.len:=3;
for i:=0 to n.len-2 do
n.Anum:=i;
n.Free;
end;
 
又一个 C++程序员
 

Similar threads

S
回复
0
查看
910
SUNSTONE的Delphi笔记
S
S
回复
0
查看
887
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
915
SUNSTONE的Delphi笔记
S
后退
顶部