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.

01

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.

Configuration PowerScript Complète
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
02

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.

03

É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