|
| Code C# vers code windev pour lecteur RFID |
| Iniciado por Telix13, out., 29 2015 5:39 PM - 7 respostas |
| |
| | | |
|
| |
Membro registado 90 mensagems |
|
| Publicado em outubro, 29 2015 - 5:39 PM |
Bonjour tout le monde
je cherche à communiquer avec un lecteur RFID en SDK standard statique, j'arrive à connecter le lecteur , mais comment brancher un événement pour récupérer juste le ID de la carte ( 13 caractères ), à chaque passage du badge. voici du code qui a permet seulement la connexion. nb: j'ai utilisé WDapi outils, convertit pas le C# Code : ZKEM1 est un objet Automation "zkemkeeper.ZKEM" sIpAd est une chaîne = "192.168.0.10" nIMachineNumber est un entier=2 bIsConnected , bGetenvt sont des booléens bIsConnected=ZKEM1>>Connect_Net(sIpAd,4370)
SI bIsConnected ALORS ZKEM1>>EnableDevice(2, True) //ZKEM1>>RegEvent(2, 65535) info("Connexion établie") SINON Info("erreur de connexion au lecteur",HErreurInfo(hErrComplet)) FIN
Voici les fonctions en C# où se trouverait la clé peut-être, mais j'ai un souci de typage de paramètres.
//ZKEM1>>RefreshData(2) //ZKEM1>>ReadAllGLogData(2) //ZKEM1>>ReadRTLog(2) //ZKEM1>>GetProductCode(2,& sChaine) //bGetenvt=ZKEM1>>GetRTvent(2,65535) //bGetenvt=ZKEM1>>GetHIDEventCardNumAsStr(sChaine) //GetStrCardnumber //bGetenvt=ZKEM1>>Regevent(2,65535)
merci pour le coup de main . |
| |
| |
| | | |
|
| | |
| |
Membro registado 90 mensagems |
|
| Publicado em novembro, 08 2015 - 6:35 PM |
Bonjour tout le monde.
pour rappel, je développe une application de gestion de contrôle d'accès, ( pour obtenir juste l'id d'une carte RFID)
les méthodes ci-après fonctionnent toutes. bIsConnected=ZKEM1>>Connect_Net(sIpAd+Caract(0),(4370)) SI bIsConnected ALORS ZKEM1>>EnableDevice(2, True) // ok ZKEM1>>RegEvent(2,2048) // ok ce code correspond à l'événement OnHIDNum bGetenvt=ZKEM1>>ReadRTLog(2) // ok bGetenvt=ZKEM1>>GetRTLog(2) // ok fin //
mais je n'arrive pas à traduire correctement ce code C# qui récupère "je crois " l'id de la carte.
//When you swipe a card to the device, this event will be triggered to show you the card number.( SDK du fabricant) private void axCZKEM1_OnHIDNum(int iCardNumber) { lbRTShow.Items.Add("RTEvent OnHIDNum Has been Triggered..."); lbRTShow.Items.Add("...Cardnumber=" + iCardNumber.ToString()); }
merci à chacun pour vos coups de pouce. |
| |
| |
| | | |
|
| | |
| |
Membro registado 240 mensagems |
|
| Publicado em novembro, 09 2015 - 1:37 PM |
J'avais fait un exemple pour le traitement des événements, avec le même SDK. http://vincent-lecomte.blogspot.be/2015/03/wd19-safescan-ta-855-et-les-evenements.html
En gros, il faut créer une procédure Windev avec le bon type de paramètre (voir "conversions de types"), puis créer l'événement associé qui la déclenchera lorsqu'il sera intercepté. Tu pourras alors afficher le paramètre puisqu'il sera dans un type compris par WD.
-- Vincent |
| |
| |
| | | |
|
| | |
| |
Membro registado 90 mensagems |
|
| Publicado em novembro, 10 2015 - 4:01 PM |
Bonjour à tous
Je te remercie Vincent pour ton précieux article, qui a débloqué la situation.
juste quelque soucis si tu permets l’événement OnHidNum qui donne 8852624 au lieu de : 0008852624 125.05264 . aussi je n'arrive à envoyer un bip et lumière verte au lecteur. j'ai essayé avec: Objet>>Beep(100) sans réaction. et en fin pour gérer 06 lecteurs est-ce que il faut déclarer 06 objets automation.
Merci ! |
| |
| |
| | | |
|
| | |
| |
Membro registado 90 mensagems |
|
| Publicado em novembro, 12 2015 - 3:50 PM |
bonjour à tous!
Nous sommes toujours bloqués par ce gros problème avec l’événement OnHIDNumber .
0008852624 125.05264 on a 8852624 6691150400590 on a 11799476 0339305932171 on a 3515787
voici le code : AutomationEvénement("proc_OnConnected",ZKEM1,"OnConnected") AutomationEvénement("proc_OnDisConnected",ZKEM1,"OnDisConnected") AutomationEvénement("proc_OnAttTransaction",ZKEM1,"OnAttTransaction") AutomationEvénement("proc_OnHIDNum",ZKEM1,"OnHIDNum")
PROCEDURE proc_OnHIDNum(sChaine) Trace(sChaine)
Merci d'avance . |
| |
| |
| | | |
|
| | |
| |
| Publicado em novembro, 15 2015 - 8:01 AM |
bonjour
je suis toujours bloqué , et je n'arrive pas à récupérer le n° de la carte.
PROCEDURE proc_OnHIDNum(sChaine est une chaine ) //meme chose pour chaine unicode Trace(sChaine) ************************************************************** message d'erreur************************** Le passage du paramètre 1 a provoqué une erreur. Un élément de type 'vide' ne peut pas être converti vers le type 'chaîne ANSI'.
----- Informations techniques ----- Que s'est-il passé ? Le passage du paramètre 1 a provoqué une erreur. Un élément de type 'vide' ne peut pas être converti vers le type 'chaîne ANSI'. Code erreur : 1021 Niveau : erreur fatale (EL_FATAL) Dump de l'erreur du module 'wd200vm.dll' (20.0.504.0). Identifiant des informations détaillées (.err) : 1021 Informations de débogage : UEL = 68 Erreur hors execution Assistance |
| |
| |
| | | |
|
| | |
| |
Membro registado 90 mensagems |
|
| Publicado em novembro, 16 2015 - 12:03 AM |
bonjour! Après avoir manipuler plusieurs badge sur 02 applications de la marque , je constate que l'ID est bel et bien enregistré avec le format court,donc mon code(windev) fonctionne correctement. mais comment est réalisée la conversion.
réel: 1- 0008852624125 affiche: 8852624 hexs // 00 00 00 02 0F A8 53 07 - 00 87 14 90 2- 6691150400590 affiche: 11799476 00 00 06 15 E7 A4 8C 4E - 00 b4 0b b4 3- 0339305932171 affiche: 3515787 00 00 00 4F 00 35 A5 8B - 00 35 A5 8B 4- 0339305908418 affiche: 3492034 00 00 00 4F 00 35 48 C2 - 00 35 48 C2 si tous les badges étaient codés comme le cas n°1 , le problème ne se poserait plus.
appel à l’expérience de de tous et merci. |
| |
| |
| | | |
|
| | |
| |
| Publicado em janeiro, 26 2024 - 2:29 PM |
Bonjour. Dans l'événement onhid, si le numéro de carte est enregistré sur l'appareil, il n'est pas renvoyé. S'il n'est pas enregistré, il est renvoyé sous la forme 0. Sur les anciens appareils, il renvoie le numéro de carte. Comment puis-je résoudre ce problème ? Merci . |
| |
| |
| | | |
|
| | | | |
| | |
|