1

我在 Lazarus 上使用 TDateEdit 控件,并将日期格式设置为 DMY。所以我'__/__/____'在日期输入框中看到了一些用户字符。

我担心的是我不希望用户将此字段留空,因此我正在尝试以下代码作为测试:

  if dtWeekEndingDate.Date = 0 Then
     begin
       Errors := true;
       showmessage ('blank');
     end;

该代码似乎可以满足我的要求,但我不确定这是否正确。

上述方法是检查未设置或未输入日期的正确方法吗?我使用了.Text属性,但它似乎不起作用。

谢谢!

4

1 回答 1

0

是的,如果您可以将 0(零 = 30.12.1899 00:00)视为您的申请中的“空白”日期。您可以通过输出“空”TDateEdit 控件来简单地看到这一点:

ShowMessage(FormatDateTime('DD MM YYYY hh:nn',DateEdit1.Date));

如果此日期在您的情况下是有效且可能的条目,则使用 onChange 事件设置输入某些内容的布尔值或直接检查并处理 TDateEdit 控件的另一个属性:

DateEdit1.Text

当然,您可以使用一些很好的组件来处理这种“问题”: ZVDateTimeControls

于 2013-09-19T08:50:36.640 回答