edit.text中有数字和中文字符,我如何才能只取出其中的数字呢?格式如下:
123大小的
456 大小的要求取出:
123
456如何办啊??不甚感激

解决方案 »

  1.   

    var
      s,s1:string;
    begin
      s1:='';
      s:=Copy(Edit1.Text,1,Length(Edit1.Text));
      if (s In ['0'..'9']) then 
      s1:=s1+s
    end
      

  2.   

    function ExtractStr(Str: string): string;  //格式字符串
    var i,j:integer;
    begin
      Result:='';
     j:=Length(str);
    for i:=0 to j do
    begin
    if str[i] in ['0'..'9'] then
    Result:=Result+str[i];
    end;
    end;procedure TForm1.Button1Click(Sender: TObject);//调用函数
    begin
         edit1.text:=ExtractStr('123大小的');
    end;
      

  3.   

    靠,没看清题.重新给你一个
    procedure TForm1.Button1Click(Sender: TObject);
    var
     s:string;
     i:integer;
    begin
      s:=Edit1.text;
      for i:=1 to Length(Edit1.Text) do
      begin
        if not (s[i] in ['0'..'9']) then showmessage(s[i])
      end;
    end;end.
      

  4.   

    不好拉,运行到 s[i] in ['0'..'9'] 以后跳出 Range check error错误,你们有做调试过吗?
      

  5.   

    for i:= 0 to length(XX)-1 do
    begin
    end
      

  6.   

    procedure Tmainform.Button4Click(Sender: TObject);var
     s,s1:string;
     i:integer;
    begin
      s:=Edit1.text;
      s1:='';
      for i:=1 to Length(Edit1.Text) do
      begin
        if (s[i] in ['0'..'9']) then s1:=s1+s[i];
      end;
      showmessage(s1) ;end;
      

  7.   

    晕,是1 to length(XXX) 不是 0 to length(XXX)
      

  8.   

    为什么是1 to length(XXX)?