如何将TXT文件中指定的某行显示到memo上?(30分)

  • 主题发起人 主题发起人 城里的月饼
  • 开始时间 开始时间

城里的月饼

Unregistered / Unconfirmed
GUEST, unregistred user!
比如将A.TXT文件中第3行显示到memo上
 
mm:=TStringList.Create;
mm.LoadFile('c:/a.txt');
Memo1.lines.add(mm.strings[3]);//将第四行显示到memo上。
大致如此,可能有错,没开delphi。自己再试试吧
 
给你写个例子:
IQFile: TStringList;
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
tmp:string;
begin
try
IQFile := TStringList.Create;
except
IQFile.Free;
end;
with IQFiledo
begin
IQFile.LoadFromFile('c:/A.txt');
for i:=0 to count-1do
begin
tmp:=Strings;
if i=2 then
begin
memo1.Lines.Clear;
memo1.Lines.Add(tmp);//增加文本文件的第三行内容。
end;
end;
end;
end;
呵呵,试试,行了吧。
 
to pnljh:
我是通过代理上网,刷新老是有问题,没看到你的回答,否则也不来争分了,呵呵。。
 
对不起,我想说的是:这个TXT文件不是以txt为扩展名的,是随便一个扩展名比如:
abc.rtt,但它确实是由abc.txt改名得到的。如何读这样的文件?
 
IQFile.LoadFromFile('c:/A.txt');
此句可以改为IQFile.LoadFromFile('c:/abc.rtt');不就是你要的了?
 
同意pnljh的看法,只要文件格式一样就行!
 
有没有人用程序自己写过。
我老感觉TStringList速度不快~~~~~~~~~~~~~
 
to pnljh:
最初我也是改成*.rtt但没成功所以才发贴的,刚才一试又成功了,真气人!谢谢你。
我也关注一下Nizvoo的说法。又更快的方法吗?
 
试试这个,我刚写的:
读取其中某一行:
procedure TForm1.LoadSomeLine(FileName:string;num:integer;
var Str:string);
var
MyTextFile:TextFile;
MyStr:string;
i:integer;
begin
i:=0;
AssignFile(MyTextFile,FileName);
Reset(MyTextFile);
While not Eof(MyTextFile)do
begin
i:=i+1;
Readln(MyTextFile,MyStr);
if i=num then
begin
Str:=MyStr;
exit;
end;
end;
end;
调用:
procedure TForm1.Button1Click(Sender: TObject);
var
num:integer;
Filename:string;
str:string;
begin
num:=2;
FileName:='d:/aa.txt';
LoadSomeLine(FileName,num,Str);
memo1.Lines.Add(Str);
end;

 
多人接受答案了。
 
后退
顶部