假设E盘有一文件1.txt,内容为:
mmmcccc
明小子
ssssssssssss
ffffffffff现用delphi方法读取内容:
var
fp:textfile;
s:string;
begin
AssignFile(fp,'e:\1.txt');
Reset(fp);
While not EOF(fp) do //判断是否到末尾
Begin
ReadLn(fp,s);
memo1.text:=s;
End;
CloseFile(fp);end;可运行结果为什么是:“ffffffffff“ 而不是
“mmmcccc
明小子
ssssssssssss
ffffffffff
” 为什么呢?再问:read()与readLn()有什么不同呢?
mmmcccc
明小子
ssssssssssss
ffffffffff现用delphi方法读取内容:
var
fp:textfile;
s:string;
begin
AssignFile(fp,'e:\1.txt');
Reset(fp);
While not EOF(fp) do //判断是否到末尾
Begin
ReadLn(fp,s);
memo1.text:=s;
End;
CloseFile(fp);end;可运行结果为什么是:“ffffffffff“ 而不是
“mmmcccc
明小子
ssssssssssss
ffffffffff
” 为什么呢?再问:read()与readLn()有什么不同呢?
readLn 一次读取一行
你的这个语句的原因,你的循环一直在重新赋值而已,不是追加行。
当s='mmmcccc'
你的memo1='mmmcccc'
当最后一句s='ffffffffff'
你的memo1就是 ffffffffff 了。
用一楼的方法改一下就可以了。
memo1.text:=s; 改成 memo1.lines.add(s);
前面的是改写,结果是循环最后一个值,后面的才是追加、插入。