Показать сообщение отдельно
  #2  
Старый 07.08.2024, 21:11
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Да, что-то не работает компонент как ожидаешь.
Вариант - самому применить маску и вставлять уже в маскированном виде.

Простой вариант:
Код:
function FormatPhoneNumber(Phone : String) : String;
var
  I: Integer;
begin
  if Length(Phone) <> 10 then
    raise Exception.Create('Actual length is not equal to 10.');
  for I := 1 to 10 do
    if Not (Phone[i] in ['0'..'9']) then
      raise Exception.CreateFmt('Character %d is not a number.',[i]);
  Result := '+7(' + Copy(Phone,1,3) + ')'+Copy(Phone,4,3) + '-' + Copy(Phone,7,4);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  tel : String;
begin
  tel:='9109884668';
  MaskEdit1.Text :=  FormatPhoneNumber(tel);
end;
Ответить с цитированием