Aprenda Lazarus

Blog dedicado a quem quer aprender Lazarus. Dicas, Tutorias e Videos !

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

Criar controle de acesso do usuário #1

Dica para quem programa em Lazarus ou Delphi para criar seu próprio controle de usuário a nível de acesso ao menu.

São 2 vídeos, neste primeiro vou mostrar como criar as procedures e functions e no próximo como integrar com seu cadastro de usuários do sistema.

Lembrando que os fontes depois do término dos 2 videos vão estar no meu GIT: https://github.com/infocotidiano

😉 Gostou do vídeo, que tal me doar um cafezinho?
☕ https://picpay.me/dane.infocotidiano

Tabela na memória / Virtual?

Por: Humberto Sales.

Quem nunca precisou criar uma tabela temporária ? Sim, alguns bancos de dados permite isso. Mas e se precisar usar uma tabela “virtual”, sem banco, na própria memória é possível ? Sim !
O Humberto mostrou como usar o componente TBufDataset. Além de ficar na memória, você pode salvar o buffer em arquivo e restaurar quando necessário.

Imagine você fazendo venda no seu PDV, armazenando os dados em uma tabela virtual no buffer e salvando no disco. Se cair a energia, quando você voltar na tela de venda, ele carrega todos os itens vendidos para vc continuar a sua venda… imagine uma compra com 100 itens e você passou pelo caixa mais que a metade dos itens, MUITO util e RÁPIDO !

Assistam o vídeo:

Inscreva-se no Canal do Humberto !

04 – Como integrar balança no seu PDV

Neste vídeo vou mostrar como integrar balanças no seu PDV.

Vamos utilizar o componente ACBrBAL do pacote ACBr e também o Emulador de balança ACBr.

Para quem não sabe usar o emulador, veja este vídeo: https://www.youtube.com/watch?v=PIfhubP1Sf8

Eu fiz no Lazarus (free pascal) mas você pode utilizar o Delphi.

Link do emulador de balança compilado para quem não tem Delphi instalado: http://www.mediafire.com/file/mcryib5ifr54ykl/Acbr_EmuladorBalancaDelphi.rar/file

Link de como instalar o ACBr no lazarus: https://www.youtube.com/watch?v=GSZOCmXHP4A

Links Telegram:
Lazarus Free Pascal: https://t.me/lazarusfreepascal1
Lazarus Br: https://telegram.me/LazarusBR
Blog: https://aprendalazarus.com.br/