关键字:Delphi 2010, 文本文件
本人参与的系统中,需要创建并使用文本文件,这些文本文件作为系统的参数信息、日志信息等,需要自动生成、读取。
由于这些文本文件通常使用要求简单(读取参数信息等)、且文件不大。故本人通常使用Memo实现对这些文本文件进行操作。
一、基本操作介绍
1、文件基本操作
- 文件变量与文件关联:assignfile
- 创建文件:rewrite
- 打开文件:reset或Append
- 读数据:readln
- 写数据:writeln
- 关闭文件:closefile
2、Memo基本操作
- 读取文件:Memo1.lines.LoadFromFile(文件路径+文件名);
- 读数据:XXXX:=Memo1.lines[行号];
- 写数据:Memo1.lines[行号]:=XXXX;
- 保存文件:memo1.lines.SaveToFile(文件路径+文件名);
二、基本操作比较
- 文件操作
- 读文件:assignfile -- reset/append -- 逐行读取数据readln -- closefile
- 写文件:assignfile -- reset/append -- 转到指定行,writeln -- closefile
- Memo操作
- 读文件:LoadFromFile -- 取指定行号数据
- 写文件:写指定行号数据 -- savetofile
由上可见,Memo操作省去了文件操作的相关控制,尤其是不需要关注文件资源是否释放(closefile),是否打开的是未释放资源等风险。
另外,Memo可以利用【行号】对指定行(或利用循环控制行号编号)进行数据读、写操作,可以利用count属性查看记录总数等都大大的简化了操作控制。
三、小结
利用Memo对文本文件进行操作,实际上就是通过load、save等命令将外部的文件操作改为内部文本的数据操作,简化了操作、控制。
需要注意的是:
- Memo需要设置visible:=false; // 把Memo控件当成一个大的文本数据存放参数
- Memo的宽度要足够,因为如果为了页面好看将Memo控件设置的比较小的时候,极有可能导致数据按行控制的失败,因为Memo会自动换行;即:若一行数据较长,在Memo中会自动换成两行及以上,利用行号读取数据时、存在只能读取到其中部分数据现象。
- 不要利用Memo进行大数据处理,因为Memo数据是在系统中打开、若数据较大则极有可能占用较大系统资源,影响系统的使用感知。
2240

被折叠的 条评论
为什么被折叠?



