Цитата:
Сообщение от lmikle
Да, что-то не работает компонент как ожидаешь.
Вариант - самому применить маску и вставлять уже в маскированном виде.
Простой вариант:
Код:
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;
|
Спсибо дорогой, очень помог ..
строку:
Result := '+7(' + Copy(Phone,1,3) + ')'+Copy(Phone,4,3) + '-' + Copy(Phone,7,4);
изменить на
Result := '+7(' + Copy(Phone,1,3) + ')'+Copy(Phone,4,3) + '-' + Copy(Phone,5,4)+ '-' +Copy(Phone,8,4);
все работает без проблем.