请教各位文本文件处理的问题(50分)

  • 主题发起人 主题发起人 hangyang
  • 开始时间 开始时间
H

hangyang

Unregistered / Unconfirmed
GUEST, unregistred user!
请问怎样将文本文件读到memo中去啊
文本文件的每行不是一样长,要求以同样的字符数读到memo中。
比如
文本文件内容为:
aaaaaaaaaaaaaaaaa
ssssssssss
ddddddddddddddddd
ffffffffff
rrrrrrrrrrrrrrr
读到memo中为
aaaaaaaaaaaaaa
aassssssssssss
dddddddddddddd
dddddfffffffff
ffrrrrrrrrrrrr
rrrrrrrrrrrrrr
即每行字符相等就可以了 谢谢了。
 
var
aa: TStringList;
i, Min: Integer;
begin
aa:= TStringList.Create;
aa.LoadFromFile('文件.txt');
Min:= Length(aa[0]);

for i:= 1 to aa.Count - 1do
if Length(aa) < Min then
Min:= Length(aa);
for i:= 0 to aa.Count - 1do
Delete(aa, Min + 1, Length(aa));
Memo1.Lines.Text:= aa.Text;
aa.Free;
end;
 
to白河愁:
var
aa: TStringList;
i, Min: Integer;
begin
aa:= TStringList.Create;
aa.LoadFromFile('文件.txt');
Min:= Length(aa[0]);

for i:= 1 to aa.Count - 1do
if Length(aa) < Min then
Min:= Length(aa);
for i:= 0 to aa.Count - 1do
Delete(aa, Min + 1, Length(aa));
//这点编译不过去啊 ,再帮我看看吧
Memo1.Lines.Text:= aa.Text;
aa.Free;
end;
 
1. 读到字符串中!
Var
tms : string;
{$H+}
setlength(tms,1024*1024);// 1M够了吧!
把文本的内容一行行读入累加到tms中
根据分段的长度,例如tlen
while length(tms)>tlendo
begin
memo1.lines.add(copy(tms,1,tlen));
delete(tms1,1,tlen);
application.processmessage;
end;
if length(tms)>0 then
memo1.lines.add(tms);
OK!
 
to WQL:
能否详细一点啊 我真的不太明白啊 谢谢了哈[:)]
 
Procedure ToEQUMemo(TLen:Integer);
var
aa: TStringList;
tms:string;
i, Min: Integer;
begin
aa:= TStringList.Create;
aa.LoadFromFile('文件.txt');
{$H+}// 必须加喔!
setlength(tms,1024*1024);

tms:='';
for i:= 1 to aa.Count - 1do
tms:=tms+(aa);// 或 tms:=tms+trim(aa);
form1.memo1.lines.clear;
while length(tms)>tlendo
begin
form1.memo1.lines.add(copy(tms,1,tlen));
delete(tms1,1,tlen);
application.processmessage;
end;
if length(tms)>0 then
form1.memo1.lines.add(tms);
aa.free;
end;
 
谢谢 问题已经解决了
感谢关注哈
 
后退
顶部