Create QR Code in PowerBuilder with Fonts
This tutorial illustrates the use of a COM (Component Object Model) library and a barcode font available in ConnectCode QR Code package for creating QR Code barcode in PowerBuilder. The generated QR Code complies with the ISO/IEC 18004:2015 standards and is able to meet the strictest requirements of the Auto-ID industry.Prerequisites
- PowerBuilder v12, PowerBuilder 2017, PowerBuilder 2019, or PowerBuilder 2021
- ConnectCode QR Code package is installed
Tutorial on creating a QR Code in PowerBuilder
1. Launch a Windows Command Prompt as Administrator. In the Command Prompt, enter the following command to go to the QRCodeCOMLibrary folder.
cd C:\Program Files (x86)\ConnectCodeQRCode\Resource\QRCodeCOMLibrary
2. Next, use the Assembly Registration Tool (Regasm.exe) to register the QRCodeCOMLibrary.dll assembly with COM.
Regasm QRCodeCOMLibrary.dll /tlb:QRCodeCOMLibrary.tlb /codebase
If Regasm is not available, you can verify if the following folder exists and add the folder into your PATH. The folder may be different depending on your version of .NET.
C:\Windows\Microsoft.NET\Framework\v4.0.30319\
3. Launch PowerBuilder and create a new Template Application in the Target tab.
4. You can select “SDI application” as the "Application Type" and “None” in Connectivity Options” to create a sample application.
5. Click on w_genapp_main when the application is created. From the Menu select "Insert->Control->CommandButton" and rename the button to "QR Code". Next, insert a TextEdit control and layout the components as shown in the screenshot below.
Select the TextEdit control, change the Font to CCodeQR (or CCodeQR_Trial) and the Font Size to 8 to fit the barcode nicely on the TextEdit control. The output generated by the QRCodeCOMLibrary will be placed in the TextEdit control and displayed as a barcode with the CCodeQR True Type font.
6. Next, double click on the button and add the following script:
OLEObject barcode int return_code barcode = CREATE OLEObject return_code=barcode.ConnectToNewObject("Net.ConnectCode.QRCodeCOMLibrary") if return_code<>0 then destroy barcode messagebox ("Error","QRCodeCOMLibrary not available") else string result string input="12345678" result=barcode.Encode_QRCode(input,"L",8) rte_1.replaceText(result) destroy barcode end if
In the source code above, an OLE object is created with the QRCodeCOMLibrary. The "Encode_QRCode" method is used to generate the barcode.
Error Correction Level: "L" ("L", "M", "Q" or "H")
L - Allows recovery of up to 7% data loss
M - Allows recovery of up to 15% data loss
Q - Allows recovery of up to 25% data loss
H - Allows recovery of up to 30% data loss
Mask: 8 (0 to 7 or 8 for Auto)
7. Run the application by going to the menu and select “Run->Select and Run”. Click on the "QR Code" button and see that you get the QR Code barcode output in the TextEdit control. If you get an error message saying that "QRCodeCOMLibrary is not available", check that you have carried step 2 successfully.