delphi cxDateNavigator 防止日期小于今天

delphi cxDateNavigator prevent date less than today

我试图阻止 select在 cxDateNavigator 中出现小于今天的日期。 但是,当我 select 今天的日期时,我触发了消息。我在这里错过了什么?

procedure TForm9.cxDateNavigator1SelectionChanged(Sender: TObject; const AStart,
  AFinish: TDateTime);
begin
if cxDateNavigator1.Date <Now  then
showmessage('yo.');
end;

我不知道 cxDateNavigator 控件,但我认为问题在于“现在”returns 日期和时间。 TDateTime 变量在内部是一个带小数的数字,“日期”部分存储为整数,“时间”部分存储为小数。所以你应该切断 Time/decimals,所以你只比较日期部分而不比较时间。 像这样:

procedure TForm9.cxDateNavigator1SelectionChanged(Sender: TObject; const AStart, AFinish: TDateTime);
begin
    if Trunc(cxDateNavigator1.Date) < Trunc(Now) then
        showmessage('yo.');     
end;