Jump to content

dev botao

Instalação do Componente ACBR no Delphi XE3 - QRCODE


ncaldas
Go to solution Solved by Daniel Simoes,
  • Este tópico foi criado há 1807 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Boa tarde, equipe ACBr,

Meu nome é Nilton Caldas, trabalho como desenvolvedor em um cartório de Manaus, e usamos a solução ACBr para gerar a  NFCe, no qual foi um sucesso a implantação! Agora temos um novo desafio, gerar o QRCode dos selos gerados no cartório para que o cliente tenha como validar o mesmo pelo portal de selos do TJ/AM. Estou migrando a aplicação que foi feita em Delphi 6 para a versão que compramos a um tempo Delphi XE3. A pergunta é o pedido de ajuda é, posso instalar só o componente de grerar QRCode? e essa instalação pode ser feita no XE3?

  • Like 1
Link to comment
Share on other sites

  • Consultores

Boa tarde Nilton,

Que eu saiba não temos um componente só para gerar a imagem do QR-Code.

O que temos é uma unit chamada ACBrDFeReport que contem o método: PintarQRCode onde passamos a string e o nome do componente imagem que se encontra no Form de impressão.

 

  • Like 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link to comment
Share on other sites

  • Moderadores

Há uma unit de terceiros usada pelo método PintarQrCode do ACBr para a geração do QRCode.

https://svn.code.sf.net/p/acbr/code/trunk2/Fontes/Terceiros/DelphiZXingQRCode/ACBrDelphiZXingQRCode.pas

Deve funcionar com qualquer gerador de relatórios.

 

  • Like 1
  • Thanks 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link to comment
Share on other sites

  • Fundadores
  • Solution

Acho que você pode usar a mesma técnica que usamos, para imprimir o QRCode no Fortes, na Unit: ACBrDFeReport.pas... creio que basta copiar esse trecho de código

Uses ACBrDelphiZXingQRCode
....

procedure PintarQRCode(const QRCodeData: String; APict: TPicture;
  const AEncoding: TQRCodeEncoding);
var
  QRCode: TDelphiZXingQRCode;
  QRCodeBitmap: TBitmap;
  Row, Column: Integer;
begin
  QRCode       := TDelphiZXingQRCode.Create;
  QRCodeBitmap := TBitmap.Create;
  try
    QRCode.Encoding  := AEncoding;
    QRCode.QuietZone := 1;
    QRCode.Data      := widestring(QRCodeData);

    //QRCodeBitmap.SetSize(QRCode.Rows, QRCode.Columns);
    QRCodeBitmap.Width  := QRCode.Columns;
    QRCodeBitmap.Height := QRCode.Rows;

    for Row := 0 to QRCode.Rows - 1 do
    begin
      for Column := 0 to QRCode.Columns - 1 do
      begin
        if (QRCode.IsBlack[Row, Column]) then
          QRCodeBitmap.Canvas.Pixels[Column, Row] := clBlack
        else
          QRCodeBitmap.Canvas.Pixels[Column, Row] := clWhite;
      end;
    end;

    APict.Assign(QRCodeBitmap);
  finally
    QRCode.Free;
    QRCodeBitmap.Free;
  end;
end;    

 

  • Thanks 1
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link to comment
Share on other sites

1 minuto atrás, Daniel Simoes disse:

Acho que você pode usar a mesma técnica que usamos, para imprimir o QRCode no Fortes... creio que basta copiar esse trecho de código


Uses ACBrDelphiZXingQRCode
....

procedure PintarQRCode(const QRCodeData: String; APict: TPicture;
  const AEncoding: TQRCodeEncoding);
var
  QRCode: TDelphiZXingQRCode;
  QRCodeBitmap: TBitmap;
  Row, Column: Integer;
begin
  QRCode       := TDelphiZXingQRCode.Create;
  QRCodeBitmap := TBitmap.Create;
  try
    QRCode.Encoding  := AEncoding;
    QRCode.QuietZone := 1;
    QRCode.Data      := widestring(QRCodeData);

    //QRCodeBitmap.SetSize(QRCode.Rows, QRCode.Columns);
    QRCodeBitmap.Width  := QRCode.Columns;
    QRCodeBitmap.Height := QRCode.Rows;

    for Row := 0 to QRCode.Rows - 1 do
    begin
      for Column := 0 to QRCode.Columns - 1 do
      begin
        if (QRCode.IsBlack[Row, Column]) then
          QRCodeBitmap.Canvas.Pixels[Column, Row] := clBlack
        else
          QRCodeBitmap.Canvas.Pixels[Column, Row] := clWhite;
      end;
    end;

    APict.Assign(QRCodeBitmap);
  finally
    QRCode.Free;
    QRCodeBitmap.Free;
  end;
end;    

 

Daniel boa Tarde,

Desculpe minha ignorância, o ACBrDelphiZXingQRCode, é o componente ACBR que eu preciso instalara no delphi ?

 

Link to comment
Share on other sites

  • Consultores

Nilton,

Quando você baixa os fontes da suíte ACBr na pasta: ...\Fontes\Terceiros\DelphiZXingQRCode se encontra a unit ACBrDelphiZXingQRCode.

Não se trata de um componente, apenas uma unit que você declara em uses do seu form que vai conter a rotina apresentada pelo Daniel.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link to comment
Share on other sites

  • Fundadores

é uma Unit... você pode achar em: \ACBr\Fontes\Terceiros\DelphiZXingQRCode

a nossa sofreu algumas melhorias... você pode achar a original em: https://www.debenu.com/open-source/delphizxingqrcode/

 

  • Like 1
  • Thanks 1
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link to comment
Share on other sites

  • Este tópico foi criado há 1807 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

The popup will be closed in 10 seconds...