如何在 Delphi Xe 中创建带有正则表达式掩码的输入对话框。例如只限制 3 个数字。
问问题
741 次
1 回答
3
Delphi 没有接受正则表达式 (regex) 作为输入掩码的文本输入。不过,您可以相当容易地做类似的事情。
创建您自己的表单,使用 a TMaskEdit
with an EditMask
of000;1;_
或TSpinEdit
set to a MinValue
of 100
and a MaxValue
of 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;
于 2013-06-17T18:10:18.250 回答