21 de outubro de 2017

Dicas Lazarus / Programação: Backup Firebird

Neste vídeo vou mostrar como fazer backup da base de dados firebird utilizando o Lazarus / CodeTyphon.
Vamos executar o gbak, capturar o processo e jogar no campo memo.

20 de outubro de 2017

Importando XML de uma NFe #1 - Dicas Lazarus / Delphi

Vídeo 1 de 3 onde mostro como importar dados de uma nota fiscal eletrônica usando o XML da mesma. Importo os dados da nota (numero, status, data emissão) dados do emitente, dados do destinatário e os itens da nota (dados do produto, tributos e impostos) Necessário ter os componentes do ACBr instalado, pois vamos usar ACBrNFe.





Canal do Humberto Sales: https://www.youtube.com/user/salesdoido GRUPO LAZARUS / CODETYPHON DO TELEGRAM: Grupo destinado ao estudo dos ambientes de desenvolvimento integrado ( Lazarus e CodeTyphon) desenvolvido para o compilador Free Pascal. link : https://t.me/joinchat/AAAAAEDYQdfQIFC... Grupo LAzarus/ Delphi, mas em Espanhol: https://t.me/pascalang

3 de outubro de 2017

GRATUITO: Crie capas para facebook, blog, youtube e muito mais




O que é o Canva?

O Canva é uma ferramenta de design gratuita e fácil de usar que possibilita a criação de projetos incríveis em poucos minutos. Com ele é possível também fazer edição de fotos. Tudo é muito intuitivo, com recurso de arrastar-e-soltar. É possível selecionar formas, fundos e frames desde um banco de imagens, e também escolher textos e fontes lindíssimas. Além disso, para facilitar ainda mais, o Canva disponibiliza templates prontos como inspiração ou adaptação.



Com o Canva é possível criar designs para apresentações, imagens para redes sociais, cartões, cartazes, logotipos e muito mais. Você terá acesso a uma biblioteca com mais de 1 milhão de ilustrações e imagens profissionais, que permitirá a criação de designs de alta qualidade em poucos minutos.


Quais são as características principais do Canva?


    Funcionamento simples com recurso de arrastar-e-soltar.

    Extenso banco de imagens.

    Possibilita a criação de designs profissionais.

    Templates prontos que servem de inspiração.

    Não é necessário fazer instalação.

    Disponível em português.

    Gratuito.



Recursos para Fotos:

    Desfoque de fotos

    Emblemas grátis

    Vinheta

    Balão de fala

    Recortar imagens

    Adicionar texto à imagem

    Ícones grátis

    Grade de designs

    Adesivos

    Adicionar Texturas

    Efeitos para fotos

    Molduras para fotos

    Imagens transparentes


Recursos para Design:

    Cartões

    Logotipos

    Cartazes

    Currículos

    Cartões timbrados

    Capas para Livros

    Apresentações

    Convites Virtuais

    Capas para revistas

    Capas para Facebook

    eCards

    Panfletos

    Banners

    Brochuras

    Infográficos

    Montagem de Fotos

    Capas para CDs

    Cartões de visitas

    Vale Presente

Clique aqui para acessar

19 de setembro de 2017

Acessando mysql remotamente via Delphi ou Lazarus

Neste vídeo vou mostrar como acessar uma base mysql que esta hospedada em um provedor .
Fiz o vídeo desenvolvendo em Lazarus mas pode ser aplicado no Delphi ou no CodeTyphon !

23 de julho de 2017

Aprenda a criar seus próprios componentes !



Estes vídeos foram feitos por Humberto Sales Oliveira, clique aqui para conhecer o canal do Sales !



Quem desenvolve sistemas em Delphi, Lazarus, Codetyphon com certeza já teve curiosidade de saber como criar componentes.

O Humberto fez estes dois vídeos explicando de uma forma simples e prática como você pode criar seus próprios componentes.

Vamos lá:








Existe Delphi free ?



Neste vídeo vou apresentar o Delphi SE (Start Edition) e as opções 100% free pascal.
Ótimas ferramentas com suporte a a emissão de Nota fiscal eletrônica, cupom SAT entre outros.




Clique aqui e fique ligado nos novos vídeos!

Conheça o canal do Humberto Sales, clique aqui !



GRUPO LAZARUS / CODETYPHON DO TELEGRAM
Grupo destinado ao estudo dos ambientes de desenvolvimento integrado ( Lazarus e CodeTyphon) desenvolvido para o compilador Free Pascal. link :
https://t.me/joinchat/AAAAAEDYQdfQIFCU1AXEoQ

Grupo LAzarus/ Delphi, mas em Espanhol: https://t.me/pascalang


29 de junho de 2017

Dicas lazarus / Delphi: #01 Herança de formulários CRUD


Neste vídeo vou mostrar como criar uma tela (form) padrão para CRUD e herdar este formulário para agilizar o tempo de desenvolvimento de uma aplicação, PARTE 01
Inscreva-se para ficar ligado a cada nova postagem

Curso Programação: Instalando componente RxLib no Lazarus

Vamos instalar o componente RxLib no Lazarus




Curso de Programação: Instalando componente ZeosLib no Lazarus

O ZeosLib é um conjunto de componentes de banco de dados para MySQL, PostgreSQL, Interbase, Firebird, MS SQL, Sybase, Oracle e SQLite para Delphi, FreePascal / Lazarus, Kylix e C ++ Builder.



Neste vídeo mostro como instalar o componente ZeosLib no Lazarus.


26 de maio de 2017

Dicas Lazarus / Programação: StringGrid #3 Mudando a cor das células



Neste vídeo vamos criar uma tabela no Firebird de quartos (Código Apto, Status )

Status = Vago, Ocupado e Manutenção

Vamos capturar estes dados e alimentar o stringgrid.

Após isso vamos colorir a célula tendo como parâmetro o status de cada apartamento.



20 de maio de 2017

Dicas Lazarus / Programação: StringGrid #2 Quebra Linha Dentro da Célula

Neste vídeo vou mostrar como quebrar linhas dentro das células.

Vamos utilizar a propriedade OnPrepareCanvas do StringGrid:


Inscreva-se no canal e fique ligado a cada novo vídeo !

procedure TfrmPRINCIPAL.StringGrid1PrepareCanvas(sender: TObject; aCol,
  aRow: Integer; aState: TGridDrawState);
var
  MyTextStyle : TTextStyle;
begin
  MyTextStyle := StringGrid1.Canvas.TextStyle;
  MyTextStyle.SingleLine := false;
  MyTextStyle.Alignment  := taCenter;
  StringGrid1.Canvas.TextStyle := MyTextStyle;
end;  




Dicas Lazarus / CodeTyphon: #1 Trabalhando com StringGrid

Neste vídeo vou mostrar como trabalhar com StringGrid no Lazarus ou Codetyphon.
Como preencher e capturar o conteúdo da célula.




Inscreva-se no meu canal e receba notificações dos novos vídeos !


13 de maio de 2017

Ransomware, proteja-se deste ataque !

Ontem 12 de maio de 2017 um mega ataque hacker está ocorrendo  em mais de 70 países.
Os hackers aproveitam uma falha do Windows e criptografam seus documentos, fotos, banco de dados e posteriormente pedem um valor (como um resgate) para descriptografar seus dados para que você possa novamente acessa-los.
A Microsoft já encontrou e corrigiu a falha, e lançou o Hotfix abaixo.
Antes de fazer o download você precisa saber qual versão do Windows está usando, exemplo: Windows 7 64 SP1, Windows Server 2008 R2... etc.
Para saber qual versão, basta ir nas propriedades do meu computador.
Logo após, clique no link abaixo, faça o download correspondente a versão do seu Windows e instale.
Vale ressaltar que quem utiliza servidor RDP/TS o ideal é mudar a porta padrão 3389 para outra porta que só você saiba. (clique aqui para saber como mudar a porta do RDP/TS)
Hotfix da Microsoft: Clique Aqui

1 de maio de 2017

26 de abril de 2017

Dicas Lazarus: Criar base de dados firebird em tempo de execução


Neste vídeo mostro como criar uma base de dados (base.fdb) em tempo de execução.
Além da base de dados, vamos criar duas tabelas, clientes e produtos utilizando uma query.
Componente necessário ZEOSLIB.
Funciona em Lazarus, CodeTyphon e Delphi.



23 de abril de 2017

ACBrNFe com Lazarus no Linux 64bits

vale a pena conferir !

Curso de Programação: Salvar fotos direto na base de dados

Neste vídeos vamos usar o componente dbimage para salvar fotos direto na base de dados (em um campo blob)





Funciona em Lazarus, CodeTyphon e Delphi



Curso Programação: Conectando PostgreSQL em um servidor Linux

O cenário é:
Temos um servidor PostgreSQL instalado em um sistema operacional Linux e precisamos configurar programas desenvolvido em Lazarus, Codetyphon ou Delphi em estações Windows.
Neste vídeo mostro exatamente como proceder para configurar as nossas aplicações.
Vamos usar o ZEOSLIB para fazer esta conexão.



15 de abril de 2017

Gosta de desenvolver softwares, então não perca tempo !

 

Para quem gosta de desenvolver softwares aqui está mais um canal de Lazarus  Free Pascal!
Nosso amigo Sales Oliveira, vale a pena conferir !
 
Clique aqui para conhecer o canal do Sales

Curso Programação: Protegendo seu sistema OnGuard #1

Neste vídeo vou apresentar o OnGuard, componente que gera chave de liberação de sistema, utilizando data de expiração. Você define uma data e gera uma chave criptografada e libera para o cliente.



# Conheça o canal do Sales Oliveira #

6 de abril de 2017

Curso Programação: Controle de Usuários

Neste vídeo mostro como usar o componente UserControl para fazer o controle de acesso dos usuários nos menus do sistema.
Estou usando a IDE CodeTyphon, mas este componente funciona no Lazarus e no Delphi também



Programação: Instalando CodeTyphon Windows 10

CodeTyphon é o Free "Pascal Visual Programming Studio",para o Desenvolvimento Nativo de Plataformas Cruzadas, com capacidades Multi-OS, Multi-CPU, Multi-Platform e Cross-Build.
ÓTIMO: REPLETO DE COMPONENTES PRÉ INSTALADOS !


Saiba Mais: http://www.pilotlogic.com/sitejoom/

22 de março de 2017

Curso Firebird SQL 34 - Having


A cláusula HAVING foi adicionada ao SQL porque a palavra-chave WHERE não pôde ser usada com funções agregadas.



Exemplo 01: Cidades com numero de clientes = 2

select count(CL.CLI_CODIGO) as Qtde_Clientes ,
       cd.CID_NOME
from CLIENTE CL, CIDADE CD
where cl.CLI_CIDADE = cd.CID_CODIGO
group by cd.CID_NOME
HAVING count(CL.CLI_CODIGO) = 2

Exemplo 02: Produtos com o valor total maior que 10

select
    I.IPED_PRODUTO,
    P.PRO_NOME,
    sum( I.IPED_QTDE) as Qtde,
    avg( I.IPED_UNITARIO) as ValorMedio,
    ( sum( I.IPED_QTDE)  * avg( I.IPED_UNITARIO) ) as Total
from PRODUTO P, ITEMPEDIDO I
where p.PRO_CODIGO = i.IPED_PRODUTO
group By
I.IPED_PRODUTO, P.PRO_NOME
HAVING ( sum( I.IPED_QTDE)  * avg( I.IPED_UNITARIO) ) >10
Order By i.IPED_PRODUTO


.

18 de março de 2017

Curso Firebird SQL 33 - Concatenate

Usamos a concatenação  (unir / juntar) colunas ou strings.
Exemplo:
Select C.CODIGO ||' - '|| C.NOME
from CLIENTE C

Curso Firebird SQL 32 - Lower( )

A função Lower () converte o valor de um campo para minúsculas.

Exemplo: select C.CODIGO, lower(C.NOME) as Nome 
from CLIENTE C



Exemplo de pesquisa com Lower: 
 select C.CODIGO, lower(C.NOME) as Nome 
from CLIENTE C
Like lower(C.NOME) like '%dani%' 


Curso Firebird SQL 31 - Upper( )

A função Upper () converte o valor de um campo em maiúsculas.

Exemplo: select C.CODIGO, upper(C.NOME) as Nome 
from CLIENTE C



Exemplo de pesquisa com Upper: 
 select C.CODIGO, upper(C.NOME) as Nome 
from CLIENTE C
Like upper(C.NOME) like '%DANI%' 



Curso Firebird SQL 30 - Min ( )

A função MIN () retorna o menor valor da coluna selecionada.

Exemplo:

Select min(C.CODIGO) as MenorCodigoCliente
From CLIENTE C

Select min(P.VALVEN) as ProdutoMaisBarato
From PRODUTO P

Curso Firebird SQL 29 - Max ( )

A função MAX () retorna o maior valor da coluna selecionada.

Exemplo:
Select max(C.CODIGO) as Maior_Codigo
From CLIENTE C


Select max(P.VENDA) as ProdutoMaisCaro
From PRODUTO P

Curso Firebird SQL 28 - Distinct


Em uma tabela, uma coluna pode conter muitos valores duplicados e às vezes você só quer listar os diferentes (distintos) valores.
A palavra-chave DISTINCT pode ser usada para retornar somente valores distintos (diferentes).



Exemplo 01:  select distinct CLI_END from CLIENTE


Exemplo 02:  select distinct CIDADE.CID_NOME from CLIENTE, CIDADE
Where CIDADE.CID_CODIGO = CLIENTE.CLI_CIDADE





12 de fevereiro de 2017

Curso Firebird SQL 27 - Stored Procedures

►► Clique em curtir e ajude a divulgar o meu trabalho ! ◄◄
Stored Procedure é uma coleção de comandos em SQL para otimização de Banco de dados. Encapsular tarefas repetitivas, aceita parâmetros de entrada e retorna um valor de status.

►► Confira os exemplos abaixo: ◄◄
Neste vídeo vamos criar os seguintes procedimentos:

Exemplo 1 - Somar dois valores:
 SET TERM ^ ;

CREATE PROCEDURE SomaValor
 ( nValor1 integer, nValor2 integer )
RETURNS
 ( nTOTAL integer )
AS

BEGIN
  /* write your code here */
  nTOTAL = nValor1 + nValor2;
END^

SET TERM ; ^


Exemplo 2 - Atualizar preço de produto com calculo percentual:
SET TERM ^ ;

CREATE PROCEDURE stAtualizaValor
 ( nCodigo, nPercentual )
AS
BEGIN
  /* write your code here */
  update PRODUTO
  set PRODUTO.PRO_VALOR = PRODUTO.PRO_VALOR + ((PRODUTO.PRO_VALOR * :nPERCENTUAL)/100)
  Where PRODUTO.PRO_CODIGO = :nCODIGO;
 
END^

SET TERM ; ^


Exemplo 3 - Incluir, Alterar ou Excluir registros:
 SET TERM ^ ;
ALTER PROCEDURE EDTPRODUTO (
    CTIPO varchar(1),
    NCODIGO integer,
    CDESCRICAO varchar(20),
    NVALOR numeric(6,2),
    NGRUPO integer )
AS
BEGIN
  /* write your code here */
  if (cTipo = 'I') then
     insert into PRODUTO
            (PRODUTO.PRO_CODIGO,PRODUTO.PRO_NOME, PRODUTO.PRO_VALOR, PRODUTO.PRO_GRUPO)
     values (:nCODIGO, :cDESCRICAO, :nVALOR, :nGRUPO);
  else
     if (cTIPO = 'A') then
        update PRODUTO
           set PRODUTO.PRO_NOME = :cDESCRICAO,
               PRODUTO.PRO_GRUPO= :nGRUPO,
               PRODUTO.PRO_VALOR= :nVALOR
         where PRODUTO.PRO_CODIGO = :nCODIGO;
     else
        if (cTIPO = 'E')  then
            delete from PRODUTO
            where PRODUTO.PRO_CODIGO = :nCODIGO;
  suspend;          
                     
     
END^
SET TERM ; ^




Curso Firebird 26 - AVG

A função AVG retorna o cálculo médio de valores.

Exemplo:
select i.IPED_PRODUTO as Codigo, p.PRO_NOME as Descricao,
sum(i.IPED_QTDE) as Quantidade,avg( i.IPED_UNITARIO) as Un_Medio,
( sum(i.IPED_QTDE) * avg(i.IPED_UNITARIO)) as Total
from Produto P, ITEMPEDIDO I
where p.PRO_CODIGO = i.IPED_PRODUTO
group by i.IPED_PRODUTO, p.PRO_NOME

Curso Firebird SQL 25 - Sum e Group By


Vou mostrar como somar registros  como produtos vendidos, agrupando campos com a cláusula GROUP BY.



select i.IPED_PRODUTO as Codigo, p.PRO_NOME as Descricao,
sum(i.IPED_QTDE) as Quantidade, i.IPED_UNITARIO as Unitario,
sum(i.IPED_QTDE * i.IPED_UNITARIO) as Total
from Produto P, ITEMPEDIDO I
where p.PRO_CODIGO = i.IPED_PRODUTO
group by i.IPED_PRODUTO, p.PRO_NOME, i.IPED_UNITARIO


1 de fevereiro de 2017

Curso Firebird SQL 24 - Extract

► Ajude a manter este canal no ar, clique em GOSTEI !◄

Neste vídeo vou mostrar como selecionar registros extraindo dias, meses ou anos. exemplo todos clientes nascidos em agosto .. ou todos nascidos em determinado dia e mês...





-- nascidos no mês 08 de qualquer ano ou dia
select *
from cliente
where EXTRACT (Month FROM CLI_DTNAS) = 8;

-- nascidos entre o mes 4 e 8
select *
from cliente
where EXTRACT (Month FROM CLI_DTNAS) between 4 and 8;

-- nascidos no dia 03 do mês 08 de qualquer ano
select *
from cliente
where EXTRACT (Month FROM CLI_DTNAS) = 8
  and EXTRACT (DAY FROM CLI_DTNAS) = 3;


--Exibir nome do cliente e realizar calculo de idade
select CLI_NOME as NOME,
(EXTRACT (Year FROM CURRENT_DATE) - EXTRACT (Year FROM CLI_dtnas)) as Idade
from CLIENTE


25 de janeiro de 2017

Conectando PostGreSQL no Delphi Berlin usando ZEOS

Neste vídeo vou mostrar como conectar a uma base de dados PostGreSQL no Delphi Berlin usando o ZeosLib e resolver o problema:

None of the dynamic libraries Can Be found or is not loadable: libpq.dll!
Use TZConnection.libraryLocation if the location is invalid.

13 de janeiro de 2017

Curso Firebird SQL 23 - Union

O operador UNION é usado para combinar o conjunto de resultados de duas ou mais instruções SELECT.

Observe que cada instrução SELECT no UNION deve ter o mesmo número de colunas. As colunas também devem ter tipos de dados semelhantes. Além disso, as colunas em cada instrução SELECT devem estar na mesma ordem.
Script exemplo:
SELECT codigo, tipo, nome 
from (select
        F.FOR_CODIGO AS codigo,     
        'Fornecedor' as Tipo, 
        f.FOR_NOME   as Nome
      from FORNECEDOR F
    
 UNION ALL

      select
         c.CLI_CODIGO as codigo, 
         'Cliente'    as Tipo,
         c.CLI_NOME as Nome
      from CLIENTE C)
  
 Order BY NOME
 


Curso Firebird SQL 22 - Alias

Aliases SQL são usados ​​para fornecer a uma tabela de banco de dados ou a uma coluna em uma tabela, um nome temporário.
Basicamente aliases são criados para tornar os nomes das colunas mais legíveis.

8 de janeiro de 2017

Curso Firebird SQL 21 - Right Join

O comando Right join (junta-se a direita) retorna os todos registros
da tabela a direita independente do vínculo da tabela a esquerda.

Script de exemplo:

SELECT *
from produto
right join GRUPO on GRUPO.GRU_CODIGO = PRODUTO.PRO_GRUPO


SELECT *
from CLIENTE
RIGHT join CIDADE on CIDADE.CID_CODIGO = CLIENTE.CLI_CIDADE

Curso Firebird SQL 20 - Left Join

O comando Left join (junta-se a esquerda) retorna os todos registros
da tabela a esquerda independente do vínculo da tabela a direita.

Script exemplo:

SELECT *
from CLIENTE
left join CIDADE on CIDADE.CID_CODIGO = CLIENTE.CLI_CIDADE


SELECT *
from produto
left join GRUPO on GRUPO.GRU_CODIGO = PRODUTO.PRO_GRUPO



Curso Firebird SQL 19 - Join

O comando inner join ou join (junta-se) retorna os registros Iguais
(comuns) entre as duas tabelas.

Script Exemplo:



SELECT *
from produto
inner join GRUPO on GRUPO.GRU_CODIGO = PRODUTO.PRO_GRUPO


SELECT *
from CLIENTE
join CIDADE on CIDADE.CID_CODIGO = CLIENTE.CLI_CIDADE


4 de janeiro de 2017

Curso Firebird SQL 18 - Exception

Tratando exceções com mensagens de retorno.




Script exemplo:

--Criando Exception
CREATE EXCEPTION EXC_CLIPADRAO
'Cliente 1 padrão consumidor, exclusão não permitida';


--Criando Gatilho para disparar exception
SET TERM ^ ;
CREATE TRIGGER CLIENTE_BD FOR CLIENTE ACTIVE
BEFORE DELETE POSITION 0
AS
BEGIN
    /* enter trigger code here */
   if (old.Cli_CODIGO = 1) then
    exception EXC_CLIPADRAO;   
END^
SET TERM ; ^

Curso Firebird SQL 17 - Generator e Trigger

Criando campo auto incrimento usando trigger e generator.



Script Exemplo:

--Criar Generator:
CREATE GENERATOR INC_PRODUTO;
SET GENERATOR INC_PRODUTO TO 1;


--Criar Gatilho(trigger)
 SET TERM ^ ;
CREATE TRIGGER PRODUTO_BI FOR PRODUTO ACTIVE
BEFORE INSERT POSITION 0
AS
BEGIN
    /* enter trigger code here */
    new.PRO_CODIGO = GEN_ID(INC_PRODUTO,1);
END^
SET TERM ;
^


Curso Firebird SQL 16 - Between

O operador BETWEEN seleciona valores dentro de um intervalo. Os valores podem ser números, texto ou datas.


Script exemplo:

-- valor do produto maior ou igual a 5 e menor ou igual a 13
select * from produto where (pro_valor >= 5 and pro_valor <= 13)
ou
select * from produto where (pro_valor between 5 and 13);
--BETWEEN exibe registros entre 2 valores ou datas

Curso Firebird SQL 15 - In

O operador IN permite que você especifique vários valores em uma cláusula WHERE.





Script exemplo:

-- somente do produto com código = 3
select * from produto where pro_codigo = 3;
--ou
select * from produto where pro_codigo in(3); // in

-- somente produtos com código = 3 e codigo = 5
select * from produto where (pro_codigo = 3 or pro_codigo = 6);
ou
select * from produto where pro_codigo in(3,6);
--IN = valores pré definidos

Curso Firebird SQL 14 - First

Comando FIRST limita a quantidade de registros de uma consulta SQL



Script exemplo:

--exibir apenas os 10 primeiros registros
select first 10 CODIGO, NOME from Cliente
  order by NOME asc
 
-exibir apenas os 10 ultimos registros
select first 10 CODIGO, NOME from Cliente
  order by NOME Desc
 

Curso Firebird SQL 13 - Order By

A palavra-chave ORDER BY é usada para classificar o conjunto de resultados.



Script Exemplo:


-- Ordenando pelo nome
select p.pro_codigo as Codigo, p.pro_nome as Descricao, p.pro_valor as Valor, g.gru_nome as Grupo
from produto p, grupo g
where p.pro_grupo = g.gru_codigo
Order BY p.pro_nome;


-- Listando dados vinculando duas tabelas usando Alias (apelido) para os Nomes dos Campos
-- Ordenando pelo nome do grupo e nome do produto
select p.pro_codigo as Codigo, p.pro_nome as Descricao, p.pro_valor as Valor, g.gru_nome as Grupo
from produto p, grupo g
where p.pro_grupo = g.gru_codigo
Order BY g.gru_nome, p.pro_nome;


Curso Firebird SQL 12 - Delete



A instrução DELETE é usada para excluir registros em uma tabela.




Script exemplo:

-- Excluir um Registro
delete from grupo where gru_codigo = 3


Delphi/Lazarus mexer janelas/forms sem controlbox

Vídeo criado pelo amigo Daniel Steckler mostrando como mover janelas sem bordas desenvolvidas em Lazarus, Delphi ou Codetyphon. Ótimo c...