1、一个回车是#13#10
2、
>>但即使操作时回车被略去,在目的流中相同的地方任可找到回车。
不明白,你不是要把源的回车复制到目的吗?
3、按照我的习惯,我会用两个TstringList进行处理,处理完毕再保存到文件。例如
var
i,iPos:integer;
stSrc,stDst : TStringList ;
s ,s1:string;
begin
...
stSrc.LoadFromFile(...);
for i := 0 to stSrc.count -1 do
begin
s := stSrc[i];
iPos := pos(' ',s);
if iPos = 0 then
stDst.add(s)
else begin
while pos(' ',s)>0 do
begin
s := copy(s,1, pos(' ',s)+2);
stDst.Add(s);
end;
end;
end;
stDst.SaveToFile(...);
...
end;大概的思路就是这样,你测试一下吧。
2、
>>但即使操作时回车被略去,在目的流中相同的地方任可找到回车。
不明白,你不是要把源的回车复制到目的吗?
3、按照我的习惯,我会用两个TstringList进行处理,处理完毕再保存到文件。例如
var
i,iPos:integer;
stSrc,stDst : TStringList ;
s ,s1:string;
begin
...
stSrc.LoadFromFile(...);
for i := 0 to stSrc.count -1 do
begin
s := stSrc[i];
iPos := pos(' ',s);
if iPos = 0 then
stDst.add(s)
else begin
while pos(' ',s)>0 do
begin
s := copy(s,1, pos(' ',s)+2);
stDst.Add(s);
end;
end;
end;
stDst.SaveToFile(...);
...
end;大概的思路就是这样,你测试一下吧。
var
F: TFileStream;
P: Pointer;
S,SCopy: String;
I,CharCount,SpaceCount: Integer;
begin
F := TFileStream.Create('h:\新建 文本文档.txt',fmOpenRead);
GetMem(P,F.Size);
F.Read(P^,F.Size);
FreeAndNil(F);
S := PChar(P);
FreeMem(P);
SCopy := '';
CharCount := Length(S);
SpaceCount := 0;
for I := 1 to CharCount do
begin
if S[I] = ' ' then
begin
Inc(SpaceCount);
end else
begin
SCopy := SCopy + Copy(S,I,1);
if SpaceCount > 1 then0D
Insert(#13+#10+' ',SCopy,Length(SCopy))
0A else if SpaceCount = 1 then Insert(' ',SCopy,Length(SCopy));
SpaceCount := 0;
end;
end;
GetMem(P,Length(SCopy));
0A P := PChar(SCopy);
F := TFileStream.Create('h:\新建 文本文档.txt',fmOpenWrite);
F.Write(P^,Length(SCopy));0D
FreeAndNil(F);
end;—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
I.Desire := '加不加分随你';
—————————————————————————————————
var
i,iPos:integer;
stSrc,stDst : TStringList ;
s ,s1:string;
begin
stSrc := TStringList.Create;
stDst := TStringList.Create;
stSrc.LoadFromFile(...);
for i := 0 to stSrc.count -1 do
begin
s := stSrc[i];
iPos := pos(' ',s);
if iPos = 0 then
stDst.add(s)
else begin
while pos(' ',s)>0 do
begin
iPos := pos(' ',s);
s1 := copy(s,1, pos(' ',s)-1);
stDst.Add(s1+' ');
s := copy(s,iPos+2,length(s));
end;
if trim(s)<> '' then stDst.Add(s);
end;
end;
stDst.SaveToFile(...);
end;