麻烦大家看一下下面的代码为何总出错,要怎样改才行。谢了。
for i:=0 to listview1.items.count-1 do
begin
if listview1.items.imtem[i].checked then
begin
listview1.items.delete(i);
end;
end;
注:LISTVIEW1里有5个条目,其中三条被钩选。
运行时出现内存读写错误。
for i:=0 to listview1.items.count-1 do
begin
if listview1.items.imtem[i].checked then
begin
listview1.items.delete(i);
end;
end;
注:LISTVIEW1里有5个条目,其中三条被钩选。
运行时出现内存读写错误。
解决方案 »
- delphi 如何取得网页源码中的字符串?
- delphi listbox数据对齐显示
- 让状态栏信息显示几秒后消失效果!
- listview的内容随着FORM的变化而换行
- Delphi6安装控件出现问题,请大家帮忙!
- [学习&讨论] B/S结构系统的设计方案
- 动态建立数据表结构?
- 关于TServerSocket控件的问题---100分
- delphi编的东东不知是哪里问题,提示:“530 5.7.0 NO AUTH command has been given”,怎么办?
- toolbar 中动态生成Toolbutton的问题
- 高分请教 一个关于李维《Delphi面向对象编程思想》示例程序的问题。
- delphi与c++builder的讨论,大家给个意见
I: Integer;
begin
I := 0;
while I < listview1.items.count do
begin
if listview1.items.imtem[i].checked then
begin
listview1.items.delete(i);
end
else Inc(I);
end;
end;
//listview1.items.delete(i);这条语句执行后
listview1.items.count 会发生变化
所以用For语句不好实现
listview1.items.delete(i);
之后,下面的一条Item移上来了,
所以循环变量I不应往下走,否则会错过处理一条记录的机会
谢了。你可否介绍一下INC这个函数是什么意思?
其结果是I加2相应的还有Dec函数
简约而不简单哈 ~~~崇拜!!