我想从‘123,111,33,6325,7784,4,83’中分别取出数字 也就是123 111 33……
希望高手写段能用的代码给我看看  要分段取  也就是 先取123  然后111……

解决方案 »

  1.   

    如果这个字符串的逗号不是中文的逗号的话, 可以这样取: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;
      

  2.   

    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;