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.
Categoria: Delphi
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.
Curso Programação: Controle de Usuários
Conectando PostGreSQL no Delphi Berlin usando ZEOS
Aprenda a programar impressoras térmicas de etiquetas PPLB
Para quem precisa imprimir em impressoras térmicas de etiquetas que utilizam a linguagem PPLB (Zebra, Argox, Elgin, etc), segue algumas dicas.
Vamos ver o lay-out da impressão de uma linha com 3 colunas:
N
D20
S3
A810,160,2,1,1,1,N,”Torta de Frango”
A810,140,2,3,1,1,N,”000132″
A810,115,2,3,1,1,N,”R$ 3,90″
B570,020,0,2,3,5,65,N,”000132″
A540,160,2,1,1,1,N,”Sabonete Liquido”
A540,140,2,3,1,1,N,”001021″
A540,115,2,3,1,1,N,”R$ 2,20″
B310,020,0,2,3,5,65,N,”01021″
A260,160,2,1,1,1,N,”Adaptador de Tomada”
A260,140,2,3,1,1,N,”006352″
A260,115,2,3,1,1,N,”R$ 1,80″
B030,020,0,2,3,5,65,N,”006352″
P1
Vamos comentar para facilitar a interpretação:
N = Limpeza do Buffer
D20 = Densidade 20
S3 = Velocidade de impressão pol/segundos
Ap1,p2,p2,p3,p4,p5,p6,p7,”Dados” (veja tabela abaixo – Texto)
A810,160,2,1,1,1,N,”Torta de Frango”
A810,140,2,3,1,1,N,”000132″
A810,115,2,3,1,1,N,”R$ 3,90″
Bp1,p2,p2,p3,p4,p5,p6,p7,”Dados” (veja tabela abaixo – Barras)
B570,020,0,2,3,5,65,N,”000132″
P1 = determina a quantidade de cópias, 1 até 65.535
“Dados” – dados a serem impressos
Agora que você já entendeu, vamos ver como vai ficar em Lazarus ou Delphi:
procedure TFormEtqL42.BtnImprimeETQ;
var
F : TextFile;
i : integer;
begin
IF cPortaBARRAS = ” then
begin
ShowMessage(‘Verifique a configuração da porta da impressora de etiqueta’);
Exit;
end;
AssignFile(F,cPortaBARRAS);
Rewrite(F);
i := 0;
TabGlobal.DETQ001.Last;
TabGlobal.DETQ001.First;
while not TabGlobal.DETQ001.eof do
begin
Writeln(F,’N’);
Writeln(F,’D20′);
Writeln(F,’S3′);
// Etiqueta 1
Writeln(F,’A810,160,2,1,1,1,N,”‘+TabGlobal.DETQ001.DESCRICAO.Conteudo+'”‘);
Writeln(F,’A810,140,2,3,1,1,N,”‘+TabGlobal.DETQ001.CODPRO.Conteudo+'”‘);
Writeln(F,’A810,115,2,3,1,1,N,”‘+TabGlobal.DETQ001.VALOR.Conteudo+'”‘);
Writeln(F,’B570,020,0,2,3,5,65,N,”‘+TabGlobal.DETQ001.BARRAS.Conteudo+'”‘);
// Etiqueta 2
TabGlobal.DETQ001.Next;
Writeln(F,’A540,160,2,1,1,1,N,”‘+TabGlobal.DETQ001.DESCRICAO.Conteudo+'”‘);
Writeln(F,’A540,140,2,3,1,1,N,”‘+TabGlobal.DETQ001.CODPRO.Conteudo+'”‘);
Writeln(F,’A540,115,2,3,1,1,N,”‘+TabGlobal.DETQ001.VALOR.Conteudo+'”‘);
Writeln(F,’B310,020,0,2,3,5,65,N,”‘+TabGlobal.DETQ001.BARRAS.Conteudo+'”‘);
// Etiqueta 3
TabGlobal.DETQ001.Next;
Writeln(F,’A260,160,2,1,1,1,N,”‘+TabGlobal.DETQ001.DESCRICAO.Conteudo+'”‘);
Writeln(F,’A260,140,2,3,1,1,N,”‘+TabGlobal.DETQ001.CODPRO.Conteudo+'”‘);
Writeln(F,’A260,115,2,3,1,1,N,”‘+TabGlobal.DETQ001.VALOR.Conteudo+'”‘);
Writeln(F,’B030,020,0,2,3,5,65,N,”‘+TabGlobal.DETQ001.BARRAS.Conteudo+'”‘);
TabGlobal.DETQ001.Next;
Writeln(F,’P1′);
end;
CloseFile(F);
end;
Se gostou, compartilhe e ajude a divulgar meu trabalho. Obrigado!
* Créditos para parte do texto dos comandos para ArgoxBrasil
Curso de Programação: Criando uma tela de pesquisa
Aprenda Programar: função para retornar o valor de um campo auto-incremento
Recebi muitos e-mails de amigos inscritos no meu blog e no canal do youtube com perguntas:
Como saber o próximo número do auto-increment?
como recuperar último código de um auto-incremento ?
Como saber o próximo valor do auto incremento?
###### Clique no GOSTEI ! isso me ajuda muito ! #############
Neste vídeo vou mostrar como criar uma função para retornar o valor do campo auto incremento e como definir o valor do próximo incremento.
###### Função #####
Uses db; // Declare USES DB
//Private ou Public
function RetornaAutoINC(cTabela, cCampoAI: String; vAtribui:variant):Variant;
//Função:
function RetornaAutoINC(cTabela, cCampoAI: String; vAtribui:variant): Variant;
var
vResultaAutoIncrimento : Variant; // resultado do incremento
nQTD : Variant; // Variável para próximo incremento
begin
nQTD:=vAtribui; // atribuição a variavel nQTD o valor do próximo incremento obtido pelo parametro da funcao
TabGlobal.SqlAutoInc.Close; // fecha Query
TabGlobal.SqlAutoInc.sql.Clear; // limpa Query
TabGlobal.SqlAutoInc.SQL.Add(‘Select Max(‘+cCampoAI+’) as nCocInc from ‘+cTabela); // escreve nova query com parametros recebido da funcao
TabGlobal.SqlAutoInc.Open; // abre a nova query
case TabGlobal.SqlAutoInc.Fields[0].DataType of
ftSmallint, ftWord, ftInteger: // se o campo AI for SmallInt, Word ou Integer
vResultaAutoIncrimento := TabGlobal.SqlAutoInc.Fields[0].AsInteger + nQtd;
ftFloat, ftCurrency: // Se o campo for Float ou Currency
vResultaAutoIncrimento := TabGlobal.SqlAutoInc.Fields[0].AsFloat + nQtd;
end;
TabGlobal.SqlAutoInc.Close; // fecha query
Result := vResultaAutoIncrimento; // retornar o campo Resultado Auto INc
end;
###### Assista o vídeo #######
Instalando ZeosLIB no Delphi Berlin X10 Start Edition (Free)
Sabemos que o Delphi Berlin Start Edition (a opção básica da Embarcadero) não vem com componente nativo para conexão a base de dados.
Neste vídeo vamos aprender a instalar o componente ZEOSLIB que permite conectar a vários banco de dados (Firebird, MySQL, MariaDB, PostGreSQL, SQLite, Oracle, etc).
Aprenda conectar com PostGreSQL: Clique Aqui
Link para ZeosLib, clique aqui
Passo a passo para instalação do componente:
Delphi 10.1 Berlin Starter Edition (GRATUITA) valida até 09/09/2016
Embarcadero liberou GRATUITAMENTE a versão Delphi 10.1 Berlin Starter Edition para download. A promoção termina em 09/09/2016.
Link para Download (precisa se cadastrar na Embarcadero):
https://www.embarcadero.com/br/products/delphi/starter/promotional-download
Link para notas da versão, direito de uso e limitações:
https://www.embarcadero.com/products/delphi/starter
Assista o vídeo:
Curso de Lazarus: Aprendendo trabalhar com INI
O formato de arquivo INI é um padrão informal para arquivos de configuração para algumas plataformas ou software. Arquivos INI são arquivos de texto simples com uma estrutura básica composta de “seções” e “propriedades”.
Link para download do projeto INI: http://www.mediafire.com/download/e3d8prclow42dzu/ExemploINI.rar
Assista o vídeo: