Bonjour tout le monde.
@Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
Pour ta question :
Ma question est ce que tu connais la fonction ou un début de code qui permet le transfert des empreints de chaque employé vers une autre pointeuse ?Cliquez pour agrandir...
-
Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
-
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 4 sur 6
// Pour récupérer les informations des employés de la pointeuse.
Code (Text):
ReadAllUserID
SSR_GetAllUserInfo
SSR_GetAllUserInfo
Code (Text):
ReadAllTemplate
Par la suite tu les injectes dans les autres pointeuses grace aux fonctions suivantes :
Code (Text):
SSR_SetUserInfo
SetUserTmpExStr
SetUserTmpExStr
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
Cher ami,
Les codes qui sont fournis ici concernent les produits de la société ZKTeco
Elle est bien connue et offre le manuel développeur de ses machines.
La pointeuse AC300 à ce qu'il me semble et un produit chinois hybride sans référence de son fabricant.
La recherche que j'ai faite m'a amener à m’arrêter sur des distributeurs et non sur le fabricant.
C'est à dire, Un distributeur demande à la société qui fabrique de lui fournir du matériel sur lequel on met un logo quelconque.
Mais en ce qui est du support technique NADA.
C'est juste ma première impression.
La faute que tu a commise, c'est que tu cherches à faire fonctionner un matériel avec les SDK d'une autre firme.
Logiquement, c'est une faute de démarche de ta part.
Regarde s'il y a une Plaque derrière la pointeuse avec des infos de plus.
Quels sont les ports de connexion de la pointeuse : RJ45, COM, autre
A défaut du nom du fabricant, je ne suis pas en mesure de dire davantage.
Une chose est sure, le sujet reste ouvert. Si tu as plus d'éléments, je serai là pour t'aider dans le code.
Bon Dev.
khaliassas et WX1331 aiment ça.
BonjourBonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
J'ai suivi vos étapes mais j'arrive pas à afficher les empreintes de chaque employés dans une table mémoire selon une pointeuse avant de les transférer ou les enregistrer dans un fichier '.fic".
D'abord je lis la machine contenant les empreintes
J'ai un problème à la variable "TmpData" // template empreinte
//De puis la table mémoire, je veux transférer les empreintes dans l'autre machine mais la colonne COL_TMPData est videCode (Text):
zKemKeeper>>ReadAllUserID(MachineNumber)
zKemKeeper>>ReadAllTemplate(MachineNumber)
TANTQUE zKemKeeper>>SSR_GetAllUserInfo(MachineNumber, EnrollNumber, Name, Password, Privilege, Enabled)=Vrai
TableAjouteLigne(TablePointeuse,...
EnrollNumber,...
Name,...
Privilege,...
Password,...
FingerIndex,...
Enabled,...
TmpData,...
Flag)
FIN
Comme tu vois dans l'image ci dessous Pointeuse 94 affiche les infos sans empreintes qui vont se diriger vers pointeuse 80Code (Text):
zKemKeeper>>SSR_SetUserInfo(MachineNumber, COL_UserID, COL_Name, COL_Password, COL_Privilege, COL_Enable)
SI zKemKeeper>>SetUserTmpEx(MachineNumber, COL_UserID, COL_Finger, COL_Flag, COL_TMPData)=Vrai ALORS
Info("Le transfert des empreintes a été bien effectué.")
SINON
Info("Echec de transfert.")
FIN
Merci de me donner encore un pouce
Bonjour
Pour ce qui ont besoin de se connecter à une pointeuse
voila une petite application (WD22) que j'ai faite pour se connecter et récupérer les infos et les données d'une pointeuse.
Bien-sûr il faut installer l' ActiveX qui de la pointeuse sur la machine
Il faut bien connaître les fonctions :
ReadGeneralLogData
GetAllGLogData
ReadAllSLogData
GetAllSLogData
GetGeneralLogData
ClearGLog
Il y a un bout de code en commentaire (selon le besoin on l'utilise ou non)
J'espère que cela aidera quelqu'un
PS : Je vais supprimer demain
Voila le lien :
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
Cliquez pour agrandir...
merci de m'envoyer l'application en windev car le lien mega ne marche pas
merci d'avance mail :
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
Hi,
Quelqu'un peut il reactuliser le lien Mega?
D'avance merci
Bonsoir,
@Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
Voici deux sauvegardes que je garde
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
Gemini1961 apprécie ceci.
Pour continuer sur le sujet, quelqu'un essayé avec la pointeuse de ZKteco, l'envoie de photo dans la Pointeuse avec uploaduserphoto (j'ai trouvé une fonction équivalente sendfile) ou effacé une photo de l'utilisateur dans le device par deleteuserphoto car ces deux fonctions ne sont pas reconnus par objet automation mais présent dans la documentation.
autre chose j'ai trouvé aussi un autre sdk compatible avec ZKteco avec ce lienBonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(BioBridge sdk) a essayé modérément.
salutations
Gemini1961 apprécie ceci.
Bonjour
comment installer le SDK par programmation
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.
Pour ma part, je n'ai pas encore automatiser l'enregistrement des empruntes des opérateur/Employés (= Proposer une fenêtre de récupération de l'emprunte -> L'employer appuie sur le scaner -> enregistrement du Template sur la fiche de l'employé )
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
Code (Windev):PROCÉDURE SSR_GetAllUserInfo(sTable_Name est une chaîne)
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)
-- Aussitôt fait, je peux écrire les nouvelles infos sur la pointeuse par la procédure SSR_SetUserInfo
Code (Windev):PROCÉDURE SSR_SetUserInfo(sTable_Name est une chaîne)
SI ::b_Is_Connected _OU_Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
() ALORS
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
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+Cliquez pour agrandir...