Ir para conteúdo
  • Cadastre-se

dev botao

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


ncaldas
Ver Solução Respondido por Daniel Simoes,
  • Este tópico foi criado há 1688 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?

  • Curtir 1
Link para o comentário
Compartilhar em outros 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.

 

  • Curtir 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 para o comentário
Compartilhar em outros 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.

 

  • Curtir 1
  • Obrigado 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros 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;    

 

  • Obrigado 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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/

 

  • Curtir 1
  • Obrigado 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 para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1688 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.