Delphi读文件文件一般使用Readln过程,如要读第3行可以这样: var i : Integer; F: TextFile; S: string; begin if OpenDialog1.Execute then { Display Open dialog box } begin AssignFile(F, OpenDialog1.FileName); { File selected in dialog } Reset(F); For i = 1 To 3 Do Readln(F, S); Edit1.Text := S; { Put string in a TEdit control } CloseFile(F); end; end; 要统计总行数,只能从头逐行读,直到文件尾(Eof函数为True),每读一行计数器加1。 不过由于文本文件的每行长度不相等,它不能象数据库文件那样想读那行就读哪行,只能顺序读。 上面的方法容易理解,也容易实现。如果希望提高速度,编程上要麻烦一些,可以以二进制方式打开文件,将所有内容读入一个内存变量,然后使用Pos函数查找其中的回车(#13)个数,这样可以快速地统计总行数并能快速地找到指定行。
var
i : Integer;
F: TextFile;
S: string;
begin
if OpenDialog1.Execute then { Display Open dialog box }
begin
AssignFile(F, OpenDialog1.FileName); { File selected in dialog }
Reset(F);
For i = 1 To 3 Do
Readln(F, S);
Edit1.Text := S; { Put string in a TEdit control }
CloseFile(F);
end;
end;
要统计总行数,只能从头逐行读,直到文件尾(Eof函数为True),每读一行计数器加1。
不过由于文本文件的每行长度不相等,它不能象数据库文件那样想读那行就读哪行,只能顺序读。
上面的方法容易理解,也容易实现。如果希望提高速度,编程上要麻烦一些,可以以二进制方式打开文件,将所有内容读入一个内存变量,然后使用Pos函数查找其中的回车(#13)个数,这样可以快速地统计总行数并能快速地找到指定行。
1、首先定义一个文件变量。
如果是文本方式:var F: TextFile;
如果是二进制方式:var DataFile: file;
2、打开文件,先用AssignFile指定文件名,然后用Reset来打开。如:
AssignFile(F, 'test.txt');
Reset(F);
3、文本文件的读写方法:然后使用Read和Readln读文件。Read相当于VB的Input #,而Readln相当于Line Input #。写文件使用Write和Writeln,相当于Print #语句。
二进制文件的读写方法:然后使用BlockRead读文件。BlockRead相当于VB的Get。写文件使用BlockWrite,相当于Put语句。
4、使用CloseFile关闭文件。
另外,Delphi也可以使用Win32 API函数读写文件。
read(fp,num,name,code)
我已经知道如何做了,谢谢各位