
Optical Barcode Recognition for FireMonkey

Delphi and C++ Builder optical barcode recognition component for FireMonkey.
- uses ZBar bar code reader library
- supports EAN-13/UPC-A, EAN-8, UPC-E, Code 39, Code 93, Code 128, Codabar, GS1 DataBar, GS1 DataBar Expanded, Interleaved 2 of 5, SQ Code and QR Code barcodes
- supports Windows, macOS, iOS and Android
- available for Delphi/C++ Builder XE3 - 10.4
- source code included in registered version
- royalty free distribution in applications
Download and order
Order OBR for FireMonkey component $80,- USD (license for one developer)
Order OBR for FireMonkey multilicense $240,- USD (license for all developers in company)
Order OBR for FireMonkey year upgrades $40,- USD (registered users only)
Order OBR for FireMonkey year upgrades multilicense $120,- USD (registered multilicense users only)
FAQ
How can I fix "arm-linux-androideabi-ld.exe: cannot find -lzbar" when building Android 32 application?
Copy libzbar.a file located in folder
"c:\Program Files (x86)\Winsoft\OBR for FireMonkey\Library\Android\armeabi-v7a"
to folder
"c:\Program Files (x86)\Winsoft\OBR for FireMonkey\Delphi104-Android32"
How can I fix "ld.exe: cannot find -lzbar" when building Android 64 application?
Copy libzbar.a file located in folder
"c:\Program Files (x86)\Winsoft\OBR for FireMonkey\Library\Android\arm64-v8a"
to folder
"c:\Program Files (x86)\Winsoft\OBR for FireMonkey\Delphi104-Android64"
How can I fix "ld: file not found: libzbar.a" when building iOS application?
Copy libzbar.a file from folder
"c:\Program Files (x86)\Winsoft\OBR for FireMonkey\Library\iOSDevice"
to the folder where is located source code of your application.
How can I fix "[ldandroid Error] "ld" exited with code 1." in C++ Builder?
Add these files in Project Manager:
"c:\Program Files (x86)\Winsoft\OBR for FireMonkey\Library\Android\armeabi-v7a\libzbar.a"
"c:\Program Files (x86)\Winsoft\OBR for FireMonkey\Delphi104-Android32\libWinsoft.FireMonkey.ObrP.a"
How can I disable recognition of some symbology?
Add this line before scaning barcode:
How can I enable recognition of some symbology?
Add this line before scaning barcode:
How can I scan UPC/EAN barcodes with 5 digit extension?
Add this line before scaning barcode:
Why are some QR Codes containing diacritic incorrectly decoded?
This problem is caused by incorrectly created QR Codes that use QR Code Kanji (Shift JIS X 0208) encoding. Use this code for decoding:
Copy libzbar.a file located in folder
"c:\Program Files (x86)\Winsoft\OBR for FireMonkey\Library\Android\armeabi-v7a"
to folder
"c:\Program Files (x86)\Winsoft\OBR for FireMonkey\Delphi104-Android32"
How can I fix "ld.exe: cannot find -lzbar" when building Android 64 application?
Copy libzbar.a file located in folder
"c:\Program Files (x86)\Winsoft\OBR for FireMonkey\Library\Android\arm64-v8a"
to folder
"c:\Program Files (x86)\Winsoft\OBR for FireMonkey\Delphi104-Android64"
How can I fix "ld: file not found: libzbar.a" when building iOS application?
Copy libzbar.a file from folder
"c:\Program Files (x86)\Winsoft\OBR for FireMonkey\Library\iOSDevice"
to the folder where is located source code of your application.
How can I fix "[ldandroid Error] "ld" exited with code 1." in C++ Builder?
Add these files in Project Manager:
"c:\Program Files (x86)\Winsoft\OBR for FireMonkey\Library\Android\armeabi-v7a\libzbar.a"
"c:\Program Files (x86)\Winsoft\OBR for FireMonkey\Delphi104-Android32\libWinsoft.FireMonkey.ObrP.a"
How can I disable recognition of some symbology?
Add this line before scaning barcode:
FObr.Configure(syQrCode, saNone, coEnableSymbology, 0); // disable QR code symbology
How can I enable recognition of some symbology?
Add this line before scaning barcode:
FObr.Configure(syQrCode, saNone, coEnableSymbology, 1); // enable QR code symbology
How can I scan UPC/EAN barcodes with 5 digit extension?
Add this line before scaning barcode:
FObr.Configure(syEan5, saNone, coEnableSymbology, 1);
Why are some QR Codes containing diacritic incorrectly decoded?
This problem is caused by incorrectly created QR Codes that use QR Code Kanji (Shift JIS X 0208) encoding. Use this code for decoding:
function DecodeQRCode(Data: TBytes): string; var Utf8: string; ShiftJIS: TBytes; begin Utf8 := TEncoding.UTF8.GetString(Data); ShiftJIS := TEncoding.GetEncoding(932 {Shift JIS }).GetBytes(Utf8); Result := TEncoding.ANSI.GetString(ShiftJIS); end;