Intégration des codes-barres PowerBuilder
Le guide définitif pour le traitement local via DLL, l'intégration d'API Cloud et le rendu par polices DataWindow.
Intégration locale de DLL .NET Core
L'utilisation de DotNetObject vous permet d'exécuter une logique d'encodage de codes-barres complexe directement sur la machine cliente, sans latence réseau. C'est la solution idéale pour les codes 2D comme le QR Code, l'Aztec et le DataMatrix.
DotNetAssembly lnv_Asm
DotNetObject lnv_Encoder
Long ll_ret
lnv_Asm = Create DotNetAssembly
// Assurez-vous que le Runtime .NET est installé
ll_ret = lnv_Asm.LoadWithDotNetCore("cruflbcsnet.dll")
IF ll_ret = 1 THEN
lnv_Encoder = lnv_Asm.CreateInstance("Barcodesoft.Encoder")
// Encode retourne une chaîne formatée pour la police BCS
ls_barcode_data = lnv_Encoder.Encode(ls_input)
dw_1.SetItem(row, "barcode_col", ls_barcode_data)
ELSE
MessageBox("Erreur", "Échec du chargement de la DLL .NET. Vérifiez le Runtime.")
END IF
API REST Cloud (Configuration sans code)
Pour les déploiements sans empreinte locale, utilisez l'API REST. Le DataWindow de PowerBuilder gère cela via l'expression Bitmap().
Expression pour le champ calculé :
Bitmap("https://www.barcodesoft.com/barcode/qrcode/token=VOTRE_TOKEN&text=" + id_field + "&format=png")
Astuce : Utilisez un format PNG de petite taille pour réduire le temps de récupération du DataWindow.
Étapes de conception du DataWindow
Pour garantir que le code-barres est scanné correctement, suivez ces ajustements d'interface dans le DataWindow Painter :
- Sélection de la police : Définissez la police de la colonne sur la police spécifique du code-barres (ex:
BCSQRcode). - Anti-crénelage : Désactivez le lissage "TrueType" dans les paramètres de police Windows si le code-barres semble flou.
- Taille de la colonne : Assurez-vous que la colonne est assez large pour éviter le rognage, ce qui rendrait le code-barres illisible.
- Hauteur automatique (Autosize Height) : Activez cette propriété si la quantité de données encodées varie de manière significative.
Choisir votre méthode
| Caractéristique | DLL .NET | API REST |
|---|---|---|
| Internet Requis | Non | Oui |
| Performance par lots | Haute (Instantané) | Moyenne (Latence réseau) |
| Facilité de configuration | Nécessite le Runtime | Prêt à l'emploi |