18 outubro 2011

Formatar telefone no Delphi

Esta função formata o telefone digitado em diversos formatos, a partir da quantidade de dígitos do valor passado como parâmetro. Use na função onexit do seu TEdit


function FormataTelefone(sTelefone: String): String;
//Formata o numero do telefone passado como parametro de acordo 
//com o tamanho da string
// Nilcemar Ferreira - Out/2011
var
  s: string;
  tam: Integer;
begin
  s  := Trim(ApenasNumerosNaString(sTelefone));
  tam:= Length(s);

  case tam of
    8: //Ex: 37212121
      begin
        Result:= Copy(s,1,4)+'-'+Copy(s,5,4);
      end;
    10: //Ex: 3237212121 = (32)3721-2121
      begin
        Result:= '('+Copy(s,1,2)+')'+Copy(s,3,4)+'-'+Copy(s,7,4);
      end;
    11: //Ex: 13237212121 = +1(32)3721-2121
      begin
        Result:= '+'+Copy(s,1,1)+'('+Copy(s,2,2)+')'+Copy(s,4,4)+'-'+Copy(s,8,4);
      end;
    12: //Ex: 553237212121 = +55(32)3721-2121
      begin
        Result:= '+'+Copy(s,1,2)+'('+Copy(s,3,2)+')'+Copy(s,5,4)+'-'+Copy(s,9,4);
      end;
    else
      Result:= s;
  end;
end;

Um comentário: