str : String;
  Str := ';1,2;3;6;8;60;40'
如何分别取出1,2,3,6,8,60,40??????

解决方案 »

  1.   

    var
      i: Integer;
      tmpStrs: TStringList;
      str: String;
    begin
      Str := ';1,2;3;6;8;60;40';  tmpStrs := TStringList.Create;
      try
        tmpStrs.Text := StringReplace(str, ';', #13#10, [rfReplaceAll]);
        tmpStrs.Text := StringReplace(tmpStrs.Text, ',', #13#10, [rfReplaceAll]);
        tmpStrs.Text := Trim(tmpStrs.Text);    ShowMessage(tmpStrs.Text);
      finally
        tmpStrs.Free;
      end;
    end;
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      t : TStringList;begin
       t :=TStringList.Create;
       try
          t.Delimiter := ';';
          t.DelimitedText := ';1;2;3;6;8;60;40';;
          ShowMessage(t.Text);
          //你可以通过t[1],t[2]来分别访问
       finally
          t.Free;
       end;
    end;
      

  3.   

    procedure TForm1.Button2Click(Sender: TObject);
    var
      Str: string;
      SL: TStringList;
    begin
      Str := ';1;2;3;6;8;60;40';
      SL := TStringList.Create;
      try
        SL.Delimiter := ';';
        SL.DelimitedText := Str;
        ShowMessage(SL.Text);
      finally
        SL.Free;
      end;
    end;
      

  4.   

    晕,知道wudi也写了同样的版本就不和你抢了,哈
      

  5.   

    function ExtractStrings(Separators, WhiteSpace: TSysCharSet; Content: PChar; Strings: TStrings): Integer;
      

  6.   

    postren:
       不知情的还以为你拷贝过来的呢。呵呵。我发现这段代码属于抢分代码
      

  7.   

    给个函数
    Unit 
    Classes
    function ExtractStrings(Separators: TSysCharSet; WhiteSpace: TSysCharSet; Content: PAnsiChar; Strings: TStrings): Integer;