gpt4 book ai didi

delphi - 如何确保输入到 TcxDateEdit 的日期在 MinDate/MaxDate 范围内?

转载 作者:行者123 更新时间:2023-12-01 21:39:21 24 4
gpt4 key购买 nike

TcxDateEdit 允许设置 MinDateMaxDate 的属性。但是我找不到一个键可以使控件自动验证输入的日期并确保日期在指定的范围内。

例如:

MinDate := EncodeDate(1900, 1, 1);
MaxDate := EncodeDate(2100, 1, 1);

当我输入日期 1.1.1111 时,它会抛出错误,而不是将其放入范围 01.01.1900 .. 01.01.2100

最佳答案

以下代码位于 Properties.OnValidate做的工作:

procedure TForm.deDatePropertiesValidate(Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
var
ed: TcxDateEdit; //So we can use single handler for different controls
dt: TDateTime;
begin
ed := TcxDateEdit(Sender);
dt := StrToDateDef(DisplayValue, ed.Properties.MinDate);

if not InRange(dt, ed.Properties.MinDate, ed.Properties.MaxDate) then
begin
DisplayValue := EnsureRange(dt, ed.Properties.MinDate, ed.Properties.MaxDate);
ed.EditValue := DisplayValue;
end;

Error := False;
ErrorText := '';
end;

关于delphi - 如何确保输入到 TcxDateEdit 的日期在 MinDate/MaxDate 范围内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21872687/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com