我試圖阻止在 cxDateNavigator 中選擇小于今天的日期。但是,當我選擇今天的日期時,我會觸發該訊息。我在這里錯過了什么?
procedure TForm9.cxDateNavigator1SelectionChanged(Sender: TObject; const AStart,
AFinish: TDateTime);
begin
if cxDateNavigator1.Date <Now then
showmessage('yo.');
end;
uj5u.com熱心網友回復:
我不知道 cxDateNavigator 控制元件,但我認為問題在于“現在”回傳日期和時間。TDateTime 變數內部是一個帶小數的數字,“日期”部分存盤為整數,“時間”部分存盤為小數。所以你應該切斷時間/小數,所以你只比較沒有時間的日期部分。像這樣:
procedure TForm9.cxDateNavigator1SelectionChanged(Sender: TObject; const AStart, AFinish: TDateTime);
begin
if Trunc(cxDateNavigator1.Date) < Trunc(Now) then
showmessage('yo.');
end;
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/315604.html
標籤:德尔福
