博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
文本文件读写
阅读量:5169 次
发布时间:2019-06-13

本文共 3107 字,大约阅读时间需要 10 分钟。

前言:
Delphi 支持三种文件类型: 文本文件、记录文件、无类型文件。
文本文件是以行为单位进行读、写的。由于每一行的长度不一定相同,不能计算出给定行在文件中的确切位置,因而只能顺序地读写。
文本文件只能单独为读或写而打开,在一个打开的文本文件上同时进行读、写操作是不允许的。
文本文件的打开需要两个步骤:1.文件变量与文件名关联;2.初始化读写。
1.文件变量与文件名关联: 
AssignFile(VarTxt, FileName);
FileName 如果省略路径将默认当前目录。
2.初始化读写有三种方式:
(1) Reset: 只读打开, 指针移到文件头;
(2) Rewrite: 创建新文件并打开, 只写;
(3) Append: 从尾部追加, 指针当然在文件尾。
文件不存在时使用 Reset 或 Append 会引发一个I/O异常。
最后用 CloseFile 关闭文件。
为保持兼容,Delphi 也允许用户用 Assign 建立关联, 用 Close 关闭文件。

 
Unit1;       Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, StdCtrls;     TForm1 = (TForm)     Memo1: TMemo;     Button1: TButton;     Button2: TButton;     Button3: TButton;     Button4: TButton;     Button5: TButton;     Button6: TButton;     Button7: TButton;      Button1Click(Sender: TObject);      Button2Click(Sender: TObject);      Button3Click(Sender: TObject);      Button4Click(Sender: TObject);      Button5Click(Sender: TObject);      Button6Click(Sender: TObject);      Button7Click(Sender: TObject);                   ;     Form1: TForm1;         F: Text;    FileName:  = ;   TForm1.Button1Click(Sender: TObject);    AssignFile(F,FileName);   Rewrite(F);     Writeln(F, );   Writeln(F, );    CloseFile(F); ;   TForm1.Button2Click(Sender: TObject);    s: ;    AssignFile(F,FileName);   Reset(F);     Readln(F, s);     ShowMessage(s);   Readln(F, s);     ShowMessage(s);    CloseFile(F); ;   TForm1.Button3Click(Sender: TObject);    AssignFile(F,FileName);   Append(F);     Writeln(F, );   Writeln(F, );    CloseFile(F); ;   TForm1.Button4Click(Sender: TObject);    s: ;    AssignFile(F,FileName);   Reset(F);     Memo1.Clear;     Eof(F)         Readln(F, s);     Memo1.Lines.Add(s);   ;    CloseFile(F); ;   TForm1.Button5Click(Sender: TObject);      AddSpace(s: ; n: Word): ;         Length(s) < n             s := s + ;     ;     Result := s;   ;    name: [];   address: [];    AssignFile(F, FileName);   Rewrite(F);    name := ;   name := AddSpace(name,);   address := ;   address := AddSpace(address,);   Writeln(F, name, address);    name := ;   name := AddSpace(name,);   address := ;   address := AddSpace(address,);   Writeln(F, name, address);    name := ;   name := AddSpace(name,);   address := ;   address := AddSpace(address,);   Writeln(F, name, address);    CloseFile(F);  ;   TForm1.Button6Click(Sender: TObject);    name: [];   address: [];    AssignFile(F, FileName);   Reset(F);    Memo1.Clear;     Eof(F)         Readln(F, name);     Memo1.Lines.Add(name);   ;    CloseFile(F);   Reset(F);      Eof(F)         Readln(F, name, address);     Memo1.Lines.Add(address);   ;    CloseFile(F);  ;   TForm1.Button7Click(Sender: TObject);    name: [];   age: Word;   birthday: TDate;    AssignFile(F,FileName);   Rewrite(F);    name := ;    age := ;   birthday := StrToDate(DateToStr(Now-*));    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);   ;  .
  :我在用着的

转载于:https://www.cnblogs.com/longqcc/archive/2013/05/18/3084858.html

你可能感兴趣的文章
江城子·己亥年戊辰月丁丑日话凄凉
查看>>
Spring Mvc模式下Jquery Ajax 与后台交互操作
查看>>
(转)matlab练习程序(HOG方向梯度直方图)
查看>>
『Raid 平面最近点对』
查看>>
【ADO.NET基础-数据加密】第一篇(加密解密篇)
查看>>
STL中的优先级队列priority_queue
查看>>
UE4 使用UGM制作血条
查看>>
浏览器对属性兼容性支持力度查询网址
查看>>
面试整理:Python基础
查看>>
Program exited with code **** 相关解释
查看>>
tableView
查看>>
Happy Great BG-卡精度
查看>>
Xamarin Visual Studio不识别JDK路径
查看>>
菜鸟“抄程序”之道
查看>>
Ubuntu下关闭防火墙
查看>>
TCP/IP 邮件的原理
查看>>
原型设计工具
查看>>
windows下的C++ socket服务器(4)
查看>>
css3 2d转换3d转换以及动画的知识点汇总
查看>>
【Java】使用Eclipse进行远程调试,Linux下开启远程调试
查看>>