procedure StrToStrings(S, Sep: string; const List: TStrings); var I, L: Integer; Left: AnsiString; begin Assert(List <> nil); List.Clear; L := Length(Sep); I := Pos(Sep, S); while (I > 0) do begin Left := LeftStr(S, I - 1); List.Add(Left); Delete(S, 1, I + L - 1); I := Pos(Sep, S); end; if S <> '' then List.Add(S); end;
var sl:TStringList;sl := TStringList.Create; sl.CommaText := s; ShowMessage(sl[0]); sl.Free;
windindance(风舞轻扬)的方法是不是把S设为','? 好像很好用耶:)
var TmpStr:String; begin a:='11,22,33'; TmpStr:=a; b[1]:=StrToInt(Trim(Copy(TmpStr,1,Pos(',',TmpStr)-1))); Delete(TmpStr,1,Pos(',',TmpStr)); b[2]:=StrToInt(Trim(Copy(TmpStr,1,Pos(',',TmpStr)-1))); Delete(TmpStr,1,Pos(',',TmpStr)); b[3]:=StrToInt(Trim(TmpStr));
const List: TStrings);
var
I, L: Integer;
Left: AnsiString;
begin
Assert(List <> nil);
List.Clear;
L := Length(Sep);
I := Pos(Sep, S);
while (I > 0) do
begin
Left := LeftStr(S, I - 1);
List.Add(Left);
Delete(S, 1, I + L - 1);
I := Pos(Sep, S);
end;
if S <> '' then
List.Add(S);
end;
sl:TStringList;sl := TStringList.Create;
sl.CommaText := s;
ShowMessage(sl[0]);
sl.Free;
好像很好用耶:)
TmpStr:String;
begin
a:='11,22,33';
TmpStr:=a;
b[1]:=StrToInt(Trim(Copy(TmpStr,1,Pos(',',TmpStr)-1)));
Delete(TmpStr,1,Pos(',',TmpStr));
b[2]:=StrToInt(Trim(Copy(TmpStr,1,Pos(',',TmpStr)-1)));
Delete(TmpStr,1,Pos(',',TmpStr));
b[3]:=StrToInt(Trim(TmpStr));
copy()通过确定‘,’号,然后将字符串拷贝出来即可
b[3]:=strtoint(a);
delete(a,5,0);
b[3]:=strtoint(a); //b[3]:=112233