例如:我希望edit输入的内容为6位(或8位或自定义)长度的数值。怎样实现?

解决方案 »

  1.   

    edit输入的内容为6位长度: length(edit.text)<=6
    确保edit输入的为数值: key in ['0'..'9']
      

  2.   

    在TEdit.OnChange 事件中写入:
    var
    i : integer;
    begin
    try
    i := strtoint(edit1.text);
    except
    showmessage('error!');
    exit;
    end;
    if length(edit1.text) > 6 then begin//长度是多少这里你自己写
    showmessage('error!');
    exit;
    end;
    这之后输入你的其他代码:
      

  3.   

    对了,长度是不需要你费心的,设一下edit.maxlength就行了.
      

  4.   

    edit的maxlength属性是用来设置tedit最长的可输入字符
      

  5.   

    key in ['0'..'9']
    length(edit1.text)<=X,直接可以设置属性
      

  6.   

    首先设置edit的maxlength来限制你的输入长度问题,至于数字吗?方法有许多种上面说的key值可以的.还可以利用取码来判断等,总之方法很多了,你可以查一下过去的贴子.
    procedure Txmfrm.checchar(ed:Tedit);
    var
      str:string;
      i:integer;
    begin
      str:=ed.Text;
      for  i:=1 to length(trim(str)) do
      begin
        if  ((ord(str[i])<48) or (ord(str[i])>57)) then
        begin
        showmessage('有字符&iexcl;');
        ed.SelectAll;
        ed.SetFocus;
        exit;
        end;
       end;
    end;
      

  7.   

    长度设一下maxlength属性
    保证为数值,可在OnKeyPress或OnChange事件中做响应
      

  8.   

    sunware的很好!用StrToFloat()妥当一些,长度设一下maxlength属性
    是对的!