PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil â†’ WINDEV Mobile 2024 â†’ Affichage le code barre
Affichage le code barre
Débuté par NEA, 24 juil. 2017 15:28 - 17 réponses
Membre enregistré
25 messages
Popularité : +1 (1 vote)
Posté le 24 juillet 2017 - 15:28
Bonjour!

comment je peux afficher le code barre dans mon application android?
Membre enregistré
151 messages
Popularité : +7 (7 votes)
Posté le 24 juillet 2017 - 16:53
Bonjour,

avec un champ de type "Code-barres" peut-être ?
Membre enregistré
25 messages
Popularité : +1 (1 vote)
Posté le 24 juillet 2017 - 18:08
oui, je l'ai utilisé, mais il n'est pas disponible pour android - c'est indiqué dans aide https://doc.pcsoft.fr/fr-FR/?1013109&name=champ_codebarres

par contre ici https://doc.pcsoft.fr/fr-FR/?1000019451 il ya un example pour android avec le champ code barre...

De toutes façons, je l'ai outilisé, mais le code (EAN13) s'affiche incorrect, car pour android "Options non supportées : "Avec vérification", "Taille proportionnelle" et "Valeur du code-barres visible"."

j'ai pensé générer un image à partir d'une variable CodeBarre et après l'afficher dans le champ image, mais je sais pas comment...
Message modifié, 24 juillet 2017 - 18:24
Membre enregistré
25 messages
Popularité : +1 (1 vote)
Posté le 24 juillet 2017 - 19:08
MonEANCode est un CodeBarres
MonEANCode..TypeContenu = cbTypeTexte
MonEANCode..TypeCodeBarres = CB_EAN13
MonEANCode..Contenu = "978020137962"
// Affectation à un champ Code-barres
CBA_SansNom1 = MonEANCode


dans CBA_SansNom1 le code barre s'affiche incorrect

et si je fais
IMG_SansNom1 = dSauveImagePNG(CBA_SansNom1,enMémoire)


sur l'ordi (simulateur) ça marche
mais sur portable ne marche pas -> Commande invalide pour le champ CBA_SansNom1 car ce n'est pas un champ image
Message modifié, 24 juillet 2017 - 19:10
Membre enregistré
151 messages
Popularité : +7 (7 votes)
Posté le 24 juillet 2017 - 20:29
Bizarre, il est pourtant indiqué :

Nouveauté 22
Android : Ce type de champ est désormais disponible pour les applications Android.

Vous voulez donc afficher le code barre dans une combo ?
Membre enregistré
25 messages
Popularité : +1 (1 vote)
Posté le 25 juillet 2017 - 09:45
Est ce que c'est possible avec une combo?
Membre enregistré
151 messages
Popularité : +7 (7 votes)
Posté le 25 juillet 2017 - 09:53
Désolé je me suis trompé, j'ai lu "CBO" au lieu de "CBA". :(

Je ne sais malheureusement pas comment enregistrer un champ code-barres en image.
Membre enregistré
25 messages
Popularité : +1 (1 vote)
Posté le 25 juillet 2017 - 14:18
Merci en tout cas !:)
:merci:
Membre enregistré
32 messages
Popularité : +10 (10 votes)
Posté le 31 juillet 2017 - 15:47
Bonjour,

Effectivement le champs codes-barres en Android ne permet pas d'afficher des codes EAN13.
J'ai pour ma part écrit une procédure qui dessine le code barre en fonction du code ean13 et du champ image qui doit le recevoir.
La lecture fonctionne parfaitement, même sur un écran.
Si cela vous intéresse je peux vous fournir le code de la procédure.

Cordialement

--
Laurent P
Membre enregistré
25 messages
Popularité : +1 (1 vote)
Posté le 02 août 2017 - 14:46
bonjour!
oui, SVP, ce sera génial!
Membre enregistré
32 messages
Popularité : +10 (10 votes)
Posté le 02 août 2017 - 16:37
Bonjour,

Voici l'appel de la procédure GenereImageCodeEAN13:
GenereImageCodeEAN13(sCodeArticle,IMG_Vignette..NomComplet)


Et la procédure:

Procedure GenereImageCodeEAN13(sCodeArt est une chaîne, sChampImage est une chaîne)

i est un entier
nX1 est un entier = 10
nY1 est un entier = 10
nX2 est un entier = 10
nY2 est une entier = 70
nPas est un entier = 2

taStruct est un tableau associatif de chaînes

dDébutDessin({sChampImage,indChamp})

ta_A[0] = "0001101"
ta_A[1] = "0011001"
ta_A[2] = "0010011"
ta_A[3] = "0111101"
ta_A[4] = "0100011"
ta_A[5] = "0110001"
ta_A[6] = "0101111"
ta_A[7] = "0111011"
ta_A[8] = "0110111"
ta_A[9] = "0001011"

ta_B[0] = "0100111"
ta_B[1] = "0110011"
ta_B[2] = "0011011"
ta_B[3] = "0100001"
ta_B[4] = "0011101"
ta_B[5] = "0111001"
ta_B[6] = "0000101"
ta_B[7] = "0010001"
ta_B[8] = "0001001"
ta_B[9] = "0010111"

ta_C[0] = "1110010"
ta_C[1] = "1100110"
ta_C[2] = "1101100"
ta_C[3] = "1000010"
ta_C[4] = "1011100"
ta_C[5] = "1001110"
ta_C[6] = "1010000"
ta_C[7] = "1000100"
ta_C[8] = "1001000"
ta_C[9] = "1110100"

taStruct[0] = "AAAAAA"
taStruct[1] = "AABABB"
taStruct[2] = "AABBAB"
taStruct[3] = "AABBBA"
taStruct[4] = "ABAABB"
taStruct[5] = "ABBAAB"
taStruct[6] = "ABBBAA"
taStruct[7] = "ABABAB"
taStruct[8] = "ABABBA"
taStruct[9] = "ABBABA"

sVal est une chaîne
nChiffre est un entier
nDebut est un entier

nDebut = sCodeArt[[1]]
sStruct est une chaîne

sStruct = taStruct[nDebut]
sTableau est une chaîne

dTexte(nX1 -10 ,nY2 ,nDebut,Noir)

dLigne(nX1,nY1,nX2,nY2+10,Noir,nPas)
nX1 += nPas
nX2 += nPas
dLigne(nX1,nY1,nX2,nY2+10,Blanc,nPas)
nX1 += nPas
nX2 += nPas
dLigne(nX1,nY1,nX2,nY2+10,Noir,nPas)
nX1 += nPas
nX2 += nPas


POUR i = 2 A 7
nChiffre = sCodeArt[[i]]
dTexte(nX1,nY2 ,nChiffre,Noir)
sTableau = "ta_" + sStruct[[i-1]]
sVal = {sTableau,indVariable}[nChiffre]
POUR n = 1 A 7
SI sVal[[n]] = "1" ALORS
dLigne(nX1,nY1,nX2,nY2,Noir,nPas)
nX1 += nPas
nX2 += nPas
SINON
dLigne(nX1,nY1,nX2,nY2,Blanc,nPas)
nX1 += nPas
nX2 += nPas
FIN
FIN

FIN

dLigne(nX1,nY1,nX2,nY2+10,Blanc,nPas)
nX1 += nPas
nX2 += nPas
dLigne(nX1,nY1,nX2,nY2+10,Noir,nPas)
nX1 += nPas
nX2 += nPas
dLigne(nX1,nY1,nX2,nY2+10,Blanc,nPas)
nX1 += nPas
nX2 += nPas
dLigne(nX1,nY1,nX2,nY2+10,Noir,nPas)
nX1 += nPas
nX2 += nPas
dLigne(nX1,nY1,nX2,nY2+10,Blanc,nPas)
nX1 += nPas
nX2 += nPas

POUR i = 8 A 13
nChiffre = sCodeArt[[i]]
dTexte(nX1,nY2 ,nChiffre,Noir)
sVal = ta_C[nChiffre]
POUR n = 1 A 7
SI sVal[[n]] = "1" ALORS
dLigne(nX1,nY1,nX2,nY2,Noir,nPas)
nX1 += nPas
nX2 += nPas
SINON
dLigne(nX1,nY1,nX2,nY2,Blanc,nPas)
nX1 += nPas
nX2 += nPas
FIN
FIN

FIN

dLigne(nX1,nY1,nX2,nY2+10,Blanc,nPas)
nX1 += nPas
nX2 += nPas
dLigne(nX1,nY1,nX2,nY2+10,Noir,nPas)
nX1 += nPas
nX2 += nPas
dLigne(nX1,nY1,nX2,nY2+10,Blanc,nPas)
nX1 += nPas
nX2 += nPas
dLigne(nX1,nY1,nX2,nY2+10,Noir,nPas)


--
Laurent P
Membre enregistré
25 messages
Popularité : +1 (1 vote)
Posté le 10 août 2017 - 10:19
Merci beaucoup!!!!!:merci:
Posté le 12 avril 2018 - 13:50
Bonjour M Laurent

Comment je peux adapter ton code pour generer l'image QR Code.

J'ai essayé ta procedure pour le code EAN et cela passe a merveille,j'ai besoin de le faire en QR Code

Merci d'avance
Membre enregistré
32 messages
Popularité : +10 (10 votes)
Posté le 12 avril 2018 - 16:53
Bonjour,
A mon avis pour un QR code le plus simple est de développer un webservice pour effectuer le traitement et renvoyer une image...

Bon dév

--
Laurent P
Membre enregistré
12 messages
Posté le 22 avril 2019 - 18:49
Laurent PERETTO
ta_A ta_B ne sont pas declaré est ce qu'il sont de structure ou koi

--
unlocker
Membre enregistré
12 messages
Posté le 22 avril 2019 - 19:35
le probleme quand je done chaine <13 caractere elle me donne faute valeur
Membre enregistré
32 messages
Popularité : +10 (10 votes)
Posté le 29 avril 2019 - 09:15
Bonjour,

Oui désolé, elles sont globales à la fenêtre et n'apparaissaient pas dans la portion de code:
ta_A est un tableau associatif de chaînes
ta_B est un tableau associatif de chaînes

Bon dév

--
Laurent P
Membre enregistré
32 messages
Popularité : +10 (10 votes)
Posté le 29 avril 2019 - 09:18
Maher_unlocker a écrit :
> le probleme quand je done chaine <13 caractere elle me donne faute valeur
Bonjour,
Effectivement dans ma procédure seuls les EAN13 (avec 13 caractères) sont pris en compte, ce qui correspond à mon propre cas d'utilisation.

--
Laurent P