如果我有string a:='11,22,33',我怎么用整形数组b[3],取到a中的那三个数据?
其实其它形式也可以
多谢了

解决方案 »

  1.   

    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;
      

  2.   

    var
      sl:TStringList;sl := TStringList.Create;
    sl.CommaText := s;
    ShowMessage(sl[0]);
    sl.Free;
      

  3.   

    windindance(风舞轻扬)的方法是不是把S设为','?
    好像很好用耶:)
      

  4.   

    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));
      

  5.   

    pos()
    copy()通过确定‘,’号,然后将字符串拷贝出来即可
      

  6.   

    To:windindance(风舞轻扬) 果然简练,学习!
      

  7.   

    delete(a,1,6);
    b[3]:=strtoint(a);
      

  8.   

    上面的例子取到的是b[3]:=33delete(a,3,0);
    delete(a,5,0);
    b[3]:=strtoint(a);      //b[3]:=112233
      

  9.   

    windindance(风舞轻扬) 的方法最合理了如果不是 ',' 可以设 Delimiter
      

  10.   

    Delimiter如何设置?学习。