在Onchange事件中判断禁止输入的符号是否在text中

解决方案 »

  1.   

    在OnChange中编写代码:
      if (Sender as TEdit).text<>'' then
      begin
       if Copy((Sender as TEdit).text,Length((Sender as TEdit).text),1)='指定字符' then
       begin
         (Sender as TEdit).text:=
          Copy((Sender as TEdit).text,1,Length((Sender as TEdit).text)-1);
         (Sender as TEdit).SelStart:=Length((Sender as TEdit).text);
       end;
      end;
    禁止输入指定字符,如要求提示信息,自己加吧!
      

  2.   

    在OnKeyPress事件中:
    if Key in ['制定字符'] then  // 集合中是指定字符或其ASCII码
    begin
      Key := #0;  //什么都不做
      Beep;
    end;
      

  3.   

    在OnExit中编写代码:
      if (Sender as TEdit).text<>'' then
      begin
      if pos('指定字符' ,(Sender as TEdit).text)>0 then
      begin
        showmessage('禁止输入'+'指定字符' )
      end;
      end;
      

  4.   

    在键盘响应事件中加入判断,
     if key in ['指定字符]
    then abort;
      

  5.   

    在onkeydown中判断
    if key=vk_... then abort;
      

  6.   

    赞成superall(超然)和shdshd(shdshd)。
      

  7.   

    如果这些字符比较有通用性,你不妨使用MASKEDIT控件来代替Edit控件,只需在控件的属性栏里设置以下就可以了,非常方便。
    如果不使用上述方法,就要在键盘事件里判断了,不妨自己试试上面各位的方法。