我有此代码在起作用...
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);
答案 0 :(得分:1)
如果我对您的理解正确,那么您在问如何将多个逻辑表达式组合为一个。使用boolean operators,尤其是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;