vc6.0 dll 接口说明:用户基本信息,将电脑上的员工基本信息下载到考勤机或将考勤机中的员工基
本信息保存到电脑时,定义说明。
typedef struct
{
unsigned int UserID; // 员工编号 长度4 字节
char UserName[USER_NAME_SIZE]; // 员工姓名 长度14 字节
unsigned char ManageClass; // 管理级别[MXManageType_T]是指通过
MX 系列指纹考勤机菜单进行考勤机维护操作的权限 长度1 字节
unsigned char AttendRole; // 保留 长度1 字节
unsigned char DeptID; // 所属部门代码 长度1 字节
unsigned char AttendPlan; // 保留 长度1 字节
unsigned char VerifyMode; // 验证方式:指纹、指纹+卡、卡三种身份验证方式 长度1 字节
unsigned char FingerCount; // 保留 长度1 字节
unsigned int UserPassword; // 员工密码,指纹不能用时可以采用密码方式考勤 长度1 字节
unsigned int CardID[2]; // ID 卡号 长度8 字节
unsigned char Reserve[4]; // 保留 长度4 字节
}MXUserInfo_T;
在开发过程中,可以将为该结构分配40 字节长度的unsigned char 型数组。将需
要处理的字段填写或修改。//员工基本信息
typedef struct
{
unsigned int UserID; //员工编号
char UserName[USER_NAME_SIZE]; //员工名称
unsigned char ManageClass; //管理级别[MXManageType_T]
unsigned char AttendRole; //班次规则
unsigned char DeptID; //所属部门
unsigned char AttendPlan; //考勤规则类型
unsigned char VerifyMode; //验证方式
unsigned char FingerCount; //已添加指纹总数
unsigned int UserPassword; //员工密码
unsigned int CardID[2]; //ID卡号
unsigned char Reserve[4]; //保留
}MXUserInfo_T;//MXATTAPI int MXAtt_UpUserInfo(int iHandle,int iIndex,unsigned char* oUserInfo,int* oUserInfoLen);
delphi 有中声明及实现
PMXUserInfo =^MXUserInfo;
MXUserInfo =record
UserID:DWORD ; //员工编号
serName :array[0..17] of char ; //员工名称
ManageClass :BYTE; //管理级别[MXManageType_T]
AttendRole :BYTE; //班次规则
DeptID:BYTE; //所属部门
AttendPlan:BYTE; //考勤规则类型
VerifyMode:BYTE; //验证方式
FingerCount:BYTE; //已添加指纹总数
UserPassword:DWORD; //员工密码
CardID:array[0..1] of DWORD;//ID卡号
serName :array[0..3] of Byte;//保留
end;
Function MXAtt_UpUserInfo(iHandle:Integer;iIndex:Integer;UserInfo:PMXUserInfo;oUserCount:integer):Integer; stdcall;implementationfunction MXAtt_UpUserInfo; external 'MXAttendAPI.dll';procedure TfrmAttTest.BTNUpUserInfoClick(Sender: TObject);
var
oUserInfoLen:string;
iIndex :Integer;
UserInfo:PMXUserInfo;
UserCount:Integer;
begin
iIndex :=1;
New (UserInfo) ;
UserCount:=40;
if MXAtt_UpUserInfo(HandleId,iIndex,UserInfo,UserCount)=0then
ShowMessage('设置GetUserCount成功'+Inttostr(UserCount))
else
ShowMessage('失败') ;
// Function MXAtt_UpUserInfo(iHandle:Integer;iIndex:Integer;var UserInfo:PMXUserInfo;oUserCount:integer):Integer; stdcall; //Function MXAtt_UpUserInfo(iHandle:Integer;iIndex:Integer;oUserInfo:Pchar ;var oUserInfoLen:Integer):Integer;
end;调用Dll报内存错误,。
本信息保存到电脑时,定义说明。
typedef struct
{
unsigned int UserID; // 员工编号 长度4 字节
char UserName[USER_NAME_SIZE]; // 员工姓名 长度14 字节
unsigned char ManageClass; // 管理级别[MXManageType_T]是指通过
MX 系列指纹考勤机菜单进行考勤机维护操作的权限 长度1 字节
unsigned char AttendRole; // 保留 长度1 字节
unsigned char DeptID; // 所属部门代码 长度1 字节
unsigned char AttendPlan; // 保留 长度1 字节
unsigned char VerifyMode; // 验证方式:指纹、指纹+卡、卡三种身份验证方式 长度1 字节
unsigned char FingerCount; // 保留 长度1 字节
unsigned int UserPassword; // 员工密码,指纹不能用时可以采用密码方式考勤 长度1 字节
unsigned int CardID[2]; // ID 卡号 长度8 字节
unsigned char Reserve[4]; // 保留 长度4 字节
}MXUserInfo_T;
在开发过程中,可以将为该结构分配40 字节长度的unsigned char 型数组。将需
要处理的字段填写或修改。//员工基本信息
typedef struct
{
unsigned int UserID; //员工编号
char UserName[USER_NAME_SIZE]; //员工名称
unsigned char ManageClass; //管理级别[MXManageType_T]
unsigned char AttendRole; //班次规则
unsigned char DeptID; //所属部门
unsigned char AttendPlan; //考勤规则类型
unsigned char VerifyMode; //验证方式
unsigned char FingerCount; //已添加指纹总数
unsigned int UserPassword; //员工密码
unsigned int CardID[2]; //ID卡号
unsigned char Reserve[4]; //保留
}MXUserInfo_T;//MXATTAPI int MXAtt_UpUserInfo(int iHandle,int iIndex,unsigned char* oUserInfo,int* oUserInfoLen);
delphi 有中声明及实现
PMXUserInfo =^MXUserInfo;
MXUserInfo =record
UserID:DWORD ; //员工编号
serName :array[0..17] of char ; //员工名称
ManageClass :BYTE; //管理级别[MXManageType_T]
AttendRole :BYTE; //班次规则
DeptID:BYTE; //所属部门
AttendPlan:BYTE; //考勤规则类型
VerifyMode:BYTE; //验证方式
FingerCount:BYTE; //已添加指纹总数
UserPassword:DWORD; //员工密码
CardID:array[0..1] of DWORD;//ID卡号
serName :array[0..3] of Byte;//保留
end;
Function MXAtt_UpUserInfo(iHandle:Integer;iIndex:Integer;UserInfo:PMXUserInfo;oUserCount:integer):Integer; stdcall;implementationfunction MXAtt_UpUserInfo; external 'MXAttendAPI.dll';procedure TfrmAttTest.BTNUpUserInfoClick(Sender: TObject);
var
oUserInfoLen:string;
iIndex :Integer;
UserInfo:PMXUserInfo;
UserCount:Integer;
begin
iIndex :=1;
New (UserInfo) ;
UserCount:=40;
if MXAtt_UpUserInfo(HandleId,iIndex,UserInfo,UserCount)=0then
ShowMessage('设置GetUserCount成功'+Inttostr(UserCount))
else
ShowMessage('失败') ;
// Function MXAtt_UpUserInfo(iHandle:Integer;iIndex:Integer;var UserInfo:PMXUserInfo;oUserCount:integer):Integer; stdcall; //Function MXAtt_UpUserInfo(iHandle:Integer;iIndex:Integer;oUserInfo:Pchar ;var oUserInfoLen:Integer):Integer;
end;调用Dll报内存错误,。
function MXAtt_UpUserInfo( iHandler:integer;iIndex:integer;oUserInfo:btye;var oUserInfoLen:Integer):integer;
如果是这样的,如何得到反的员工信息值.
是18个字节了另外如果使用的2010,那么char改为ansichar,pchar改为pansichar