关于 日期 输入的一个控件。(50)

  • 主题发起人 主题发起人 Jj1985
  • 开始时间 开始时间
J

Jj1985

Unregistered / Unconfirmed
GUEST, unregistred user!
要求是这样的。 只要输入年和月, 比如输入 8505 会显示出 198505 输入 2005 显增出202005 当输入85 2 时,那么2就不能输入 当输入85 1 3 时, 3就不能输入
 
当输入85 2 时,那么2就不能输入当输入85 1 3 时, 3就不能输入 这两句有点矛盾~~~
 
没有啊。 就是判断一下月份。 不能大于12.
 
是不是要重写TExt 的keyprss 事件呢。
 
是我理解错误~~你是在输入中做判断还是输入完成后做格式化?如果是输入中的话~~在onchange中判断输入完成后格式化~~在onexit中做~
 
哦。 那谢谢了。 意思是我就是要重写那两个咯。 还要加个keypress 吧。 只能输入0-9
 
那先谢谢了, 我思路有了。去写写,看看写得了不, 如果不行,还请帮帮忙啊。 呵呵。
 
呃, 不会写, 如何继承TEDIT的KeyPress ,Exit 事件啊。
 
妈B。 这控件怎么搞啊。 操。
 
我说的全部是通过事件来实现效果~~如果要做成控件的话~~最好先弄懂Delphi自带控件的源码~~
 
if Length(Text) = 6 then begin if StrToInt(Copy(Text,5,2))>12 then begin Text := ''; SetFocus; Exit; end; end; if Length(Text)= 4 then begin if StrToInt(Copy(Text,3,2)) > 12 then begin Text := ''; SetFocus; Exit; end else begin if StrToInt(Copy(Text,1,2)) >30 then Text := '19'+Text else Text := '20'+Text; end; 已完成部份要求,但是在onchange中没有完成 意思就是 当用户输入一个数字, 判 断 1.如果前两位是 19 那么判断第 5 位是否大于1 大于就不让用户输入, 如果不是 19 那么判断第 3 位 2. 上面条件满足时,则判断 判断最后两件是否大于12 大于不能输入
 
后退
顶部