procedure TForm1.Button1Click(Sender: TObject);
begin
    edit1.MaxLength:=0;
if (edit1.MaxLength:=5) then
begin
showmessage('位数正确')
end
else
begin
showmessage('位数错误')
end
end;
end.
让EDIT1.TEXT只能输入5位  输多或少数 都显示错误位数
我上面的不行  哪位大侠帮帮我!

解决方案 »

  1.   

    Length(edit1.Text);
    普通字符,如果连上汉字也算得话就得用Length(WideString(edit1.text))
      

  2.   

    楼主 ,你的代码放错地方了。 该放到TForm1.edit1CHANGE 中吧。edit控件改化时触发才有效果。
      

  3.   

    [Quote=引用 1 楼 m617105 的回复:]procedure TForm1.edit1CHANGE(Sender: TObject);
    begin
      edit1.MaxLength:=0;
    if (edit1.MaxLength:=5) then
    begin
    showmessage('位数正确')
    end
    else
    begin
    showmessage('位数错误')
    end
    end;
    end.
    这样吗!!!!!!!???
      

  4.   

    首先,楼主的代码放错地方了,可以放在onEditChange,和onKeyUp里;
    其次,Edit.MaxLength是一个属性,它只三限制Edit里面可以输入的字符,应该用Length(Edit1.text)来判断
      

  5.   

    使用 TMaskEdit
    设置其 EditMask 为 !AAAAA;1;_
    就可以完成你的要求
      

  6.   

    哈哈,还可以用raise产生异常来做