使用RegEx输入带掩码的对话框

时间:2013-06-17 17:47:26

标签: regex delphi dialog

如何在Delphi Xe中创建带有正则表达式掩码的输入对话框。例如,只限制3个数字。

1 个答案:

答案 0 :(得分:3)

Delphi没有接受输入掩码的正则表达式(regex)的文本输入。你可以很容易地做类似的事情。

创建自己的表单,TMaskEdit EditMask 000;1;_TSpinEdit设置为MinValue 100MaxValue 999。添加两个按钮(OkCancel),ModalResult分别设置为mrOKmrCancel

添加一个属性,该属性读取您使用的控件(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;