//检查 输入数据合法化  只允许输入  A-Z,0-9 字符数据
procedure TPubFun.CheckInputData(var Key : Char);
begin   if ( (Key >= Char(97)) and (Key <= Char(122)) ) then
   begin
         Key:=Char(Key - Char(32));//把a-z转化为A-Z
   end;   if ( (Key < Char(48)) and (Key > Char(57)) ) or
      ( (Key < Char(65)) and (Key > Char(90)) ) then
   begin
      Application.MessageBox('请输入A-Z,0-9!', '提示信息', MB_ICONERROR + MB_OK);
      Key := Char(27);//
   end;end;

解决方案 »

  1.   

    //检查 输入数据合法化  只允许输入  A-Z,0-9 字符数据
    procedure TPubFun.CheckInputData(var Key : Char);
    begin   if ( (Key >= Char(97)) and (Key <= Char(122)) ) then
       begin
             Key:=Char(Key - Char(32));//把a-z转化为A-Z  此处有错误!
       end;   if ( (Key < Char(48)) or (Key > Char(57)) ) or //0-9
          ( (Key < Char(65)) or (Key > Char(90)) ) then//A-Z
       begin
          Application.MessageBox('请输入A-Z,0-9!', '提示信息', MB_ICONERROR + MB_OK);
          Key := Char(27);//
       end;end;
      

  2.   

    procedure TForm1.CheckInputData(var Key: Char);
    begin
       if ( (Ord(Key) >= 97) and (Ord(Key) <= 122) ) then
       begin
             Key:=Char(Ord(Key) - 32);//把a-z转化为A-Z
       end;   if ( not((Ord(Key) > 48) and (Ord(Key) < 57)) ) or
          ( not((Ord(Key) < 65) and (Ord(Key) > 90)) ) then
       begin
          Application.MessageBox('请输入A-Z,0-9!', '提示信息', MB_ICONERROR + MB_OK);
          Key := Char(27);//
       end;
    end;
      

  3.   

    procedure TPubFun.CheckInputData(var Key : Char);
    var WKey:Word;
    begin
       WKey := Word(Key);
       if ( WKey >= 97) and (WKey <= 122) then
       begin
          WKey:=WKey - 32;//把a-z转化为A-Z  此处有错误!
       end;   if not (WKey in [48..57,65..90]) then
       begin
          Application.MessageBox('请输入A-Z,0-9!', '提示信息', MB_ICONERROR + MB_OK);
          WKey := 27;//
       end;
       Key := char(WKey);
    end;
      

  4.   

    用了下,发现了点问题,重新改了下!!!!!
    procedure TfrmMain.CheckInputData(var Key: Char);
    begin
       if ( (Ord(Key) >= 97) and (Ord(Key) <= 122) ) then
       begin
             Key := Char(Ord(Key) - 32);//把a-z转化为A-Z
       end;   if ( not((Ord(Key) >= 48) and (Ord(Key) <= 57)) ) and
          ( not((Ord(Key) >= 65) and (Ord(Key) <= 90)) ) then
       begin
          Application.MessageBox('请输入A-Z,0-9!', '提示信息', MB_ICONERROR + MB_OK);
          Key := Char(27);//
       end;
    end;
      

  5.   

    if not (WKey in [48..57,65..90]) then这样来判断比较简单明了