如何在Delphi Xe中创建带有正则表达式掩码的输入对话框。例如,只限制3个数字。
答案 0 :(得分:3)
Delphi没有接受输入掩码的正则表达式(regex)的文本输入。你可以很容易地做类似的事情。
创建自己的表单,TMaskEdit
EditMask
000;1;_
或TSpinEdit
设置为MinValue
100
和MaxValue
999
。添加两个按钮(Ok
和Cancel
),ModalResult
分别设置为mrOK
和mrCancel
。
添加一个属性,该属性读取您使用的控件(StrToInt(MaskEdit1.Text);
或SpinEdit1.Value
)的值,例如
property Value: Integer read GetValue;
GetValue
只是:
procedure TNumberInputForm.GetValue: Integer;
begin
Result := SpinEdit1.Value; // or Result := StrToInt(MaskEdit1.Text);
end;
然后使用代码:
Value := 0;
NumberInputForm := TNumberInputForm.Create;
try
if NumberInputForm.ShowModal = mrOK then
Value := FrmNumberInput.Value;
finally
NumberInputForm.Free;
end;