gpt4 book ai didi

validation - TEdit属性变量delphi

转载 作者:行者123 更新时间:2023-12-03 18:16:04 25 4
gpt4 key购买 nike

我在 Delphi 中有一个表单,其中包含几个 TEdit 框。我想要一种方法来检查所有框的验证,目前我必须为每个 TEdit 分配一个 boolean 变量。例如

Var
TEdit1Valid:boolean;
TEdit2Valid:boolean;

表单上的每个 TEdit 等等。

对于第一种方法,它必须看起来像这样:

If TEdit1Valid then
ShowMessage('Your', Edit1.Name, 'is invalid');

每个 TEdit 框等等。

这会产生很多变数,我只是想知道是否有更好的方法来做到这一点。我的一个想法是将一个名为 Valid 的属性分配给 TEdit,但我不知道该怎么做。使用这种方法,我可以为每个 TEdit 编写一个 TEdit 数组并执行以下操作

for I := 1 to High(EditList) do
begin
if EditList[I].Valid = false then
ShowMessage('Your ', EditList[I].Name, 'is invalid');
end

这只是我刚刚编写的一些粗略代码示例,可以与我可以像这样迭代执行的其他操作一起使用。那么有人可以建议一个好的方法来执行此操作,或者告诉我如何执行上述方法。

最佳答案

如何在 TEdit 控件上使用 OnExit 事件处理程序?例如:

procedure TForm1.Edit1Exit(Sender: TObject);
begin
with Sender as TEdit do
begin
if not IsValidEdit(Text) then
ShowMessage('Your ' + Name + ' is invalid');
end;
end;

然后将同一个 OnExit 事件应用于所有 TEdit 控件。我在上面使用的这个示例“IsValidEdit”函数可以验证您的 TEdit 的文本值,或者您可以将验证代码放在 OnExit 事件中(但在我看来,使用特定函数来“更干净”验证)。

function IsValidEdit(const AValue: string): boolean;
begin
if Length(AValue) < 5 then // not valid if length less than 5
Result := False
else
Result := True;
end;

关于validation - TEdit属性变量delphi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28137867/

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