Componente CameraScanner — sgcHTML | eSeGeCe

CameraScanner

TsgcHTMLComponent_CameraScanner — um painel de câmera ao vivo que escaneia códigos de barras e QR codes com o próprio decodificador nativo do navegador, sem biblioteca de terceiros, com captura de foto e entrada manual sempre disponíveis como alternativa, em Delphi, C++ Builder e .NET.

TsgcHTMLComponent_CameraScanner

Defina Mode e Formats, depois leia a propriedade HTML; o painel abre a câmera, decodifica com o BarcodeDetector do navegador e publica o resultado em FieldName.

Classe do componente

TsgcHTMLComponent_CameraScanner

Renderiza

Painel de visor de câmera + campos ocultos + script inline

Linguagens

Delphi, C++ Builder, .NET

Aponte para o scanner nativo do navegador

Nenhum decodificador para empacotar e nada baixado de uma CDN: quando o BarcodeDetector não está disponível, o painel avisa e continua funcionando através da entrada manual e da captura de foto.

uses
  sgcHTML_Component_CameraScanner;

var
  oScanner: TsgcHTMLComponent_CameraScanner;
begin
  oScanner := TsgcHTMLComponent_CameraScanner.Create(nil);
  try
    oScanner.ScannerID := 'receiving_scan';
    oScanner.Mode := smBoth;               // scan barcodes AND capture a photo
    oScanner.Formats := 'qr_code,ean_13,code_128';
    oScanner.FieldName := 'sku';
    oScanner.ContinuousScan := True;
    oScanner.BeepOnScan := True;

    WebModule.Response := oScanner.HTML;   // camera panel + hidden fields + inline script
  finally
    oScanner.Free;
  end;
end;
// includes: sgcHTML_Component_CameraScanner.hpp

TsgcHTMLComponent_CameraScanner *oScanner = new TsgcHTMLComponent_CameraScanner(NULL);
try
{
  oScanner->ScannerID = "receiving_scan";
  oScanner->Mode = smBoth;
  oScanner->Formats = "qr_code,ean_13,code_128";
  oScanner->FieldName = "sku";
  oScanner->ContinuousScan = true;
  oScanner->BeepOnScan = true;

  String html = oScanner->HTML;   // camera panel + hidden fields + inline script
}
__finally
{
  delete oScanner;
}
using esegece.sgcWebSockets;

var scanner = new TsgcHTMLComponent_CameraScanner();
scanner.ScannerID = "receiving_scan";
scanner.Mode = smBoth;
scanner.Formats = "qr_code,ean_13,code_128";
scanner.FieldName = "sku";
scanner.ContinuousScan = true;
scanner.BeepOnScan = true;

string html = scanner.HTML;   // camera panel + hidden fields + inline script

Principais propriedades & métodos

Os membros que você usa com mais frequência.

Mode

smBarcode, smPhoto ou smBoth (padrão). smBarcode nunca renderiza o botão de captura; smPhoto ignora completamente o loop de escaneamento.

Formats

Lista separada por vírgulas de strings de formato do BarcodeDetector, padrão qr_code,ean_13,code_128, com escape para o array JS passado ao decodificador do navegador.

FacingMode

sfEnvironment (padrão, câmera traseira) ou sfUser (câmera frontal).

ContinuousScan

True (padrão) continua decodificando após um acerto; False para a câmera automaticamente no primeiro escaneamento bem-sucedido.

FieldName

Nome do campo oculto sob o qual o valor escaneado é publicado; a foto capturada é publicada em FieldName_photo como uma data URL JPEG.

WSSend / Action

Envie cada escaneamento pela ponte WebSocket sgcHTMX, ou faça POST para Action; de qualquer forma, um evento DOM sgcCameraScanner:scan sempre é disparado.

Continue explorando

Ajuda onlineReferência completa da API e guia de uso para este componente.
Todos os Componentes sgcHTMLExplore a matriz completa de recursos com mais de 80 componentes.
Baixar Versão de Avaliação GratuitaA avaliação de 30 dias inclui os projetos de demonstração 60.HTML.
PreçosLicenças Single, Team e Site com código-fonte completo.
Melhor custo-benefício: All-AccessTodos os produtos da eSeGeCe, com Suporte Premium incluído, a partir de €1,059/ano.
Ver preços do All-Access

Pronto para Começar?

Baixe a versão de avaliação gratuita e comece a construir UIs web em Delphi, C++ Builder e .NET.