[RESOLU] créer et imprimer un code barre

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
omega
Messages : 633
Inscription : sam. 26/nov./2011 13:04
Localisation : Alger

[RESOLU] créer et imprimer un code barre

Message par omega »

Bonjour,

1. Je voudrais savoir comment créer un code barre à partir d'un n° de sécurité sociale
2. Comment imprimer le code barre créé?

Merci
Dernière modification par omega le sam. 12/août/2017 0:55, modifié 1 fois.
Win7 (x64) 64 bits Pb 5.72
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: créer et imprimer un code barre

Message par microdevweb »

Bonjour fais une recherche sur le forum Anglais, je penses qu'il existe une Dll

ICI peut'être
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: créer et imprimer un code barre

Message par falsam »

Une autre piste qui demande une connexion internet.

Très bon résultat que j'ai pu testé. Sélectionner Barcode Code 128 (C'est le plus répandu)

http://www.purebasic.fr/english/viewtop ... 12&t=66727
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: créer et imprimer un code barre

Message par falsam »

omega a écrit : .... partir d'un n° de sécurité sociale
Ces deux sujets de TI-994A pourraient aussi t’intéresser.

■ Simple UPC-A BarcodeGadget()
http://www.purebasic.fr/english/viewtop ... 12&t=68390

■ Simple Code-39 BarcodeGadget()
http://www.purebasic.fr/english/viewtop ... 12&t=68393

Pas de DLL ni besoin de se connecter à internet.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: créer et imprimer un code barre

Message par falsam »

Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
omega
Messages : 633
Inscription : sam. 26/nov./2011 13:04
Localisation : Alger

Re: créer et imprimer un code barre

Message par omega »

Malheureusement, l'exemple de TI-994A n'a pas marché à mon niveau.
Existe t il une façon plus simple de pouvoir imprimer un code barre à partir d'un Nombre saisi?
Il s'agit d'une procédure q<ui ne fait que convertir l'information saisie en codes barres (et les afficher bien sûr)
J'ai cherché partout même dans google mais rien aucun code n'est proposé à part
un seul code proposé par PcSoft bien détaillé mais dommage, j'ai décidé il y a longtemps d'abandonner Windev à cause de ses exigences exagérées et inutiles...

Merci encore
Win7 (x64) 64 bits Pb 5.72
Avatar de l’utilisateur
omega
Messages : 633
Inscription : sam. 26/nov./2011 13:04
Localisation : Alger

Re: créer et imprimer un code barre

Message par omega »

Le code proposé en windev :
https://doc.pcsoft.fr/?1000019597

Voici un autre code proposé en (je ne sais quel langage) :

Code : Tout sélectionner

Code public fonctionnel128 $ (chaine $)
  'V 2.0.0
  'Parametres: une chaine
  'Paramètres: une chaîne
  'Retour: * une chaine qui, affichee avec la police CODE128.TTF, donne le code barre
  '* Une chaine vide si parametre fourni incorrect
  'Retour: * une chaîne qui donne le code à barres lorsqu'il est dispersé avec la police CODE128.TTF
  '* Une chaîne vide si le paramètre fourni n'est pas bon
  Dim i%, checksum &, mini%, dummy%, tableB en tant que booléen
  Code128 $ = ""
  Si Len (chaine $)> 0 Then
  'Verifier si valides de caractères
  'Vérifiez les caractères valides
    Pour i% = 1 À Len (chaine $)
      Sélectionnez Case Asc (Mid $ (chaine $, i%, 1))
      Affaire 32 à 126, 203
      Autre cas
        I% = 0
        Sortie pour
      Fin de sélection
    Prochain
    'Calculer la chaine de code en optimisant l'utilisation des tables B et C
    'Calcul de la chaîne de code avec une utilisation optimisée des tableaux B et C
    Code128 $ = ""
    TableB = Vrai
    Si i%> 0 Then
      I% = 1 'i% devient l'index sur la chaine / i% devient l'indice de chaîne
      Do While i% <= Len (chaine $)
        Si tableB Ensuite
          'Voir si interessant de passer en table C / Voir si intéressant de passer à la table C
          'Oui pour 4 chiffres au debut ou à la fin, sinon pour 6 chiffres / oui pour 4 chiffres au début ou à la fin, sinon si 6 chiffres
          Mini% = IIf (i% = 1 Ou i% + 3 = Len (chaine $), 4, 6)
          GoSub testnum
          Si mini% <0 puis 'Choix table C / Choix du tableau C
            Si i% = 1 Puis 'Debuter sur table C / À partir du tableau C
              Code128 $ = Chr $ (210)
            Else 'Commuter sur table C / Passer à la table C
              Code128 $ = Code128 $ & Chr $ (204)
            Fin si
            TableB = False
          Autre
            Si i% = 1 puis Code128 $ = Chr $ (209) 'Debuter sur table B / À partir de la table B
          Fin si
        Fin si
        Si non tableB Ensuite
          'On est sur la table C, essayer de traiter 2 chiffres / Nous sommes sur le tableau C, essayer de traiter 2 chiffres
          Mini% = 2
          GoSub testnum
          Si mini% <0 Ensuite, OK pour 2 chiffres, traiter / OK pour 2 chiffres, le traiter
            Faible% = Val (Mid $ (chaine $, i%, 2))
            Faible% = IIf (% fictif <95, Faible% + 32, Faible% + 105)
            Code128 $ = Code128 $ & Chr $ (% factice)
            I% = i% + 2
          Else 'On n'a pas 2 chiffres, repasser en table B / Nous n'avons pas 2 chiffres, passer à la table B
            Code128 $ = Code128 $ & Chr $ (205)
            TableB = Vrai
          Fin si
        Fin si
        Si tableB Ensuite
          'Traiter 1 caractériser en table B / Processer 1 chiffre avec table B
          Code128 $ = Code128 $ et mi $ (chaine $, i%, 1)
          I% = i% + 1
        Fin si
      Boucle
      'Calcul de la cle de contrôle / Calcul de la somme de contrôle
      Pour i% = 1 à Len (Code128 $)
        Faible% = Asc (Moyenne $ (Code128 $, i%, 1))
        Faux% = IIf (% fictif <127,% fictif - 32, faux% - 105)
        Si i% = 1 Puis checksum & = factice%
        Checksum & = (checksum & + (i% - 1) * factice%) Mod 103
      Prochain
      'Calcul du code ASCII de la cle / Calcul de la somme de contrôle Code ASCII
      Checksum & = IIf (checksum & <95, checksum & + 32, checksum & + 105)
      'Ajout de la cle et du STOP / Ajouter la somme de contrôle et le STOP
      Code128 $ = Code128 $ & Chr $ (checksum &) & Chr $ (211)
    Fin si
  Fin si
  Fonction de sortie
Testnum:
  'Si les mini% caracteres à partir de i% sont numeriques, alors mini% = 0
  'Si les mini% de caractères de i% sont numériques, alors mini% = 0
  Mini% = mini% - 1
  Si i% + mini% <= Len (chaine $) Ensuite
    Do While mini%> = 0
      Si Asc (Mid $ (chaine $, i% + mini%, 1)) <48 Or Asc (Mid $ (chaine $, i% + mini%, 1))> 57 Then Exit Do
      Mini% = mini% - 1
    Boucle
  Fin si
Revenir
Fonction de fin 


J'avoue que je ne comprends rien dans ce code ! J'ai beau essayé de traduire chaque ligne en PB mais sans succès !

Voici le lien de ce code:
http://grandzebu.net/informatique/codbar-en/code128.htm
Win7 (x64) 64 bits Pb 5.72
Avatar de l’utilisateur
case
Messages : 1546
Inscription : lun. 10/sept./2007 11:13

Re: créer et imprimer un code barre

Message par case »

j'avais fait un truc il y a quelques années pour imprimer des codes barres ca marchait pas mal mais je n'ai plus le code
ImageImage
Répondre