edit中输入类似与56,47,23的一个字符串,怎样把三个数字分离出来??????

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      str: TStringList;
      i: Integer;
    begin
      str := TStringList.Create;
      str.CommaText := '56,47,23';
      for i := 0 to str.Count-1 do
        ShowMessage(str[i]);
      str.Free;
    end;
      

  2.   

    我想通过一个edit输入坐标,要求x,y,z坐标之间用逗号或空格格开。但我不知道该如何分离出x,y,z坐标。
      

  3.   

    下在是一个公共函数:
    function UserTitle( vsDefined: String; vcDeli: char; viSeq: Integer ): String;
    { separator - ',' }
    var
      i, viCount : Integer;
    begin
      i := 1;
      Result := vsDefined;
      while True do
      begin
        viCount := POS( vcDeli, vsDefined );
        if viCount > 0 then
        begin
          if i = viSeq then
          begin
            Result := Copy( vsDefined, 1, viCount-1 );
            break;
          end;
          Inc( i );
          Delete( vsDefined, 1, viCount );
        end
        else
        begin
          Result := vsDefined;
          break;
        end;
      end;
    end;
    procedure TForm1.Button1Click(Sender: TObject);
    var
      s1, s2, s3: String
    begin
      s1 := UserTitle(edit1.text, ',', 1);
      s2 := UserTitle(edit1.text, ',', 2);
      s3 := UserTitle(edit1.text, ',', 3);
    end;
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      s: string;
      temp: string;
      i: integer;
    begin
      s := 'abc  ;ddd;  aslkd,  aaa';
      temp := '';
      for i := 1 to length(s) do
        if (s[i] <> ';') and (s[i] <> ',') then
          temp := temp + s[i]
        else
        begin
          if trim(temp) <> '' then
            showmessage(trim(temp)); //把trim(temp)放到你想要的地方。
          temp := '';
        end;
      if trim(temp) <> '' then
        showmessage(trim(temp)); //把trim(temp)放到你想要的地方。
    end;
      

  5.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      s: string;
      temp: string;
      i: integer;
    begin
      s := 'abc  ;ddd;  aslkd,  aaa';
      temp := '';
      for i := 1 to length(s) do
        if (s[i] <> ';') and (s[i] <> ',') then
          temp := temp + s[i]
        else
        begin
          if trim(temp) <> '' then
            showmessage(trim(temp)); //把trim(temp)放到你想要的地方。
          temp := '';
        end;
      if trim(temp) <> '' then
        showmessage(trim(temp)); //把trim(temp)放到你想要的地方。
    end;
      

  6.   

    同意楼上的和同意楼上的楼上的,只有你自己编了,处理ONKEYPRESS事件最好了