怎样使编辑框(edit)只接收数字或汉字? 请附代码

解决方案 »

  1.   

    本帖最后由 liuli_ping 于 2012-05-15 15:30:26 编辑
      

  2.   

    //限制输入框只能输入数字
    procedure TFrmSet.EdtWKeyPress(Sender: TObject; var Key: Char);
    begin
      if not (key in ['0'..'9'])then
        key:=chr(0);
    end;
    汉字不知道
      

  3.   

    不用了,除去数字外
    const
     b:string='一竿残照';
    var
      a:widestring;
    begin
      a := b;
      //LengthOf(a) = 4;//四个汉字
      //lengthof(b)=8;//8个字节,明白没有,再或者,
    汉字的双字节的第一个字节ascii值大于128可以根据这个判断
      

  4.   

    接收数字:
    考虑了负数、Delete键、PageUp、PageDown、退格键procedure TdbEdit_N.EditKeyPress(Sender: TObject; var Key: Char);
    begin
       if not (Key in (['0'..'9','.',#8,#35,#36,#37,#38,#39,#40,#16,#46,'-'])) then
          Key := #0 ;
    end ;
      

  5.   

    procedure TFrmSet.EdtWKeyPress(Sender: TObject; var Key: Char);
    begin
      if not (key in ['0'..'9'])then
        key:=chr(0);
    end;