MerciBonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
Je suis entrain de voir ce lien
Bonjour
Pour la première fois que j'essaie de branché une pointeuse avec mon application de pointage, donc je n'ai pas assez d'expérience.
J'ai branché mon pointeuse ZKTeco par câble RJ45 via un router, mais je ne trouve que l'objet "zkemkeeper.ZKEM" n'est pas installé dans mon système.
Est ce que j'utilise le même objet pour mon pointeuse, si oui comment l'ajouter ?
Merci
-
Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !Rejeter la notice
AIDE Fichier texte d'une pointeuse
Discussion dans 'Résolution problème & conseils' créé par Mohamed, Sept 27, 2018.
Page 1 sur 6
J'ai pas trouvé le setup pour installer le sdk ?
Bonjour TLM
il te faut le sdk, pour fait une recherche sur google.
salutations
Oui , j'ai trouvé le site de téléchargement mais il est bloqué
lien :Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
Cliquez pour agrandir...

Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
Ce lien que tu a trouvé semble "bidon" ...
Essayes celui là :
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
PS : j'ai juste trouvé l'adresse, je n'ai pas essayé de télécharger

Comme ton client a le matériel, tu pourrais lui demander de faire une demande au service client.
C'est juste une idée.
MerciBonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
pour le lien
Je l'ai déjà trouvé, mais ca marche le sdk que j'ai telechargé, je ne sais pas pourquoi!
joker apprécie ceci.
Bonjour,
Pour installer les fichier du SDK
Voici le lien qui te manque
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
Pour enregistrer les DLLs utilise le fichier : Register_SDK
et le fichier : Delete_SDK dans le cas contraire.
Pour plus de détails, je suis tout à vous.
lokmaneHam, commando1, RayMM et 1 autre personne aiment ça.
MerciBonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
J'ai résolu mon souci par une installation "ZKTimeNet3.0" lors j'ai fini l'installe, je clic sur connecte est ca marche.
Mon problème, actuellement comment je lié les emprunts de chaque employé existant dans la pointeuse avec son matricule qui existe dans notre application ?
Merci de me donner une piste car je suis bloqué
Noter bien que j'ai utilise la méthode de lecture de pointage cité en haut par MonsieurBonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
Merci encore une fois
Bonjour @Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
Les fichiers que j'ai envoyés te permette d'installer le SDK sans avoir à installer ZKTimeNet3.0 complet sur le post de ton client.
Mon problème, actuellement comment je lié les emprunts de chaque employé existant dans la pointeuse avec son matricule qui existe dans notre application ?Cliquez pour agrandir...
Ce que je fais :
Le employé enregistrent leurs empruntes directement via la pointeuse.
-- Je récupère leurs empruntes et leurs infos à partir de la pointeuse par la procédure SSR_GetAllUserInfo
![[IMG]](http://snap.ashampoo.com/uploads/2018-09-29/ymGpJbZVcuxooTb2zlOiCqbEvkCe9UYXcAHmBCdeW2SFpTBjaqRCBSHW6K35AUUd.png)
Code (Windev):
PROCÉDURE SSR_GetAllUserInfo(sTable_Name est une chaîne)
SI ::b_Is_Connected ALORS
iMachineNumber est un entier=1
sdwEnrollNumber est une chaîne= ""
sName est une chaîne= ""
sPassword est une chaîne= ""
iPrivilege est un entier= 0
bEnabled est un booléen= False;
dwFingerIndex est un entier=0 // Indexof thefingerprint.The value ranges from 0 to 9.
sTmpData est une chaîne=""
nTmpLength est un entier
iFlag est un entier=1
nUserGrp est un entier=1
iCpt est un entier= 0
iLectureOK est un booléen=Faux
iMachineNumber=zKemKeeper>>MachineNumber()
zKemKeeper>>EnableDevice(iMachineNumber, False) // disable the device
//--------------------------------------------------------------------------------------//
zKemKeeper>>ReadAllUserID(iMachineNumber) //read all the user information to the memory
zKemKeeper>>ReadAllTemplate(iMachineNumber) //read all the users' fingerprint templates to the memory
iLectureOK=zKemKeeper>>SSR_GetAllUserInfo(iMachineNumber, sdwEnrollNumber,sName, sPassword, iPrivilege, bEnabled) //get all the users' information from the memory
TANTQUE iLectureOK=1
iCpt++
zKemKeeper>>GetUserGroup(iMachineNumber,sdwEnrollNumber,nUserGrp)
// zKemKeeper>>GetUserTmpStr(iMachineNumber,sdwEnrollNumber,dwFingerIndex,TmpData,TmpLength)
zKemKeeper>>GetUserTmpExStr(iMachineNumber,sdwEnrollNumber,dwFingerIndex,iFlag,sTmpData,nTmpLength)
iLectureOK=zKemKeeper>>SSR_GetAllUserInfo(iMachineNumber, sdwEnrollNumber,sName, sPassword, iPrivilege, bEnabled)
FIN
zKemKeeper>>EnableDevice(iMachineNumber, True) // enable the device
SINON
FIN
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(sTable_Name)SI ::b_Is_Connected ALORS
iMachineNumber est un entier=1
sdwEnrollNumber est une chaîne= ""
sName est une chaîne= ""
sPassword est une chaîne= ""
iPrivilege est un entier= 0
bEnabled est un booléen= False;
dwFingerIndex est un entier=0 // Indexof thefingerprint.The value ranges from 0 to 9.
sTmpData est une chaîne=""
nTmpLength est un entier
iFlag est un entier=1
nUserGrp est un entier=1
iCpt est un entier= 0
iLectureOK est un booléen=Faux
iMachineNumber=zKemKeeper>>MachineNumber()
zKemKeeper>>EnableDevice(iMachineNumber, False) // disable the device
//--------------------------------------------------------------------------------------//
zKemKeeper>>ReadAllUserID(iMachineNumber) //read all the user information to the memory
zKemKeeper>>ReadAllTemplate(iMachineNumber) //read all the users' fingerprint templates to the memory
iLectureOK=zKemKeeper>>SSR_GetAllUserInfo(iMachineNumber, sdwEnrollNumber,sName, sPassword, iPrivilege, bEnabled) //get all the users' information from the memory
TANTQUE iLectureOK=1
iCpt++
zKemKeeper>>GetUserGroup(iMachineNumber,sdwEnrollNumber,nUserGrp)
// zKemKeeper>>GetUserTmpStr(iMachineNumber,sdwEnrollNumber,dwFingerIndex,TmpData,TmpLength)
zKemKeeper>>GetUserTmpExStr(iMachineNumber,sdwEnrollNumber,dwFingerIndex,iFlag,sTmpData,nTmpLength)
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(sTable_Name,iCpt,iMachineNumber, sdwEnrollNumber,sName,dwFingerIndex,sTmpData,nTmpLength, sPassword, iPrivilege,nUserGrp,iFlag, bEnabled)iLectureOK=zKemKeeper>>SSR_GetAllUserInfo(iMachineNumber, sdwEnrollNumber,sName, sPassword, iPrivilege, bEnabled)
FIN
zKemKeeper>>EnableDevice(iMachineNumber, True) // enable the device
SINON
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
("Echec de la connexion.","Connectez la pointeuse SVP.")FIN
-- J'enregistre les infos récupérées dans la base de donnée de l'application et je peux les modifier (le nom le département... etc)
![[IMG]](http://snap.ashampoo.com/uploads/2018-09-29/Y4vYm47MR4hmFiOXLuOAwemXS7hhJfUdBl5oH22ZxdG7LvwxKFXBkEZ7dcfnhZQj.png)
Code (Windev):
PROCÉDURE SSR_SetUserInfo(sTable_Name est une chaîne)
SI ::b_Is_Connected _OU_
n_Cpt est un entier=0
iMachineNumber est un entier=zKemKeeper>>MachineNumber()
SI iMachineNumber=0 ALORS
iMachineNumber=1
FIN
sdwEnrollNumber est une chaîne= ""
sName est une chaîne= ""
sPassword est une chaîne = ""
iPrivilege_ID est un entier=0
sEnabled est une chaîne= ""
bEnabled est un booléen= Vrai
bSelected est un booléen= Faux
idwFingerIndex est un entier
sTmpData est une chaîne = ""
iflag est un entier
iUpdateFlag est un entier
idwErrorCode est un entier
n_Verified_ID est un entier=0
zKemKeeper>>EnableDevice(iMachineNumber, False) // disable the device
SI zKemKeeper>>BeginBatchUpdate(iMachineNumber, iUpdateFlag) ALORS // Create memory space for batching data
iLastEnrollNumber est un entier = 0 // the former enrollnumber you have upload(define original value as 0)
POUR i=1 _À_ {sTable_Name,indChamp}..
bSelected = {sTable_Name+".is_selected",indChamp}[i]
SI bSelected=1
n_Cpt++
iPrivilege_ID=0
sdwEnrollNumber = {sTable_Name+".id",indChamp}[i]
sName = {sTable_Name+".design",indChamp}[i]
// iPrivilege = {sTable_Name+".privilege",indChamp}[i]
iPrivilege_ID = {sTable_Name+".privilege_id",indChamp}[i]
sPassword = {sTable_Name+".password",indChamp}[i]
sEnabled = {sTable_Name+".is_activ",indChamp}[i]
idwFingerIndex = {sTable_Name+".dwFingerIndex",indChamp}[i]
sTmpData = {sTable_Name+".TmpData",indChamp}[i]
iflag = {sTable_Name+".iflag",indChamp}[i]
// trace(n_MachineNumber,n_EnrollNumber,s_Ouvr_Name,s_Ouvr_Password,n_Ouvr_Privilege,b_Ouvr_Enabled)
SI sdwEnrollNumber <> iLastEnrollNumber ALORS // Identify whether the user information(except fingerprint templates) has been uploaded
SI zKemKeeper>>SSR_SetUserInfo(iMachineNumber, sdwEnrollNumber, sName, sPassword, iPrivilege_ID, bEnabled) ALORS // Upload user information to the device
zKemKeeper>>SetUserTmpExStr(iMachineNumber, sdwEnrollNumber, idwFingerIndex, iflag, sTmpData) // Upload templates information to the device
SINON
zKemKeeper>>GetLastError(idwErrorCode)
zKemKeeper>>EnableDevice(iMachineNumber, True)
RETOUR
FIN
SINON // The current fingerprint and the former one belongs the same user,that is ,one user has more than one template
zKemKeeper>>SetUserTmpExStr(iMachineNumber, sdwEnrollNumber, idwFingerIndex, iflag, sTmpData) // Upload tempates information to the memory
FIN
iLastEnrollNumber = sdwEnrollNumber // Change the value of iLastEnrollNumber dynamicly
FIN
FIN
FIN
zKemKeeper>>BatchUpdate(iMachineNumber) // Upload all the information in the memory
zKemKeeper>>RefreshData(iMachineNumber) // The data in the device should be refreshed
zKemKeeper>>EnableDevice(iMachineNumber, True)
FIN
SI ::b_Is_Connected _OU_
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
() ALORSn_Cpt est un entier=0
iMachineNumber est un entier=zKemKeeper>>MachineNumber()
SI iMachineNumber=0 ALORS
iMachineNumber=1
FIN
sdwEnrollNumber est une chaîne= ""
sName est une chaîne= ""
sPassword est une chaîne = ""
iPrivilege_ID est un entier=0
sEnabled est une chaîne= ""
bEnabled est un booléen= Vrai
bSelected est un booléen= Faux
idwFingerIndex est un entier
sTmpData est une chaîne = ""
iflag est un entier
iUpdateFlag est un entier
idwErrorCode est un entier
n_Verified_ID est un entier=0
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(Vrai)zKemKeeper>>EnableDevice(iMachineNumber, False) // disable the device
SI zKemKeeper>>BeginBatchUpdate(iMachineNumber, iUpdateFlag) ALORS // Create memory space for batching data
iLastEnrollNumber est un entier = 0 // the former enrollnumber you have upload(define original value as 0)
POUR i=1 _À_ {sTable_Name,indChamp}..
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
bSelected = {sTable_Name+".is_selected",indChamp}[i]
SI bSelected=1
n_Cpt++
iPrivilege_ID=0
sdwEnrollNumber = {sTable_Name+".id",indChamp}[i]
sName = {sTable_Name+".design",indChamp}[i]
// iPrivilege = {sTable_Name+".privilege",indChamp}[i]
iPrivilege_ID = {sTable_Name+".privilege_id",indChamp}[i]
sPassword = {sTable_Name+".password",indChamp}[i]
sEnabled = {sTable_Name+".is_activ",indChamp}[i]
idwFingerIndex = {sTable_Name+".dwFingerIndex",indChamp}[i]
sTmpData = {sTable_Name+".TmpData",indChamp}[i]
iflag = {sTable_Name+".iflag",indChamp}[i]
// trace(n_MachineNumber,n_EnrollNumber,s_Ouvr_Name,s_Ouvr_Password,n_Ouvr_Privilege,b_Ouvr_Enabled)
SI sdwEnrollNumber <> iLastEnrollNumber ALORS // Identify whether the user information(except fingerprint templates) has been uploaded
SI zKemKeeper>>SSR_SetUserInfo(iMachineNumber, sdwEnrollNumber, sName, sPassword, iPrivilege_ID, bEnabled) ALORS // Upload user information to the device
zKemKeeper>>SetUserTmpExStr(iMachineNumber, sdwEnrollNumber, idwFingerIndex, iflag, sTmpData) // Upload templates information to the device
SINON
zKemKeeper>>GetLastError(idwErrorCode)
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
("Echec lors de l'enregistrement des employés sur la pointeuse.","Error Code=" + idwErrorCode)zKemKeeper>>EnableDevice(iMachineNumber, True)
RETOUR
FIN
SINON // The current fingerprint and the former one belongs the same user,that is ,one user has more than one template
zKemKeeper>>SetUserTmpExStr(iMachineNumber, sdwEnrollNumber, idwFingerIndex, iflag, sTmpData) // Upload tempates information to the memory
FIN
iLastEnrollNumber = sdwEnrollNumber // Change the value of iLastEnrollNumber dynamicly
FIN
FIN
FIN
zKemKeeper>>BatchUpdate(iMachineNumber) // Upload all the information in the memory
zKemKeeper>>RefreshData(iMachineNumber) // The data in the device should be refreshed
zKemKeeper>>EnableDevice(iMachineNumber, True)
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(Faux)Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
("Opération effectuée avec succès" + "total:" + {sTable_Name,indChamp}..Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
)FIN
STP, si tu avance dans tes travaux de pointage, contribue ici par le partage de la façon avec laquelle tu calcule les heures de travail, les heures sup, les vaccances...
Chacun met de son coté pour aider la communauté.
A+
cct2007, WX1331, Fouedusa et 2 autres personnes aiment ça.
MerciBonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
Je vais voir votre proposition et je retourne vers vous.
BonjourBonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
1- Est ce que tu saisi les informations utilisateur depuis de ton application ou bien de l'application fournie depuis de la pointeuse ?
2- Lors je teste ton code ( SSR_GetAllUserInfo() ) pour la récupération des infos user, je vois que l'affichage prend un temps anormal (entre 35 et 50 secondes pour chaque ligne) dans les lignes suivantes:
zKemKeeper>>ReadAllUserID(iMachineNumber)
zKemKeeper>>ReadAllTemplate(iMachineNumber)
iLectureOK=zKemKeeper>>SSR_GetAllUserInfo(iMachineNumber, sdwEnrollNumber,sName, sPassword, iPrivilege, bEnabled)
zKemKeeper>>GetUserGroup(iMachineNumber,sdwEnrollNumber,nUserGrp)
Puis il n'affiche aucune informations, c'est pour ca je pose la question 1
3- Pour le calcule des heures de travail, des heures sup, des vacances lors j'entame cette étape je te fais un signe.
A vous
cct2007 apprécie ceci.
Bonjour
Je suis bloqué et je souhaite bien de me donner une piste.
Je veux lire les informations de chaque utilisateur depuis la pointeuse tel que l'année, mois, jour, heure et minute.
Lors j'appelle la fonction :
zKemKeeper >>ReadGeneralLogdata(MachineNumber)
TANTQUE zKemKeeper >>GetGeneralLogData(NuméroAppareil, nMachNum, EnrollNumber,nNumber, nVRFMode, nInOut, nYear,nMonth, nDay,nHour,nMin)
tableajouteligne(table)
COL_UserID =EnrollNumber
COL_Annee =nYear
COL_Mois =nMonth
COL_Jour =nDay
COL_Heure =nHour
COL_Minute =nMin
KemKeeper >>GetGeneralLogData(NuméroAppareil, nMachNum, EnrollNumber,nNumber, nVRFMode, nInOut, nYear,nMonth, nDay,nHour,nMin)
fin
Mais le résultat est faux ou décalés
COL_UserID =1 // au lieu de 1 doit 1000
COL_Annee = 2000 // au lieu 2018
COL_Mois =1 // au lieu de 10
COL_Jour =1 // au lieu de 04
COL_Heure =3 // 17
COL_Minute =25 // 40
Merci de m'aider, je suis à votre disposition pour toutes infirmations
Merci d'avance
Bonjour/Bonsoir,
- Tu travailles avec quel model de pointeuse (TFT,Noir et blanc,..) et quelle version du SDK?? Ce sont des informations qui orientent tous ceux qui pourront t'aider.
Concernant ta question :
COL_UserID =1 // au lieu de 1 doit 1000
COL_Annee = 2000 // au lieu 2018
COL_Mois =1 // au lieu de 10
COL_Jour =1 // au lieu de 04
COL_Heure =3 // 17
COL_Minute =25 // 40
Merci de m'aider, je suis à votre disposition pour toutes infirmationsCliquez pour agrandir...
Code (Windev):
zKemKeeper >>GetGeneralLogData(NuméroAppareil, nMachNum, EnrollNumber,nNumber, nVRFMode, nInOut, nYear,nMonth, nDay,nHour,nMin)
Code (Windev):
zKemKeeper>>SSR_GetGeneralLogData(iMachineNumber,dwEnrollNumber,dwVerifyMode,dwInOutMode,dwYear,dwMonth,dwDay,dwHour,dwMinute,dwSeconde,idwWorkCode)
Code (Windev):
iMachineNumber est un entiers système = 1
dwEnrollNumber est une chaîne
dwVerifyMode est un entier
dwInOutMode est un entier
dwYear est un entier
dwMonth est un entier
dwDay est un entier
dwHour est un entier
dwMinute est un entier
dwSeconde est un entier
idwWorkCode est un entier
dwEnrollNumber est une chaîne
dwVerifyMode est un entier
dwInOutMode est un entier
dwYear est un entier
dwMonth est un entier
dwDay est un entier
dwHour est un entier
dwMinute est un entier
dwSeconde est un entier
idwWorkCode est un entier
joker apprécie ceci.