难道是单个的数组单元不给赋值????(100分)

  • 主题发起人 qinyu1979
  • 开始时间
Q

qinyu1979

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.Timer1Timer(Sender: TObject);
var
s:string;
sValue:string;
k:integer;

begin
if (flag) then
begin
randomize;
s:=form2.edit1.Text;
i:=0;
while ( i = 0 )
do
begin
i:=random(strtoint(s)+1);
for k:=0 to m+1 do
begin
if (a[k]=i) then
begin
i := 0;
continue;

end;
end;
end;
sValue := inttostr(i);
if (i >= 100 ) then
begin
edit1.text:=copy(sValue,length(sValue)-2,1);
edit2.text:=copy(sValue,length(sValue)-1,1);
edit3.text:=copy(sValue,length(sValue),1);
end;
if (i >= 10) and (i < 100 ) then
begin
edit1.text:='0';
edit2.text:=copy(sValue,length(sValue)-1,1);
edit3.text:=copy(sValue,length(sValue),1);
end;
if ( i>0 ) and (i <10 ) then
begin
edit1.text:='0';
edit2.text:='0';
edit3.text:=sValue;
end;

edit1.refresh();
edit2.refresh();
edit3.refresh();


end
end;

procedure TForm1.FormClose(Sender: TObject
var Action: TCloseAction);
begin
form2.Close;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
m:=1;
if (flag = true) then
begin
flag := false
BitBtn1.Kind:=bkOK
BitBtn1.Caption:='开始'
a[m]:=i;
m:=m+1;
end
else
begin
flag := true;
BitBtn1.Kind:=bkAbort
BitBtn1.Caption:='停止'
end;
end;

我这一段程序中在a[m]:=i;时赋值不行,数组全是0,而且i的值会赋给m,不知道是哪里出错啊
难道是单个的数组单元不给赋值????顺便问问数组需要初始化吗???

 
原来问题在这里:)
》》a[m]:=i;时赋值不行
这个a是什么,我还真没找到,在哪定义的?
 
这个a是一个数组,全局变量,用来保存随机取到的所有i值。
 
很可能是超界了,而且m是紧接在数组a后面定义的,这样就改写了m的值。你检查一下
 

Similar threads

I
回复
0
查看
770
import
I
I
回复
0
查看
655
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
顶部