现在我有一个数据录入界面,其中有日期一栏,现在采用文本框录入,录入后,当保存到数据库中时,采用如下方法:strtodate(Edit1.text),如果文本框中录入的格式同操作系统的日期格式一致,就没问题,例如:操作系统日期格式为YYYY/MM/DD,那么输入2004/10/14没问题,可是,输入2004-10-14就转换出错,称为无效的日期数据.现在我的客户用的操作系统有很多版本,各种日期格式都有,该如何处理好这个问题呢?本想有Datetimepicker,可是,由于日期可以为空,不太好判断!急,谢谢!
解决方案 »
- 简单的记录编辑问题,今天又有30分了.
- 调用faoxmail时候,如何把邮件地址直接传入到foxmail邮件地址栏中,outlook可以实现。。
- 如何定义全局变量
- 急聘DELPHI程序员,要求不高!!!!!!!!!!!
- 如何写一个注册的类?
- 在Notebook控件中,怎么得到当前页(或指定的某页)中的所有控件信息!
- 如何使用原生ADO中TConnection对象的Execute方法来返回一个单条记录的数据集
- 请教:请各位大哥帮我看看这两个 socket 问题,谢谢!
- 如何利用delphi的Tmediaplayer控件实现多首MP3循环播放?
- 我新生成一个继承自TPanel的类,但我想有其Create时,在其上放置一个TImage,请问:
- 如何不用根据是否等于nil来判断一个对象是否已free
- delphi和bcb除了格式不同,开发软件到底用哪个好?
strtodate(Edit1.text);
如
DateSeparator := '-';
ShortDateFormat := 'm/d/yyyy';
var
S: string;
vDate: TDateTime;
begin
S := '2005/10/10'; S := StringReplace(S, '/', DateSeparator, [rfReplaceAll]);
S := StringReplace(S, '-', DateSeparator, [rfReplaceAll]);
S := StringReplace(S, '.', DateSeparator, [rfReplaceAll]); if TryStrToDate(S, vDate) then
Caption := DateToStr(vDate)
else Caption := 'Error';
end;