如果这个字符串的逗号不是中文的逗号的话, 可以这样取:var APart : TStringList; iLoop : Integer; begin APart := TStringList.Create; try APart.Delimiter = ','; APart.DelimitedText = '123,111,33,6325,7784,4,83'; for iLoop := 0 to APart.Count - 1 do begin ShowMessage (APart.Strings[iLoop]); end; finally APart.Free; end; end;
function GetNumber(S:String):TStrings; var TS:TStrings; Temp:String; begin TS:=TStringList.Create; Temp:=S; while Pos(',',Temp)>0 do begin TS.Add(Copy(Temp,1,Pos(',',Temp)-1)); Delete(Temp,1,Pos(',',Temp));//delete the number and ',' end; TS.Add(Temp);//get last number Result:=TS; end; 用法 procedure TForm1.Button1Click(Sender: TObject); var TempTS:TStrings; I:Integer; begin TempTS:=GetNumber(Edit1.Text); for I:=0 to TempTS.Count-1 do begin Memo1.Lines.Add(TempTS[I]); end; end;
APart : TStringList;
iLoop : Integer;
begin
APart := TStringList.Create;
try
APart.Delimiter = ',';
APart.DelimitedText = '123,111,33,6325,7784,4,83';
for iLoop := 0 to APart.Count - 1 do
begin
ShowMessage (APart.Strings[iLoop]);
end;
finally
APart.Free;
end;
end;
var
TS:TStrings;
Temp:String;
begin
TS:=TStringList.Create;
Temp:=S;
while Pos(',',Temp)>0 do
begin
TS.Add(Copy(Temp,1,Pos(',',Temp)-1));
Delete(Temp,1,Pos(',',Temp));//delete the number and ','
end;
TS.Add(Temp);//get last number
Result:=TS;
end;
用法
procedure TForm1.Button1Click(Sender: TObject);
var
TempTS:TStrings;
I:Integer;
begin
TempTS:=GetNumber(Edit1.Text);
for I:=0 to TempTS.Count-1 do
begin
Memo1.Lines.Add(TempTS[I]);
end;
end;