quarta-feira, 8 de junho de 2016

Função para formatar números de telefone com ou sem DDD e com ou sem nono dígito

Função Delphi para formatar números de telefone com ou sem DDD e com ou sem nono dígito:

function FormataFone(sTelefone: String): String;
var
  s: string;
  tam: Integer;
begin
  s  := FilterChars(sTelefone, ['0'..'9']);

  // Retira zero inicial se houver
  if Copy(s,1,1) = '0' then
  begin
    s := Copy(s,2,Length(s)-1);
  end;

  case Length(s) of
    8: // 4455-6677
      begin
        Result:= Copy(s,1,4)+'-'+Copy(s,5,4);
      end;
    9: / / 9 8877-6655
      begin
        Result:= Copy(s,1,1) + ' ' + Copy(s,2,4)+'-'+Copy(s,6,4);
      end;
    10: // (85) 8877-6655
      begin
        Result:= '('+Copy(s,1,2)+') '+Copy(s,3,4)+'-'+Copy(s,7,4);
      end;
    11: // (85) 9 8877-6655
      begin
        Result:= '('+Copy(s,1,2)+') ' + Copy(s,3,1) + ' ' +Copy(s,4,4)+'-'+Copy(s,8,4);
      end;
    else
      Result:= s;
  end;

Oracle - Listar datas do mês

 select TRUNC(SYSDATE)  + level - 1 dt from   dual connect by level <= (   LAST_DAY(SYSDATE) - TRUNC(SYSDATE) + 1 )