我有这个代码在工作。。。
procedure ValidatePage;
begin
WizardForm.NextButton.Enabled :=
(CompareText(InputPage6.Values[EditIndex2], 'Admin') <> 0);
end;
procedure EditChange(Sender: TObject);
begin
ValidatePage;
end;
procedure PageActivate(Sender: TWizardPage);
begin
ValidatePage;
end;
但我想添加更多的验证。
示例:如果您不允许使用EX12345
或EX54321
。
WizardForm.NextButton.Enabled :=
(CompareText(InputPage6.Values[EditIndex2], 'EX12345') <> 0);
和
WizardForm.NextButton.Enabled :=
(CompareText(InputPage6.Values[EditIndex2], 'EX54321') <> 0);
如果我理解正确,您将询问如何将多个逻辑表达式组合为一个。使用布尔运算符,特别是and
运算符。
procedure ValidatePage;
begin
WizardForm.NextButton.Enabled :=
(CompareText(InputPage6.Values[EditIndex2], 'EX12345') <> 0) and
(CompareText(InputPage6.Values[EditIndex2], 'EX54321') <> 0);
end;
特别是如果你要添加更多的选项,你可以通过首先将值存储到本地变量中来优化代码:
procedure ValidatePage;
var
Value: string;
begin
Value := InputPage6.Values[EditIndex2];
WizardForm.NextButton.Enabled :=
(CompareText(Value, 'EX12345') <> 0) and
(CompareText(Value, 'EX54321') <> 0);
end;