memo 问题 ( 积分: 50 )

  • 主题发起人 主题发起人 a2236523
  • 开始时间 开始时间
A

a2236523

Unregistered / Unconfirmed
GUEST, unregistred user!
我把txt文件内容写入MEMO控件,但我想在每行的结尾并上一个逗号,但在最后一行不要逗号,请问要如何写!

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
Memo1.Lines.LoadFromFile(OpenDialog1.FileName) ;
end;
end;
 
procedure AddCommaToEnd(const AMemo: TMemo);
var
i: Integer;
begin
with AMemo do
begin
if Lines.Count <= 1 then
Exit;
Lines.BeginUpdate;
for i:=0 to Lines.Count-2 do
Lines := Lines + ',';
Lines.EndUpdate;
end;
end;

procedure AddCommaToEnd(const AMemo: TMemo);
var
i: Integer;
begin
with AMemo.Lines do
begin
if Count <= 1 then
Exit;
BeginUpdate;
for i:=0 to Count-2 do
if (Length(Trim(Strings))>0) then
if (Strings[Length(Strings)] <> ',') then
//空行不添加,已经存在不添加。
Strings := Strings + ',';
EndUpdate;
end;
end;
 
按这代码会出错,我打开TXT文件里面内容是
13866669999
13455552222
13899994444
13788881111
13866669999
13455552222
13899994444
13788881111
13866669999
13455552222
13899994444
13788881111
13866669999
13455552222
13899994444
13788881111

可并上逗号后变成
13899994444,13455552222,13866669999,1378888,13899994444,13455552222,13866669999,1378888,,13899994444,13455552222,13866669999,1111,11,,,13455552222,,,,,,,,,,,,,13899994444,,,,,,,,,,,,137888,,,,,,,,,13866669999,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,
137888
 
[?]
procedure AddCommaToEnd(const AMemo: TMemo);
var
i: Integer;
begin
with AMemo.Lines do
begin
if Count <= 1 then
Exit;
BeginUpdate;
for i:=0 to Count-2 do
if (Length(Trim(Strings))>0) then
if (Strings[Length(Strings)] <> ',') then
Strings := Strings + ',';
EndUpdate;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
with Memo1 do
begin
Clear;
Lines.LoadFromFile('c:/test.txt');
AddCommaToEnd(Memo1);
end;
end;//测试没问题。
 
接受答案了.
 
后退
顶部