- 浏览: 2059951 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (1409)
- asp/asp.net学习 (241)
- oracle (10)
- delphi (295)
- java (27)
- pb (1)
- 每日点滴 (49)
- 学习方法 (40)
- 思想方面 (104)
- C语言 (5)
- C++ (1)
- 代码重构经验 (5)
- 软件工程 (3)
- 数据库 (99)
- 英语学习 (3)
- mysql (1)
- 该关注的网站或者网页 (42)
- 总结 (7)
- 要去做的事情 (33)
- 算法 (1)
- 网络方面 (29)
- 随感 (96)
- 操作系统 (36)
- UML (12)
- 常用工具的使用 (55)
- 脚本 (7)
- 汇编 (62)
- 数据结构 (2)
- 财务 (38)
- 语文作文 (16)
- 法律 (1)
- 股票 (88)
最新评论
-
devwang_com:
可以,学习了~~
列出文件夹下所有文件夹的树形结构--Dos命令 tree的使用 -
hvang1988:
不管用啊 frxrprt1.PreviewForm.Pare ...
fastReport预览时嵌入到别的窗体 -
00915132:
我也有这个疑问,非常 感 谢
left join加上where条件的困惑 --SQL优化 -
zhuyoulong:
学习了,高效读书
软件架构师要读的书 -
nTalgar:
非常感谢分享!
Application.ProcessMessages用法:
Delphi文本文件读写 (2008-10-31 19:07:22)
Delphi 支持三种文件类型: 文本文件、记录文件、无类型文件。
文本文件是以行为单位进行读、写的。由于每一行的长度不一定相同,不能计算出给定行在文件中的确切位置,因而只能顺序地读写。
文本文件只能单独为读或写而打开,在一个打开的文本文件上同时进行读、写操作是不允许的。
文本文件的打开需要两个步骤:1.文件变量与文件名关联;2.初始化读写。
1.文件变量与文件名关联:
AssignFile(VarTxt, FileName);
FileName 如果省略路径将默认当前目录。
2.初始化读写有三种方式:
(1) Reset: 只读打开, 指针移到文件头;
(2) Rewrite: 创建新文件并打开, 只写;
(3) Append: 从尾部追加, 指针当然在文件尾。
文件不存在时使用 Reset 或 Append 会引发一个I/O异常。
最后用 CloseFile 关闭文件。
为保持兼容,Delphi 也允许用户用 Assign 建立关联, 用 Close 关闭文件。
文本文件是以行为单位进行读、写的。由于每一行的长度不一定相同,不能计算出给定行在文件中的确切位置,因而只能顺序地读写。
文本文件只能单独为读或写而打开,在一个打开的文本文件上同时进行读、写操作是不允许的。
文本文件的打开需要两个步骤:1.文件变量与文件名关联;2.初始化读写。
1.文件变量与文件名关联:
AssignFile(VarTxt, FileName);
FileName 如果省略路径将默认当前目录。
2.初始化读写有三种方式:
(1) Reset: 只读打开, 指针移到文件头;
(2) Rewrite: 创建新文件并打开, 只写;
(3) Append: 从尾部追加, 指针当然在文件尾。
文件不存在时使用 Reset 或 Append 会引发一个I/O异常。
最后用 CloseFile 关闭文件。
为保持兼容,Delphi 也允许用户用 Assign 建立关联, 用 Close 关闭文件。
//读写示例:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
var
F: Text; //TextFile 和 Text 是一样的
FileName: string = 'c:\temp\test.txt';
//写文件
procedure TForm1.Button1Click(Sender: TObject);
begin
AssignFile(F,FileName);
Rewrite(F); //会覆盖已存在的文件
Writeln(F, '第一行');
Writeln(F, '第二行');
CloseFile(F);
end;
//读文件(先执行写文件)
procedure TForm1.Button2Click(Sender: TObject);
var
s: string;
begin
AssignFile(F,FileName);
Reset(F); //只读打开
Readln(F, s); //读取
ShowMessage(s); //显示: 第一行
Readln(F, s); //继续读取
ShowMessage(s); //显示: 第二行
CloseFile(F);
end;
//追加
procedure TForm1.Button3Click(Sender: TObject);
begin
AssignFile(F,FileName);
Append(F); //打开准备追加
Writeln(F, '第三行');
Writeln(F, '第四行');
CloseFile(F);
end;
//读取全部(需要Memo帮忙显示)
procedure TForm1.Button4Click(Sender: TObject);
var
s: string;
begin
AssignFile(F,FileName);
Reset(F); //只读打开
Memo1.Clear;
while not Eof(F) do
begin
Readln(F, s);
Memo1.Lines.Add(s);
end;
CloseFile(F);
end;
//分列写入
procedure TForm1.Button5Click(Sender: TObject);
//这个过程级函数的功能是: 用空格把 s 凑够 n 的长度
function AddSpace(s: string; n: Word): string;
begin
while Length(s) < n do
begin
s := s + ' ';
end;
Result := s;
end;
var
name: string[8];
address: string[16];
begin
AssignFile(F, FileName);
Rewrite(F);
name := '张三';
name := AddSpace(name,8);
address := '山东泰安';
address := AddSpace(address,16);
Writeln(F, name, address);
name := '李四儿';
name := AddSpace(name,8);
address := '贵州省安顺黄果树';
address := AddSpace(address,16);
Writeln(F, name, address);
name := '王二麻子';
name := AddSpace(name,8);
address := AddSpace(address,16);
Writeln(F, name, address);
CloseFile(F);
{写入的结果是:
张三 山东泰安
李四儿 贵州省安顺黄果树
王二麻子北京市海淀区
}
end;
//分列读取
procedure TForm1.Button6Click(Sender: TObject);
var
name: string[8];
address: string[16];
begin
AssignFile(F, FileName);
Reset(F);
Memo1.Clear;
while not Eof(F) do
begin
Readln(F, name);
Memo1.Lines.Add(name);
end;
CloseFile(F);
Reset(F);
while not Eof(F) do
begin
Readln(F, name, address);
Memo1.Lines.Add(address);
end;
CloseFile(F);
{读取结果:
张三
李四儿
王二麻子
山东泰安
贵州省安顺黄果树
北京市海淀区
}
end;
//不同数据类型的写入和读取
procedure TForm1.Button7Click(Sender: TObject);
var
name: string[6];
age: Word;
birthday: TDate;
begin
AssignFile(F,FileName);
Rewrite(F);
name := '菜花 '; //加两个空格凑够6个字符
age := 18;
birthday := StrToDate(DateToStr(Now-18*365)); //假如她今天过生日
Writeln(F,name,age,birthday);
CloseFile(F);
Reset(F);
Readln(F,name,age,birthday);
Memo1.Clear;
Memo1.Lines.Add(name);
Memo1.Lines.Add(IntToStr(age));
Memo1.Lines.Add(DateToStr(birthday));
CloseFile(F);
{读取结果:
菜花
18
1989-12-23
}
//其实这样的东西应该用类型文件操作更合适, 但如果有这样的文本文件让你读取呢?
end;
end.
发表评论
-
form打开时的关闭代码
2011-10-25 20:29 1577摘自:http://topic.csdn.n ... -
TUpdateSQL更新问题 提示Update Failed
2011-08-29 20:26 1240摘自:http://topic.csdn.net/u/200 ... -
图解如何用Eurekalog跟踪程序错误
2011-08-12 07:28 942图解如何用Eurekalog跟踪程序错误 摘自:h ... -
VirtualBox 复制VDI 并能创建新的虚拟机
2011-07-21 11:14 2740摘自:http://www.nonabyte.net/how- ... -
截获所有异常 不报错
2011-07-12 16:52 1240摘自:http://media.ccidnet.c ... -
delphi exe程序以及DLL程序如何在模块内部获得各自的路径
2011-07-11 16:38 1307delphi Exe程序以及DLL程序如何在模块内部获得各自的 ... -
Delphi自定义的消息的使用
2011-05-31 14:12 2317阅:已验证,可通过; 摘自:http://blog.1 ... -
怎么查看OutputDebugString输出的信息?debugview
2011-05-25 16:02 3835网上很多说用debugview查看,我自己写了一个程序,里面用 ... -
Delphi里查看该变量的内存值
2011-05-25 13:32 1126Delphi里查看该变量的内存值:Run==>Evalu ... -
注册表操作 写入autorun启动项,键值为本程序的全路径
2011-05-20 15:40 1826procedure TForm4.Button2Click ... -
报说包frx7和frxdb7都包含了某个单元的错误
2011-05-11 09:59 10251. 问题描述:在安装FastReport3的时候,安装到- ... -
Delphi中使用ListView和TreeView的Item中的Data可能被忽略的内存泄漏
2011-05-03 14:34 1464摘自:http://blog.csdn.net/g ... -
WM_USER的说明 用户消息ID
2011-04-28 10:46 1688WM_USER 摘自:http://baike.bai ... -
ToolButton不能改变大小
2011-04-28 10:38 3463问题描述:ToolButton不能改变大小? 问 ... -
Delphi里TOOLBAR 上的button的caption为什么显示不出来啊
2011-04-20 17:55 1768Delphi里TOOLBAR 上的button的caption ... -
delphi指针简单入门
2011-04-11 21:42 1159摘自:http://topic.csdn.net/t/2003 ... -
Delphi中paramstr的用法 应用程序间传递数据
2011-04-01 14:33 2105Delphi中paramstr的用法 应用程序间传递数据 ... -
Delphi中的THashedStringList对象 --大数据量时
2011-04-01 13:54 5150Delphi中的THashedStringLi ... -
inherited Create(AOwner); 和直接写inherited有区别吗
2011-03-26 15:44 1324摘自:http://zhidao.baidu.com/que ... -
delphi中的Create,Send,Sender,Self
2011-03-26 14:08 1465摘自:http://www.cnblogs.com/keyco ...
相关推荐
在Delphi编程环境中,直接读写文本文件是常见的任务,特别是在处理日志、配置文件或数据存储时。本文将深入探讨如何在不依赖Memo控件的情况下实现这一功能,以提高程序的效率和灵活性。 首先,我们需要引入`System....
通过以上内容,你应该对Delphi中的文本文件读写有了基本的理解。继续学习Delphi的高级特性,如内存映射文件、异步I/O等,可以帮助你更高效地处理文件操作。记得实践是检验理论的最好方式,尝试编写自己的文件读写...
总的来说,Delphi中的文本文件读写操作并不复杂,通过TStreamReader和TStreamWriter类可以方便地实现。只要理解基本的文件操作概念和异常处理,你就能轻松应对大部分文件处理需求。在学习过程中,不断实践和调试代码...
本文将深入探讨如何使用Delphi通过Memo组件来实现文本文件和ini文件的读写操作。 首先,我们要了解Delphi中的Memo组件。Memo组件在界面上通常表现为一个多行文本框,用于显示或编辑大量文本。它在读写文本文件时...
### Delphi中读写TXT文件的关键知识...这些示例代码为初学者提供了很好的起点,展示了如何在Delphi中实现基本的TXT文件读写功能。通过这些基础操作的学习和实践,可以为进一步探索更复杂的数据处理任务奠定坚实的基础。
本文将深入探讨如何使用Delphi来实现对文本文件的读写操作。 首先,Delphi提供了TFile和TFileStream类,它们是操作系统I/O功能的封装,可用于读写文件。对于简单的文本文件操作,我们可以使用TFile类的OpenRead和...
Delphi读写UTF-8、Unicode格式文本文件 .mht
在Delphi中处理INI文件是一项常见的任务,INI文件是简单的文本文件,常用于存储配置信息。本文将深入探讨Delphi中对INI文件进行读写操作的相关知识点。 1. **INI文件格式** INI文件由一系列键值对组成,每行包含一...
下面将详细介绍如何在Delphi中通过Memo组件来读写文本文件,并讲解如何操作ini文件。 1. **读写文本文件(通过Memo)** 在Delphi中,可以使用TFile和TStream类来读写文件,但这里我们将重点讨论通过TMemo组件的...
在Delphi编程环境中,TFileStream是一个非常...总之,Delphi的TFileStream类是处理文件流的强大工具,适用于各种文件操作,包括读写、追加和合并。通过熟练掌握其用法,开发者可以高效地实现复杂的数据存储和传输任务。
Delphi 提供了多种文件读写方式,包括文本文件、类型文件、流文件等。 在 Delphi 中,文件读写主要通过文件变量(File)和流变量(Stream)来实现。文件变量可以认为是一个指向文件的指针,而流变量则是一种特殊的...
delphi 读写文本文件.mht
以上就是Delphi中基本的文件读写操作,这两个小实例展示了如何进行文本文件的读写。在实际应用中,你可能需要处理更复杂的数据类型,或者使用其他流类,如TStringStream、TMemoryStream等,以适应不同的需求。不过,...
首先,你需要导入System.XML读写XML文件所需的基本库。在Delphi中,可以使用TXMLDocument类来处理XML文档。以下是读取XML文件的基本步骤: 1. 创建TXMLDocument对象: ```delphi var XMLDoc: TXMLDocument; ...
这些配置文件通常是以.INI格式存在的文本文件,用于存储程序的各种设置信息。Delphi提供了丰富的API来方便地读取和修改这些文件,而无需直接调用Windows API函数,这大大简化了开发过程。 #### 一、概述 Delphi...
本项目聚焦于“Delphi文本拷贝”,即利用Delphi开发的工具或代码片段来实现TXT文本文件的复制功能。对于初学者或者希望扩展其Delphi技能的开发者来说,了解如何操作文件系统并实现文本文件的拷贝是非常基础且重要的...
接下来,要实现文件的打开和保存,你需要使用`TOpenDialog`和`TSaveDialog`组件让用户选择文件,并使用内置的`TextFile`流类来读写文本文件。确保处理各种文本编码,如ASCII、UTF-8等,以确保兼容性。 在设计用户...
总之,Delphi为开发者提供了强大的工具和丰富的API来处理TXT文本文件,无论是简单的读写操作,还是复杂的文本处理任务,都能游刃有余。通过实践和学习这些示例,你将能更好地掌握Delphi在文本处理方面的功能。
### Delphi 文件操作全攻略:深入文件读写与处理的艺术 #### 一、Delphi简介与特点 Delphi 是一种高性能的集成开发环境 (IDE) 和面向对象的编程语言,以其出色的开发能力和广泛的适用性而著称。它最初由 Borland ...
- Delphi还提供了`TTextReader`和`TTextWriter`用于文本文件的读写,以及`TIniFile`和`TMemorystream`等更具体的文件操作类。 - 对于更复杂的文件操作,如追加、替换、查找、替换文件内容等,可能需要结合字符串...