delphi7 CheckListBox 删除选中项

Liyp92 2014-09-23 09:28:12
for I:=0 to CheckListBox1.Items.Count-1 do
begin
if CheckListBox1.Checked[I] then
begin
CheckListBox1.Items.Delete(I);
end;
end;

这样删除为什么会报溢出?

另外请教下,我要把根据CheckListBox的值添加/删除到ini文件或别的文件,
下次程序运行自动加载进来。要怎么写?最好有详细代码,谢谢!!
...全文
228 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoxian251 2014-09-24
  • 打赏
  • 举报
回复
CheckListBox1.Items存储方式是堆栈方式
lyhoo163 2014-09-24
  • 打赏
  • 举报
回复
你的循环语句有错误,循环时找到选中的项可以删除,当删除一项后,它的CheckListBox1.Items.Count已经减1,这样继续循环,出现越界错误。将程序修改如下,即可:
var i:integer;
begin
var i:integer;
begin
//  for I:=0 to CheckListBox1.Items.Count-1 do
  for I:=CheckListBox1.Items.Count-1 downto 0 do
  begin
     if CheckListBox1.Checked[I] then
     begin
       CheckListBox1.Items.Delete(I);
     end;
  end;
Liyp92 2014-09-23
  • 打赏
  • 举报
回复
不用ini文件了。 ini文件还要节点什么的。 我里面就放 COM1-1 COM2-2 用txt文件就可以了/
Liyp92 2014-09-23
  • 打赏
  • 举报
回复
ok了。把for循环改一下。
for I:=CheckListBox1.Items.Count-1 downto 0 do
现在差个写文件,求高手~~~

16,749

社区成员

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

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