用maskedit控件吧,那里设置一下就可以。

解决方案 »

  1.   

    楼上说得不错,也可以在edit的事件中进行一些format的处理
      

  2.   

    人家说的是输入时就限制,你怎么format?
      

  3.   

    在OnKeyPress事件里添加代码
    试试看
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if (Pos(Key,'0123456789-/.'+#8+#10+#13)=0) or ((Length(Trim(Edit1.Text))=10) and (Pos(Key,#8+#10+#13)=0)) then
      begin
        Key := #10;
        Exit;
      end;
      if (Length(Trim(Edit1.Text)) in [4,7]) and (Pos(Key,'.-/'+#8+#10+#13)=0) then
      begin
        Key := #10;
      end;
    end;
      

  4.   

    用maskedit控件:format->yyyy-mm-dd
      

  5.   

    设置 Maskedit1.EditMask := '!9999/99/99;0; ';然后在 OnChange 和 OnExit 中写代码判断输入日期是否正确。
      

  6.   

    还是改用Maskedit吧,可以直接在EditMask属性里改就行了,
      

  7.   

    try strtodatetime(date);
    except showmessage('日期格式输入错误');
    end;
      

  8.   

    在EDIT在对输入日期进行判断是比较复杂的,你得判断你输入的年份,月份,日,是否都正确,例如1月有31天,2月有28天或29天(根据年判断)……
      

  9.   

    为什么只用edit呢?换个控件不行吗?
    推荐  maskedit 设置它的属性就可以了
      

  10.   

    maskedit,设置属性后,回出现下划线太难看了,有没有什么方法可以去掉?