比如
for i:=0 to strings.count-1 do
begin
if strings[i]='-' then
strSFile.Delete(i);
end;
//删除元素后,再循环几次则i会越界。-
2
3
-
-
-比如这样子的TStringList,运行到第4还是第5个就会出现Bound越界了? 这种情况我在像ListView里,也是遍历整个到Count-1,又有删除时也会遇到。 怎么预防?? 我实在想不出办法。 即便过程中判断 i<count-1 都还是不行。
好像问题在于: i变量最值只会初始化一次,即最初的Count值,而不会在过程中随Count值而改变!
我要改用哪种方式来表示这段程序? (除了另外定义一个StringList外的办法)!除了另外用While循环外!
谢谢
解决方案 »
- 急!!两太操作系统都是win xp的机子能不能做C/S结构啊!
- 如何将dbgrid中的所有信息拷贝到剪贴板中??
- 爱看电影的朋友有福了。
- 求button1的click事件的写法
- 动态创建的label的删除问题
- 高手看看如何解决。
- Interbase数据库程序的移植问题?
- 救救一个郁闷中的初学者
- 怎样做回车操作?
- delphi串口用CportLib,ComComboBox不自动应用,修改后如何应用?
- 哪位大侠用过cxgrid,能告诉我怎么实现在没有绑定的column中添加数据的功能。
- 腾迅QQ六周年,六位QQ号不要钱!http://www.QQ.com.Qb.daqi8.com/QQ/vip.htm?QQ=966858&fromid=785778211027
细想一下,不是矛盾吗?
所以这种情况一般用:FOR DOWNTO
downto不影响正常的序列号
strings[MaxIndex-i] //MaxIndex为常数,最初时strings的元素个数