在 TeDIT控件的Keypress事件中写KEY IN[]来实现

解决方案 »

  1.   

    paulzou,除了数字,汉字,字母,你在edit里还能输入什么其他的东西吗?
    请教!!!!!!
      

  2.   

    elogsoft(elogsoft): key in[]是什么呀?另外也实现吧:DELPHI 返回ASCII值的函数是什么?请帮帮我。
      

  3.   

    chr(byte型变量),返回相应的字符
      

  4.   

    YANGYUGW(yangyu):
    你好。
    我的意思是在一个应用中要求在EDIT中只输入数字,在另外一个应用中要求只输入字母等等。或许我没说清。
    请帮我!THANKS 。 
      

  5.   

    只能输入数字或者字母都很简单
    如果是指定位数的数字或字母,可以用TMaskEdit。
    如果一定要TEdit的话,
    最常用的方式就是在TEdit的OnkeyPress或者OnKeyDown的时候判断是否数字或字母(可以根据ASCII码),如果不符合要求就将Key置为#0。但是要注意不要屏蔽一些控制键,如TAB、BackSpace等。
    还有一种方法就是给TEdit的风格中增加 ES_NUMBER(只能输入数字),这需要调用API实现,可以参照API的帮助。
    GetWindowLong
    SetWindowLong
      

  6.   

    字符到ASCII码
    ord()
    ASCII码到字符
    chr()
      

  7.   

    Procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
    begin //只允许输入数字
       if (Key<'0' ) or (Key>'9') then
         abort;      
    end;
      

  8.   

    Procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin //只允许输入字符
      if (UpCase (Key)<'A' ) or (Key>'Z') then
        abort;      
    end; 
      

  9.   

    在此基础上把TAB、BackSpace等加进来,就OK了
    Procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin //只允许输入字符
      if (UpCase(Key)<'A' ) or (UpCase(Key)>'Z') then
        abort;      
    end; 
      

  10.   

    借PoolD(池龙)大作提醒:
    setwindowlong(edit1.handle, GWL_STYLE ,getwindowlong(edit1.handle,GWL_STYLE ) or  ES_NUMBER);