PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → PROBLEME DE LECTURE AVEC CARTE NFC MIFEAR 1K/4k
PROBLEME DE LECTURE AVEC CARTE NFC MIFEAR 1K/4k
Débuté par ANDRE, 03 juin 2021 16:50 - 3 réponses
Posté le 03 juin 2021 - 16:50
Bonjour à Tous,

Je rencontre un problème de lecture NFCLitTag() sur les cartes NFC type MIFEAR 1K/4K.
Je réussis à lire l'identifiant de la carte mais pas son contenu voici le code de lecture ci joint :

SI NFCEtat = nfcActivé ALORS
ToastAffiche("NFC ACTIVE")
LECTURECARTENFC()
SINON
ToastAffiche("La fonction NFC est déactivée "+RC+"Veuillez l'activer ....",toastLong,cvMilieu,chCentre)
FIN

PROCÉDURE LECTURECARTENFC()

<COMPILE SI Configuration = "Archive Java" OU TypeConfiguration = Android>
tag = NFCLitTag()
sIdcarte est une chaîne = ChaîneFormate(BufferVersHexa(tag..Identifiant),ccMajuscule + ccSansPonctuationNiEspace)
Info(ChaîneConstruit("Tag NFC de type %1 détecté.", tag..Type))
Info("Valeur trouvée : ",sIdcarte )

tableauTag est un tableau de chaînes
I = 1
//Info("valeur de i",I)
POUR TOUTE donnée DE tag..Donnée
Info(ChaîneConstruit("Tag NFC de type %1 détecté.", tag..Donnée))
SI donnée..Type =nfcTexte
tableauTag[I] = donnée..Contenu
I++
Info(donnée..Contenu)
//Info("valeur de i",I)
FIN
sNom est une chaîne = tableauTag[1]
sXSomme est une chaîne = tableauTag[2]
Info(tableauTag)
FIN
<FIN>


RENVOYER Vrai

Merci pour l'info et l'aide

André.
Posté le 03 juin 2021 - 17:43
Peut être utiliser un tableau de variants au lieu d'un tableau de chaines.
Posté le 04 juin 2021 - 09:41
Bonjour
J'ai également rencontré des pb avec les cartes. La majorité n'est pas reconnue. Ces cartes, ce n'est pas évident qu'elles soient toutes vraiment opérationnelles.

////*************
Pour écrire

tag est un nfcTag
txt est une nfcDonnée
txt..Type=nfcTexte
txt..Contenu=SC_GraverNFC.LIB_LectureNFC
// Ajout de la donnée dans le tag
Ajoute( tag..Donnée, txt )
// Écriture NFC
NFCEcritTag( tag )
SI ErreurDétectée ALORS
Erreur( "Échec de l’écriture sur le tag NFC. ", ErreurInfo() )
SINON
// ToastAffiche( "Écriture NFC réalisée avec succès."+RC+SC_GraverNFC.LIB_LectureNFC)
FIN
////*************

//////////////////////****
pour lire
// Lecture d’ un tag NFC en mode bloquant
tag est un nfcTag
tag = NFCLitTag()
SI PAS ErreurDétectée ALORS
// InfoConstruit( "Lecture d’un tag NFC de type %1", tag..Type )
POUR TOUTE donnée DE tag.Donnée
SELON donnée..Type
CAS nfcURI
//ToastAffiche( "Cas URL non traité" ,toastCourt,cvBas,chCentre)
//
SC_Lecture_NFC.SAI_xxxxx=""
CAS nfcTexte
SC_Lecture_NFC.SAI_xxxxx= donnée..Contenu
SC_Lecture_NFC.LIB_LectureNFC = donnée..Contenu
//
gsLeContenuNFC= donnée..Contenu // pour reporter le contenu lu sur NFC
//
AUTRES CAS
//ToastAffiche( "Cas non traité" ,toastCourt,cvBas,chCentre)
//
SC_Lecture_NFC.SAI_xxxxx=""
SC_Lecture_NFC.LIB_LectureNFC=""
FIN
FIN
FIN
SI ErreurDétectée ALORS
Erreur( "Échec de LECTURE sur le Tag NFC. ", ErreurInfo() )
SC_Lecture_NFC.SAI_xxxxx=""
SC_Lecture_NFC.LIB_LectureNFC=""
SINON
ToastAffiche( "Lecture NFC réalisée avec succès." )
FIN
//////////////////////****
Voilà les codages qui fonctionnent très bien chez moi
j'utilise des 'tags' distribués par
https://www.shopnfc.com/fr/48-tags-nfc-industriels
Posté le 04 juin 2021 - 12:14
Merci de votre réponse je fais le test et vous tiens informé
ANDRE