Neste vídeo o Régys mostra todas as configurações necessárias para o correto funcionamento do ACBr no Linux/Android utilizando Delphi.
Para quem não conhece o Régys é MVP Embarcadeiro e tem um Canal no Youtube com vídeos fantásticos ! Clique no botão abaixo para se Inscrever e não perder um vídeo dele:
Hoje vou mostrar como criar um formulário de pesquisa padrão.
Passar parâmetros entre um formulário e outro como campos que desejo listar na pesquisa, tabela e qual campo quero capturar no resultado da consulta.
Delphi e Firedac.
Declarações(frmPesquisa):
private
{ Private declarations }
cCampos, cCampoRetorno, cTabela : string;
public
{ Public declarations }
constructor Create(AOwner : TComponent; par_lstCampos : Array of string;par_cTabela, par_cCampoResult :string);
Creator (frmPesquisa)
constructor TfrmPesquisa.Create(AOwner: TComponent;
par_lstCampos: array of string; par_cTabela, par_cCampoResult: string);
var
n : Integer;
begin
inherited Create(AOwner);
Conexao.Open;
cCampoRetorno := par_cCampoResult;
cCampos:='';
cbCAMPOS.Clear;
cTabela := par_cTabela;
for n := 0 to Length(par_lstCampos) -1 do
begin
cbCAMPOS.Items.Add(par_lstCampos[n]) ;
if n = 0 then
cCampos := par_lstCampos[n]
else
cCampos := cCampos +','+ par_lstCampos[n] ;
end;
cbCAMPOS.ItemIndex := 1;
if qrSQL.Active then
qrSQL.Close;
with qrSQL.SQL do
begin
Clear;
add('Select '+cCampos);
add('from '+cTabela)
end;
qrSQL.Open;
end;
Botão de Pesquisa
procedure TfrmPesquisa.btnPesquisaClick(Sender: TObject);
begin
if qrSQL.Active then
qrSQL.Close;
with qrSQL.SQL do
begin
Clear;
add('Select '+cCampos);
add('from '+cTabela);
add('where '+trim(cbCAMPOS.Text)+' like :cParametro');
end;
if cbFiltro.Text = 'parte' then
qrSQL.ParamByName('cParametro').AsString := '%'+trim(edtBusca.Text)+'%'
else if cbFiltro.Text = 'inicio' then
qrSQL.ParamByName('cParametro').AsString := trim(edtBusca.Text)+'%'
else if cbFiltro.Text = 'igual' then
qrSQL.ParamByName('cParametro').AsString := trim(edtBusca.Text) ;
qrSQL.Open;
end;
Você já pensou em criar um PDV (ponto de venda) em Delphi ou Lazarus com botões dinâmicos ?
Isso mesmo, aqueles PDVs que tem botões de atalhos com produtos, você clique em x-salada ele lança o x-salada para você!
TUDO dinamicamente, resultado da sua query direto para um grid de botões personalizados (altura, largura e ícones).
Vídeo 1, criando o CRUD em MySQL.
Crie botões em tempo de execução dinamicamente.
Exemplo: Botões como em um dbgrid de produtos para um ponto de venda, etc.
Ao invés de mostrar o grid com os campos da tabela, exiba os botões.
Link
Neste vídeo vou mostrar como exportar dados DINAMICAMENTE de uma tabela para Excel ou qualquer programa que suporte arquivo de texto delimitado por “ponto-e-virgula”.
Funciona com qualquer banco de dados.
Código Fonte:
procedure TfrmPrincipal.btnExportaClick(Sender: TObject);
var
sLista : TStringList;
nCampo : integer;
cLinha : string;
begin
sLista := TStringList.Create;
cLinha := ”;
for nCampo:=0 to qrTabela.fields.Count-1 do
cLinha:=cLinha+qrTabela.Fields[nCampo].DisplayLabel+’;’;
sLista.Add(cLinha);
qrTabela.First;
while not qrTabela.EOF do
begin
cLinha := ”;
for nCampo:=0 to qrTabela.fields.Count-1 do
cLinha:=cLinha+qrTabela.Fields[nCampo].DisplayText+’;’;
sLista.Add(cLinha);
qrTabela.Next;
end;
if FileExists(‘c:tmpteste.csv’) then DeleteFile(‘c:tmpteste.csv’);
sLista.SaveToFile(‘c:tmpteste.csv’);