Categoria: Dicas

Função que formata o número de telefone

Algum tempo atrás precisava de uma função para um sistema de delivery, onde você passa como parâmetro o numero de telefone e a função verifica se é de celular ou fixo, se existe DDD ou não, verifica se existe o 9 digito e retorna o numero formatado.

Segue abaixo:

function Tformata_tel(cTexto: string): string;
// Variavel cDDDPadrao é um parametro do meu sistema.
// assim se o operador nao digitar o DDD para agilizar o pedido se nao tiver bina, ele completa com o DDDPadrao automaticamente
begin
   if Length(Trim(ctexto)) = 0 then
      begin
       Result := '';
      end
   else if Length( SoNumero(cTexto) ) = 8 then  // fixo
      begin
         if (strtoint(copy(SoNumero(cTexto),0,1)) >= 6) and (strtoint(copy(SoNumero(cTexto),0,1)) <= 9) then //é um celular
            Result := '('+cDDDPadrao+')'+'9'+copy(SoNumero(cTexto),0,4)+'-'+copy(SoNumero(cTexto),5,4)
         else
            Result := '('+cDDDPadrao+')'+copy(SoNumero(cTexto),0,4)+'-'+copy(SoNumero(cTexto),5,4)
      end
   else if Length( SoNumero(cTexto) ) = 9 then //celular
      Result := '('+cDDDPadrao+')'+copy(SoNumero(cTexto),0,5)+'-'+copy(SoNumero(cTexto),6,4)
   else if Length( SoNumero(cTexto) ) = 10 then  // fixo com ddd
      begin
        if (StrtoInt(copy(SoNumero(cTexto),3,1)) >= 6)  and (StrtoInt(copy(SoNumero(cTexto),3,1)) <= 9) then //celular
           Result := '('+copy(SoNumero(cTexto),0,2)+')'+'9'+copy(SoNumero(cTexto),3,4)+'-'+copy(SoNumero(cTexto),7,4)
        else
           Result := '('+copy(SoNumero(cTexto),0,2)+')'+copy(SoNumero(cTexto),3,4)+'-'+copy(SoNumero(cTexto),7,4)
      end
   else if Length( SoNumero(cTexto) ) = 11 then  //celular com ddd
      Result := '('+copy(SoNumero(cTexto),0,2)+')'+copy(SoNumero(cTexto),3,5)+'-'+copy(SoNumero(cTexto),8,4)

end;

Observe que dentro dela, existe a chamada de outra função onde verifico retorna apenas os números da string “SoNumero”:

function SoNumero(fField: String): String;
var
  I : Byte;
begin
   Result := '';
   for I := 1 To Length(fField) do
       if fField [I] In ['0'..'9'] Then
            Result := Result + fField [I];

end;

Fonte: https://www.teleco.com.br/num.asp

Previsão do tempo em XML

Por João R. Santos

Já pensou mostrar a previsão do tempo na sua aplicação ?

Pois é o João mostrou em um dos seus vídeos publicado no Lazarus Streaming Day como fazer isso !

Assista o vídeo abaixo:

Este vídeo está publicado no canal do Humberto Sales, clique no botão abaixo para se inscrever no canal do Sales.

Humberto Sales

Importando arquivo CSV

Por: João R. Santos

No Lazarus Streaming Day o nosso amigo João apresenta de uma forma muito prática, como importar arquivos CSV.

CSV” significa Comma Separated Values, ou seja, um arquivo CSV é um arquivo de valores separados por vírgula. Esse formato de armazenamento é simples e agrupa informações de arquivos de texto em planilhas, usado para trocas de dados com um banco de dados ou uma planilha entre aplicativos.

Este vídeo está publicado no canal do Humberto Sales, clique no botão abaixo para se inscrever no canal do Sales.

Humberto Sales