Ir para conteúdo
  • Cadastre-se

dev botao

QrCode não lê em alguns bancos


Ver Solução Respondido por Juliomar Marchetti,
  • Este tópico foi criado há 429 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Boa tarde pessoal,
Estou com um problema a alguns dias sobre a visualização do QRCode na tela, acaba que alguns bancos ele funciona e outros não. Gostaria de ver com vocês se teriam algum outro relato sobre isso ou se meu código estaria com algum parâmetro incorreto, segue o código a baixo:

procedure TDadosTefApi.ACBrTEFAPI1QuandoExibirQRCode(
  const DadosQRCode: String);
var
  QRCode: TDelphiZXingQRCode;
  QRCodeBitmap: TBitmap;
  Row, Column: Integer;
begin
  if not (StatusVenda in [stsAguardandoTEF, stsOperacaoTEF]) then
    StatusVenda := stsAguardandoTEF;

  if (TefConfiguracaoQRCODE.AsInteger = 4) then  // 4 - Imprimir
  begin
    if (DadosQRCode <> '') then
      ImprimirRelatorio( '</ce>'+
                         '<qrcode_largura>8</qrcode_largura>'+
                         '<qrcode>'+DadosQRCode+'</qrcode>'+
                         '</lf>');

    Exit;
  end;
  
  if (DadosQRCode = '') and (FProcessando.pQRCode.Visible) then
    begin
      FProcessando.pQRCode.Visible := False;
      FProcessando.Pix := False;
      FProcessando.AjustaTela;
      Application.ProcessMessages;
      Exit;
    end;

  QRCode := TDelphiZXingQRCode.Create;
  QRCodeBitmap := TBitmap.Create;
  try
    QRCode.Encoding  := qrUTF8NoBOM;
    QRCode.QuietZone := 2;
    QRCode.Data      := widestring(DadosQRCode);

    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;
    FProcessando.LabValorPix.Caption    := FormatFloat('R$ 0.00',DadosVendaBalcao.VendasVALOR1.AsCurrency);
    FProcessando.imgQRCode.Picture.Bitmap.Assign(QRCodeBitmap);
    FProcessando.pQRCode.Visible := True;
    FProcessando.Pix := True;
    FProcessando.AjustaTela;
  finally
    QRCode.Free;
    QRCodeBitmap.Free;
  end;

Abaixo segue uma foto do erro:

 

WhatsApp Image 2023-10-11 at 14.40.29.jpeg

  • 2 semanas depois ...
  • Membros Pro
Postado (editado)
Em 11/10/2023 at 15:49, Juliomar Marchetti disse:

troca

QRCode.Encoding  := qrUTF8NoBOM;

Resolvido, foi alterado para qrUTF8oBOM.
Pode fechar o tópico. Obrigado.

Editado por IgorAcertSoft
  • Consultores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

Consultor SAC ACBr

Alexandre de Paula
Ajude o Projeto ACBr crescer - Assine o SAC                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

 

  • Este tópico foi criado há 429 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.

The popup will be closed in 10 segundos...