有效立即加分,越快越好!(100分)

  • 主题发起人 主题发起人 fanshenb
  • 开始时间 开始时间
F

fanshenb

Unregistered / Unconfirmed
GUEST, unregistred user!
我需要一个控件,能够准确输入日期格式2001-01-01 00:00:00
并能准确控制输入,比如判断小时是否大于24,小于0等!月份是否大于12,
日期是否大于31 等!
 
只有日期可用EhLib中的DBDateTimeEditEh
 
用以下程序设置默认日期格式,加在SOURSE的代码中。
用DELPHI的DateTimePicker控件就可以了。
procedure Startup;
begin
DateSeparator := '.';
ShortDateFormat := 'yyyy-mm-dd';
longdateformat:=shortdateformat;
timeSeparator := ':';
ShorttimeFormat := 'hh:mm:ss';
longtimeformat:=shorttimeformat;
end;
 
用 TEditMask
设置字体为宋体,大小为 10
双击 editmask属性:
在Input Mask中输入“9999-99-99 99:99:99”,引号不要。
将 character for blanks 中的下划线改成“空格”
点击“OK”。

如下设置该控件的 OnExit事件,输入错误就会通不过,让用户重新输入。
procedure TForm1.MaskEdit1Exit(Sender: TObject);
var
dt:TDatetime;
begin
try
dt:=strtodatetime(maskedit1.text)
except
maskedit1.setfocus;
end;
end;
要双击可执行程序执行看效果,不要在IDE中执行看效果。
 
同意wmsoft,其实使用delphi自带的DateTimePicker控件就可以(在WIN32中)
DateTimePicker1的 format属性设成 yyyy-MM-dd hh:mm:ss (或 yyyy-MM-dd 00:00:00根据需要)
 
感觉用jsxjd说的方法才是最合适的。。。
 
我得方法是最合适的!!!!!!
 
DateTimePicker是无法输入的,只能选择吧
 
DateTimePicker 有format属性,在界面设计时赋值!!!我用的是delphi6
 
在OnExit事件中写代码返回焦点
如果有两个相同的控件会不会出现死循环?
 
处理的是自己!多个有何关系。
 
DateTimePicker足以实现。
 
就是,DateTimePicker完全可以了. 这还要讨论啊!
 
TEditMask就可以了
 
DateTimePicker 不需编写任何代码.
 
用DELPHI自带的DATETIMEPICKER即可
 
多人接受答案了。
 
后退
顶部