求一字符串功能 ( 积分: 5 )

  • 主题发起人 主题发起人 zpselect
  • 开始时间 开始时间
Z

zpselect

Unregistered / Unconfirmed
GUEST, unregistred user!
字符串:S:='11@126.com,22@126.com,33@126.com'
现将其分解为三个邮件地址即:11@126.com , 22@126.com ,33@126.com
并且显示在ListBox中,即:
11@126.com
22@126.com
33@126.com
 
Function Spilter(Var Ans:TStrings;S:String):Boolean;
Var i;Integer;
St:String;
Begin
Try
result:=True;
if Ans=nil then Ans:=TStringList.Create;
Ans.Clear;

St:='';
For i:=1 to Length(S) do
if S=',' then Begin
Ans.Append(St);
St:='';
end else
St:=St+S;
end;

if St<>'' then Ans.Append(St);
except
result:=False;
end;
end;


Spilter()传入 变参 TStrings,参数 String ,返回 Boolean 判断操作成功或者失败

ListBox1.Items.Assign(Ans); 即可
 
SplitString
 
刚才直接写的,有个地方错了'

Function Spilter(Var Ans:TStrings;S:String):Boolean;
Var i:Integer;
St:String;
Begin
Try
result:=True;
if Ans=nil then Ans:=TStringList.Create;
Ans.Clear;

St:='';
For i:=1 to Length(S) do
if S=',' then Begin
Ans.Append(St);
St:='';
end else Begin
St:=St+S;
end;

if St<>'' then Ans.Append(St);
except
result:=False;
end;
end;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
Var Str:TStrings;
begin
Str:=TStringList.Create ;
Spilter(Str,Edit1.Text );
ListBox1.Items.Assign(Str);

Str.Free ;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
const
S = '11@126.com,22@126.com,33@126.com';
begin
ListBox1.Items.CommaText := S;
end;
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
767
DelphiTeacher的专栏
D
D
回复
0
查看
809
DelphiTeacher的专栏
D
后退
顶部