我要在edit编辑框中输入字符,保存的时候判断输入的字符是汉字还是英文,比如edit1限制为输入汉字,edit2限制为输入英文字母,edit可以吗?如果不能,哪个控件可以呢?谢谢!

解决方案 »

  1.   

    在KeyPress事件里处理。
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
        if Key<#127 then
            Key:=#0;
    ////////////限制Edit1只能输入汉字
    end;procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
    begin
        if Key>=#127 then
            Key:=#0;
    ////////////限制Edit1只能输入英文
    end;
      

  2.   

    汉字的第一个字符是大于128的,英文的是小于128的
    你这样写好了
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if ord(key)<128 then
        key:=#0;
    end;
      

  3.   

    procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
    begin
        if (Key>#122) or (Key<#65) then
            Key:=#0;
    ///////////////////这样限制只能输入英文更精确。
    end;
      

  4.   

    这个函数应该可以判断汉字,
    返回值是单字节和双字节的第一后者第二个
    ByteType