DELPHI TListBox (TStrings类)删除空行的方法
来源:互联网 发布:linux wget p 编辑:程序博客网 时间:2024/05/17 17:59
之前做一个程序,用ListBox读入一个文本文件,但文本中有空行,为了删除其中的空行,折腾了好长时间。
先给出一段代码给大家看
var
i:Integer;
begin
ListBox1.Items.LoadFromFile('data.txt');
for i:=0 to ListBox1.Count - 1 do
begin
if Trim(ListBox1.Items.Strings[i])='' Then
ListBox1.Items.Delete(i);
end;
end;
相信不少人会这样写(包括我以前也是),特别是新手,但是这是行不通的,运行时给出 list index out of bounds 错误(下标超界),为什么会这样呢?
主要是这个for循环中to后面的 ListBox1.Count 已是作为一个固定值,不会改变的,而下面执行了ListBox1.Items.Delete(i); ,导致ListBox1 中的数目减少,所以会出现下标超界的错误。
其实解决这个问题很简单,改变一下思维方式就可以了,将for循环改为
演示程序(源码)我已经打包上传了,大家可以下载看看
演示程序下载
- DELPHI TListBox (TStrings类)删除空行的方法
- Delphi中支持Unicode的TStrings类
- Delphi--TStrings的一些技巧
- Delphi TStrings的高级使用方法
- Linux删除空行的方法
- TStrings的AddObject方法应用
- delphi TStrings 管理对象的属性
- Delphi总结使用TStrings的一些技巧
- Delphi总结使用TStrings的一些技巧
- 用UltraEdit删除空行的方法
- Linux上删除空行的方法
- Linux 删除文件中空行的方法
- Delphi之TStrings和TStringLists类
- 删除连续的空行
- Delphi TStrings 用法
- Delphi 2009 中 TStrings 与 TStream 的增强
- linux下vi中批量删除空行的方法:
- linux下删除空行的几种方法
- 关于数据结构的10个面试题(c语言实现)
- Ubuntu 10.04使用笔记(三)--互联网相关
- Ubuntu 10.04使用笔记(四)--办公相关
- 哈佛管理世界中看到这样一篇小文
- 备战程序员
- DELPHI TListBox (TStrings类)删除空行的方法
- swing表格的渲染,鼠标悬浮行变色
- 编程中的命名设计那点事(转)
- 在实时渲染场景中的运动物体与复杂地形交互策略
- 10-04-20 效率
- 最大子序问题求解算法 笔记
- asp.net删除文件夹后Session问题!解决方法
- Ubuntu 10.04使用笔记(五)--视频、图片相关
- [经验总结]JS切换背景音乐的代码