我想把unix下的文本文件转换成windows下的,插入回车符,下面是我的代码,但是感觉好慢,帮忙改进优化下,谢谢。procedure tform1.insert13;
var
f:file of char;
c:char;
j:longint;
begin
assignfile(f,'c:\temp.txt');rewrite(f);
c:=#13;
for j:=1 to length(memo1.text) do
begin
if memo1.text[j]=#10 then
begin
write(f,c);
write(f,memo1.text[j]);
end
else
write(f,memo1.text[j]);
end;
closefile(f);
end;
var
f:file of char;
c:char;
j:longint;
begin
assignfile(f,'c:\temp.txt');rewrite(f);
c:=#13;
for j:=1 to length(memo1.text) do
begin
if memo1.text[j]=#10 then
begin
write(f,c);
write(f,memo1.text[j]);
end
else
write(f,memo1.text[j]);
end;
closefile(f);
end;
s:TStringList;
i:Integer;
mstr:string;
begin
s:=TStringList.Create;
s.LoadFromFile('文件名');
for i:=0 to s.Count-1 do
begin
mstr:=s[i];
mstr:=StringReplace(mstr,#10,#13,[rfReplaceAll]);
s[i]:=mstr;
end;
s.SaveToFile('文件名');
s.Free;
procedure tform1.insert13
var
i:integer;
begin
Memo1.Lines.LoadFromFile('c:\temp.txt');
for i := 0 to memo1.Lines.Count -1 do
begin
Memo1.Lines.Strings[i] := StringReplace(Memo1.Lines.Strings[i], #10, #13,
[rfReplaceAll]);
end;
Memo1.Lines.LoadFromFile('c:\temp.txt');
end;不过貌似也很慢
Memo1.LineBreak := #13#10
Memo1.SaveToFile(...(*文件名*));
Memo1.Lines.SaveToFile(...(*文件名*));
function gettime: double;
var int1,int2:int64;
begin
QueryperformanceCounter(int1);
Queryperformancefrequency(int2) ;
result:=int1/int2;
end;