我想实现这样一个功能,在一个文本框里输入的是网卡的MAC地址,如:00-56-78-9F-BC-BD  现在的问题是我想判断如果在输入时把数字0错输入成字母o了,便提出警告的功能。希望各位达人帮帮忙啊!

解决方案 »

  1.   

    在属性里设置  
      Edit1.CharCase := ecUpperCase
    写KeyPress事件。
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
       case Key of
       '0'..'9':;
       'A'..'F':;
       '-':;
       #8:;             //退格键,删除
       else
        Key :=#10;
        end;
    end;
    可以避免错误输入。
      

  2.   

    在属性里设置     
        Edit1.CharCase   :=   ecUpperCase 
    写KeyPress事件。 
    procedure   TForm1.Edit1KeyPress(Sender:   TObject;   var   Key:   Char); 
    begin 
          case   Key   of 
          '0 '.. '9 ':; 
          'A '.. 'F ':; 
          '- ':; 
          #8:;                           //退格键,删除 
          else 
            Key   :=#10; 
            end; 
    end; 
    可以避免错误输入。以上方法就可以了。自已在按键的事件中进行控制即可。
      

  3.   

    不行啊在执行'0   '..   '9   ':;   这句的语句的时候就报错啊!
      

  4.   

    如:00-56-78-9F-BC-BD     现在的问题是我想判断如果在输入时把数字0错输入成字母o了,便提出警告的功能。希望各位达人帮帮忙啊!
    1:首先在输入的时候就判断是否输入错误
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
              if key=#79  then
           Showmessage('您现在是输入为字符0');
    end;
    2:输入完成以后判断
    var S: string;
    begin
      S := Edit1.text;
      { Convert spaces to zeros }
      while Pos(' ', S) > 0 do
         Begin
         if Application.Messagebox('有字符o是否替换','错误',mb_iconstop+mb_okcancel)=idok then
             S[Pos(' ', S)] := '0';
       end;
      end;
      

  5.   

    限制下输入就行了吧。onkeypress();
    begin
     if not(key in ['0..'9','a'..'f','A'..'F','-',#8]) then
       key:=#0;end;
      

  6.   

    //哎,这论坛,对单引号还是给乱码怎么搞的!?
    onkeypress(); 
    begin 
    //哎,这论坛,对单引号还是给乱码怎么搞的!?
      if   not(key   in   [ '0'.. '9', 'a'.. 'f', 'A'.. 'F', '-',#8])   then 
          key:=#0; end;
      

  7.   

    方法一:  Edit1.CharCase:= ecUpperCase 漏说了,,,
      

  8.   

    直接在edit里面限制用户输入o不就行了>?
      

  9.   


    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); 
    begin 
              begin 
    //哎,这论坛,对单引号还是给乱码怎么搞的!?
      if   not(key   in   [ '0'.. '9', 'a'.. 'f', 'A'.. 'F', '-',#8])   then 
          key:=#0; end;