如果我想限制填入edit的为数字并且职允许写三个,否则出现提示框,语言该怎么写?

解决方案 »

  1.   

    if not (key in['0'..'9']) then
      begin
        key :=#0;
        showmessage('a');
        exit;
      end;
      if length(trim(edit1.text))>=3 then
      begin
        key :=#0;
        showmessage('a');
        exit;
      end;
      

  2.   

    在keypress事件里写:
    if not (((key>=#47) and (key<=#57)) or (key=#8)) then
    begin
    if length(trim(edit1.text))>3 then
       messagebox(handle,'','',mb_ok);
    key:=#0;
    end;
      

  3.   

    edit1.MaxLength:=3;procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
    if(((Key>'9') or (Key<'0')) and (Key<>char(8)))
            then Key:=char(0);
    end;
      

  4.   

    if not (key in['0'..'9']) then
      begin
        key :=#0;
        showmessage('a');
        exit;
      end;
      if length(trim(edit1.text))>=3 then
      begin
        key :=#0;
        showmessage('a');
        exit;
      end;
      

  5.   

    使用maskedit最方便
    自己编组件最麻烦