Delphi中文本文件的操作
Delphi中文本文件的操作
相关知识内容:
在对文本文件进行任何处理之前,首先要打开此文本文件。声明变量:通过此变量可以来引用一个文本文件。
打开一个文件需要两步:首先是 AssignFile(),它可以将文件变量与一个文件关联起来。例如:这时,你可以进行第二步:打开文件。有三种方式打开文件:使用Rewrite()过程创建并打开文件;对于一个已存在的文件,此操作将使文件被覆盖;使用Reset()过程只读地打开一个文件;使用Append() 过程向已存在的文件追加文本。
注意Reset()将以可读写方式打开类型文件和无类型文件。可以使用CloseFile()来关闭一个已打开的文件。
下面是各种调用的函数:
文件的打开与关闭:
AssignFile:把一个外部文件名和一个文件变量相关联
Reset:打开一个存在的文件
Rewrite:创建并打开一个新文件(或覆盖原有文件)
Append :以添加方式打开一个文件(只适用于文本文件)
CloseFile:关闭一个打开的文件
FileOpen:打开一个特定的文件并返回文件句柄
FileCreate:创建一个给定文件名的文件并返回文件句柄
FileClose:关闭一个特定句柄的文件
后边三个文件主要供系统内部使用,在文件复制的编程中也往往会用到。它们操作的对象是文件句柄而不是文件变量。
文件定位:
Seek:把文件当前位置移到指定部分
FilePos:返回文件的当前位置
Eoln:返回行结束标志
EOF:返回文件结束标志
FileSeek:改变当前文件指针的位置
【注:RichEdit和Memo这两个文本操作控件属性基本差不多,
Memo1.Lines.LoadFromFile()//读出文件(,如果要打开指定文本需要OpenDialog)
memo1.Lines.SaveToFile() //修改后保存文件(保存到原路径下的原文件,如果要另存需要SaveDialog)
】
示例代码:
一, 逐行读取
procedure TForm1.Button1Click(Sender: TObject);
var
myfile:Textfile;
s:String;
begin
AssignFile(myfile,'f:\a.txt');
Reset(myfile);
while not eof(myfile) do
begin
Readln(myfile,s);
Memo1.Lines.Add(s);
end;
CloseFile(myfile);
end;
二, 一次性读取,控件自带属性
procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.Lines.LoadFromFile(ExtractFilePath(Application.ExeName)+'a.txt'); //打开并读出程序目录下的'a.txt'文本文件
end;
三,写文件
procedure TForm1.Button3Click(Sender: TObject); //写文件
var
stxt:TextFile;
begin
AssignFile(stxt,'my.txt');
Rewrite(stxt); //创建并打开文件;若文件已存在,此操作将使文件内容清空,使用ReSet只能打开,若指定的文件不存在时会产生一个错误
Writeln(stxt, 'I love you!'); //此处为写入一行数据,当然也可以写成 Writeln(stxt, Memo1.Text); 即一次性写入Memo1中的所有内容
CloseFile(stxt);
Delphi中文本文件的操作的更多相关文章
- Python中文本文件读写操作的编码问题
Python中文本文件读写的编码问题 编码(encode): 我们输入的任何字符想要以文件(如.txt)的形式保存在计算机的硬盘上, 必须先经按照一定的规则编成计算机认识的二进制后,才能存在电脑硬盘上 ...
- Delphi中的dll操作
利用delphi dll wizard进行dll的编写. 创建:保存时改dll名称 library test2; uses SysUtils, Classes, forms, dialogs; {$R ...
- delphi中ini 文件操作记要(1): 使用 TIniFile
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- Delphi中String类型原理介绍
Delphi中字符串的操作很简单,但幕后情况却相当复杂.Pascal传统的字符串操作方法与Windows不同,Windows吸取了C语言的字符串操作方法.32位Delphi中增加了长字符串类型,该类型 ...
- Delphi中exit、break、continue等跳出操作的区别
Delphi中表示跳出的有break,continue,abort,exit,halt,runerror等 1.break 强制退出最近的一层循环(注意:只能放在循环里:而且是只能跳出最近的一层循环) ...
- Delphi中的操作二进制文件的两个重要函数
Delphi中的操作二进制文件的两个重要函数 对于通过Byte数组进行文件操作的,在FTP中经常会使用到,我也是在Delphi调用Web Service进行文件的上传和下载时找到这两个函数的,挺好用的 ...
- delphi中我用定时器每隔一段时间执行操作
delphi中,我用定时器每隔一段时间执行数据库插入及更新工作!adoquery.close;adoquery.sql.cleare;adoquery.connection:=con1;adoquer ...
- delphi读写文本文件
delphi读写文本文件 在工作中遇到了这样一个问题,使用PLSQL将一个表的数据转化成一些列的insert语句存储到一个.sql文本中,我本来想使用access数据库中的查询视图一次执行这些语句 ...
- ActiveX数据对象之事务控制在VB和DELPHI中的应用
本文发表在中国人民解放军"信息工程大学"学报 2001年第3期. ActiveX数据对象之事务控制在VB和DELPHI中的应用 ...
随机推荐
- 《CODE》讲了什么?
本书首先从黑夜中用手电筒开关灯的方式来与小伙伴交流从而引出了编码与组合的概念,并阐明了编码的本质就是交流,是一种用来在机器与人之间传递信息的方式.然后在第 2~3 章中讲述了编码与组合的应用,如电报机 ...
- codevs2492上帝造题的七分钟 2(线段树)
/* 区间修改 区间查询 可以用线段树搞 但是一般的标记下放对这个题好像不合适 只能改叶子 然后更新父亲(虽然跑的有点慢) 小优化:如果某个点是1 就不用再开方了 所以搞一个f[i]标记 i 这个点还 ...
- 从cellForRowAtIndexPath 看cell的重用机制
今天突然发现一个问题,由于对UITableViewCell 的重用机制不是很了解,让我纠结很久: 用过reloadData时候,会调用cellForRowAtIndexPath方法,但是请看以下2种c ...
- display: -webkit-flex; 手机上图下文字,pad上有浮动。
<article> <div class="boxt"> <div class="boxt-right"><img s ...
- C++ 异常处理执行过程
看<clean code>时,又遇到异常处理的例程. 看不明白是因为我一直都将异常处理束之高阁. 今天晚上下决心去找资料看看,看完之后觉得以前是把它想得太难,其实非常简单. 希望以后遇到问 ...
- macbook Android开发环境搭建,真机调试
买了一台MacBook,本以为可以鼓捣一下iOS开发之类的,可惜导师要我做Android开发.无奈开始了在MacBook上开发Android的工作. 从开始配置环境到应用成功在真机上运行,也是曲曲折折 ...
- 【USACO 1.4.1】铺放矩形块
[描述] 给定4个矩形块,找出一个最小的封闭矩形将这4个矩形块放入,但不得相互重叠.所谓最小矩形指该矩形面积最小. 所有4个矩形块的边都与封闭矩形的边相平行,图1示出了铺放 ...
- AngularJs的Select演示
昨天需要在项目使用Angular.js的select,测试了好久才研究出怎么进行赋值,操作. HTML代码 <!DOCTYPE html> <html> <head> ...
- [ JS 进阶 ] 如何改进代码性能 (3)
原文链接 总结一下 1.减少操作dom的次数 2.需要多次使用某全局变量的时候,将其赋给一个局部变量,避免重复查找 3.优化循环 4.多用逗号和直接赋值的方式来var,减少工厂方式和构造函数方式创建对 ...
- location对象位置操作,进行跳转
location位置操作,进行跳转 location.assign("http://www.baidu.com") 跳转,打开新的url 等价于,将location.href或wi ...