为什么listbox最后多出一个数

zwp370532420 2012-01-12 03:42:16
想向listbox内赋值0到九,结果最后多出一个九来,不知什么原因!
procedure TForm1.Button5Click(Sender: TObject);
var

i:integer;
a:array[0..9] of integer;
begin
i:=0;
listbox3.Clear;
while i<=9 do
begin
a[i]:=i;
listbox3.Items[i]:=inttostr(a[i]);
listbox3.Items.Add(listbox3.Items[i]);
i:=i+1;
end;
end;
...全文
43 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zwp370532420 2012-01-12
  • 打赏
  • 举报
回复
火龙哥的答案是不行的,不过还是感谢你。开开一心哥的说法是正确的,程序先的结果是多添了一行
改成开开一心哥的就行了。谢谢,还要多多请教啊。
tj_snowwolf 2012-01-12
  • 打赏
  • 举报
回复
3楼是对的
listbox3.Items[i]:=inttostr(a[i]);
listbox3.Items.Add(listbox3.Items[i]);
重复了
zwp370532420 2012-01-12
  • 打赏
  • 举报
回复
写错了,应该是十个数,结果应该是0到9这十个数,但是listbox最后多出一个9来,
再跟看看,什么地方出错了
kaikai_kk 2012-01-12
  • 打赏
  • 举报
回复
listbox3.Items[i]:=inttostr(a[i]);
listbox3.Items.Add(listbox3.Items[i]);


看错了,不好意思
是这2句是重复了,后面再add加了一行.后面这句不要,或者改成这样:
listbox3.Items.Add(inttostr(a[i]));


火龙岛主 2012-01-12
  • 打赏
  • 举报
回复
procedure TForm1.Button5Click(Sender: TObject);
var

i:integer;
a:array[0..9] of integer;
begin
i:=0;
listbox3.Clear;
while i<9 do
begin
a[i]:=i;
listbox3.Items[i]:=inttostr(a[i]);
listbox3.Items.Add(listbox3.Items[i]);
i:=i+1;
end;
end;

这样正好
kaikai_kk 2012-01-12
  • 打赏
  • 举报
回复
0..9

是多少个数,自己用手指算算!!!

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧