在edit控件中如何检测数字和字母
各位大侠帮帮忙

解决方案 »

  1.   

    处理TEdit控件的OnKeyPress事件,在Edit每当一个键按下的时候,该事件就会被触发,同时传递按下的键为参数,这时候就可以判断了
    Example form Delphi Help
    This event handler from a cross-platform application displays a message dialog box specifying which key was pressed:procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);begin
      MessageDlg(Key + ' has been pressed', mtInformation, [mbOK], 0)end;
      

  2.   

    一个一个地检测很简单啊。
    var
      strTmp: string;
      i: Integer;
    begin
      strTmp := Edit1.Text;
      for i := 1 to Length(strTmp) do
        if (strTmp[i] >= '0') and (strTmp[i] <= '9') then
          ...//是数字
        else
          ...//是非数字字符
      

  3.   

    这帖子太多了吧!简单点
    try
      StrToInt(edit1.Text);
    Except
      showmessage('不是正确的数字');
    end;
      

  4.   

    两个函数,一个是判断是否字符串,另一个是判断是否数字判断字符串
    function CheckString(S: string): Boolean;
    var
      vStr: string;
      vChar: Char;
    begin
      result := True;
      vStr := S;
      while vStr <> '' do
      begin
        vChar := copy(vStr, 0, 1);
        vStr := copy(vStr, 2, length(vStr) - 1);
        if not (((vChar>='a') and (vChar=<'z')) or ((vChar>='A') and (vChar=<'Z'))) then
        begin
          result := False;
          break;
        end;
      end;
    end;
    判断数字
    function CheckString(S: string): Boolean;
    var
      vStr: string;
      vChar: Char;
    begin
      result := True;
      vStr := S;
      while vStr <> '' do
      begin
        vChar := copy(vStr, 0, 1);
        vStr := copy(vStr, 2, length(vStr) - 1);
        try
          StrToInt(vChar);
        except
          result := False;
          break;
        end;
      end;
    end;
      

  5.   

    if key in['0'..'9'] then 
      //your code here 
     else if key in['a'..'z','A'..'Z'] then
     //your code here还可以用#8,#13之类的东东。
      

  6.   

    补充一下:上叙代码加在KEYPRESS事件中。