Create QR Code with Binary Data - Delphi
QR Code SDK sample in Delphi demonstrating ‘Create QR Code with Binary Data’
QRCodeWithBinaryData.dpr
program QRCodeWithBinaryData;
//*******************************************************************************************//
// //
// Download Free Evaluation Version From: https://bytescout.com/download/web-installer //
// //
// Also available as Web API! Get Your Free API Key: https://app.pdf.co/signup //
// //
// Copyright � 2017-2020 ByteScout, Inc. All rights reserved. //
// https://www.bytescout.com //
// https://pdf.co //
// //
//*******************************************************************************************//
{$APPTYPE CONSOLE}
uses
SysUtils,
ActiveX,
ShellApi,
Windows,
Bytescout_BarCode_QRCode_TLB in 'C:\Program Files\Borland\BDS\4.0\Imports\Bytescout_BarCode_QRCode_TLB.pas';
var
qr_code: _QRCode;
const
OUTPUT_FILE_NAME: string = 'result.png';
INPUT_BYTES: array [0..7] of byte = (0, 10, 11, 12, 13, 14, 15, 255);
function __BytesToStr(bytes: array of byte): string;
const
BYTES_HEX: array[0..15] of char = ('0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', 'A', 'B', 'C', 'D', 'E', 'F');
var
i, len: integer;
begin
len := Length(bytes);
SetLength(Result, len * 2);
for i := 0 to len - 1 do begin
Result[i * 2 + 1] := BYTES_HEX[bytes[i] shr 4];
Result[i * 2 + 2] := BYTES_HEX[bytes[i] and $0F];
end;
end;
begin
// required for console applications, initializes ActiveX support
CoInitialize(nil);
// create and activate QRCode instance
qr_code := CoQRCode.Create();
qr_code.RegistrationName := 'demo';
qr_code.RegistrationKey := 'demo';
// set value by converting byte array to string
qr_code.value := __BytesToStr(INPUT_BYTES);
// save QRCode to image
qr_code.SaveImage(OUTPUT_FILE_NAME);
// show image in default viewer
ShellExecute(0, 'open', PAnsiChar(OUTPUT_FILE_NAME), nil, nil, SW_SHOWNORMAL);
// free QRCode object
qr_code.Dispose();
// required for console applications, initializes ActiveX support
CoUninitialize();
end.