PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV Mobile 2024 → Affichage le code barre
Affichage le code barre
Iniciado por NEA, jul., 24 2017 3:28 PM - 17 respostas
Membro registado
25 mensagems
Popularité : +1 (1 vote)
Publicado em julho, 24 2017 - 3:28 PM
Bonjour!

comment je peux afficher le code barre dans mon application android?
Membro registado
151 mensagems
Popularité : +7 (7 votes)
Publicado em julho, 24 2017 - 4:53 PM
Bonjour,

avec un champ de type "Code-barres" peut-être ?
Membro registado
25 mensagems
Popularité : +1 (1 vote)
Publicado em julho, 24 2017 - 6:08 PM
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...
Mensagem modificada, julho, 24 2017 - 6:24 PM
Membro registado
25 mensagems
Popularité : +1 (1 vote)
Publicado em julho, 24 2017 - 7:08 PM
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
Mensagem modificada, julho, 24 2017 - 7:10 PM
Membro registado
151 mensagems
Popularité : +7 (7 votes)
Publicado em julho, 24 2017 - 8:29 PM
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 ?
Membro registado
25 mensagems
Popularité : +1 (1 vote)
Publicado em julho, 25 2017 - 9:45 AM
Est ce que c'est possible avec une combo?
Membro registado
151 mensagems
Popularité : +7 (7 votes)
Publicado em julho, 25 2017 - 9:53 AM
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.
Membro registado
25 mensagems
Popularité : +1 (1 vote)
Publicado em julho, 25 2017 - 2:18 PM
Merci en tout cas !:)
:merci:
Membro registado
32 mensagems
Popularité : +10 (10 votes)
Publicado em julho, 31 2017 - 3:47 PM
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
Membro registado
25 mensagems
Popularité : +1 (1 vote)
Publicado em agosto, 02 2017 - 2:46 PM
bonjour!
oui, SVP, ce sera génial!
Membro registado
32 mensagems
Popularité : +10 (10 votes)
Publicado em agosto, 02 2017 - 4:37 PM
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
Membro registado
25 mensagems
Popularité : +1 (1 vote)
Publicado em agosto, 10 2017 - 10:19 AM
Merci beaucoup!!!!!:merci:
Publicado em abril, 12 2018 - 1:50 PM
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
Membro registado
32 mensagems
Popularité : +10 (10 votes)
Publicado em abril, 12 2018 - 4:53 PM
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
Membro registado
12 mensagems
Publicado em abril, 22 2019 - 6:49 PM
Laurent PERETTO
ta_A ta_B ne sont pas declaré est ce qu'il sont de structure ou koi

--
unlocker
Membro registado
12 mensagems
Publicado em abril, 22 2019 - 7:35 PM
le probleme quand je done chaine <13 caractere elle me donne faute valeur
Membro registado
32 mensagems
Popularité : +10 (10 votes)
Publicado em abril, 29 2019 - 9:15 AM
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
Membro registado
32 mensagems
Popularité : +10 (10 votes)
Publicado em abril, 29 2019 - 9:18 AM
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