您的位置:首页 > 其它

科密KD-36考勤机二次开发技术详解

2010-02-08 21:37 363 查看
项目详细:科密KD-36 delphi接口 VB 6.0程序读取数据



KD-36

程序:
Private Sub Cmd_CheckNet_Click() ' 检查网络

Dim ECHO As
ICMP_ECHO_REPLY

Dim Pos As Long

Dim Success As Long

Dim IP As
String

IPAddress = Trim(txtIPAddress.Text)

PortNumber =
Trim(txtPortNumber.Text)

PassWord = Trim(txtPassWord.Text)

MacNo =
Trim(txtMacNo.Text)
If IPAddress = "" Then

MsgBox "请先输入IP地址,再检查网络!", vbInformation,
Jxjr

txtIPAddress.SetFocus

Else

If SocketsInitialize()
Then

Success = Pings(IPAddress, MyIP, ECHO)

If Success
= 0 Then

'MsgBox "考勤机网络连接正常!", vbInformation,
Jxjr

If MacNo = "" Then

MsgBox "机号不能为空!",
vbInformation, Jxjr

Else

If
kd.OpenCommPort(MacNo) = True Then

Call
kd.EnableDevice(MacNo, 1)

Call
kd.CloseCommPort

MsgBox "考勤机网络连接正常!", vbInformation,
Jxjr

Else

MsgBox "考勤机机号错误,请重新输入!",
vbInformation, Jxjr

txtMacNo.SetFocus

End
If

End If

Else

MsgBox
"考勤机网络连接不正常,请检查IP和网络连接!", vbInformation, Jxjr

End If

SocketsCleanup

End If

End If

End Sub
Private Sub Cmd_GetAllData_Click() '得到全部数据

Dim TMacNo As
Long

Dim EnrollNo As Long

Dim EMacNo As Long

Dim VerMode As Long

Dim
kdYear As Long

Dim kdMonth As Long

Dim kdDay As Long

Dim kdHour As
Long

Dim kdMinute As Long

Dim kddate As Date

Dim kdtime As
String

Dim MacPr As Long

Dim EnrollNumber As Variant

Dim EnrollWord As
Long

Dim SqlEnrollWord As String
Dim OldNum As Integer

Dim i As Integer

MacPr = 3 '用户的权限
Dim iSql As String
IPAddress = GetSetting("jxjr", "jrhr", "ipaddress",
IPAddress)

PortNumber = GetSetting("jxjr", "jrhr", "portnumber",
PortNumber)

PassWord = GetSetting("jxjr", "jrhr", "password",
PassWord)

MacNo = GetSetting("jxjr", "jrhr", "macno", MacNo)
If kd.SetIPAddress(IPAddress, PortNumber, PassWord) = True
Then

If kd.OpenCommPort(MacNo) = True Then

Call
kd.EnableDevice(MacNo, 0)

Call kd.ReadAllGLogData(MacNo)

If
kd.GetAllGLogData(MacNo, TMacNo, EnrollNo, EMacNo, VerMode, kdYear, kdMonth,
kdDay, kdHour, kdMinute) = True Then

Do Until
kd.GetAllGLogData(MacNo, TMacNo, EnrollNo, EMacNo, VerMode, kdYear, kdMonth,
kdDay, kdHour, kdMinute) = False

Call
kd.GetEnrollData(MacNo, EnrollNo, TMacNo, 11, MacPr, EnrollNumber,
EnrollWord)

SqlEnrollWord =
CStr(EnrollWord)

OldNum =
Len(SqlEnrollWord)

For i = 0 To 9 -
OldNum

SqlEnrollWord = "0" +
CStr(SqlEnrollWord)

Next i

'kd.ReadMark
= False

'Call kd.GetAllGLogData(MacNo, TMacNo, EnrollNo,
EMacNo, VerMode, kdYear, kdMonth, kdDay, kdHour, kdMinute)

kdtime = kdYear & "-" & kdMonth & "-" & kdDay & " " &
kdHour & ":" & kdMinute & ":" & "00" & "." &
"000"

iSql = "insert into
HR_ATS_OriginalityCard(FCardID,FHostName,FCardDateTime)values('" &
SqlEnrollWord & "','" & MacNo & "','" & kdtime &
"')"

Pcnn.Execute (iSql)

Loop

MsgBox "全部考勤记录读取成功!", vbInformation, Jxjr

Call
kd.EnableDevice(MacNo, 1)

Call kd.CloseCommPort

Else

MsgBox "没有考勤记录!", vbInformation, Jxjr

End If

Else

MsgBox "终端机号[" & MacNo & "]打开失败!", vbInformation,
Jxjr

End If

Else

MsgBox "连接设置错误!", vbInformation, Jxjr

End
If

End Sub
Private Sub Cmd_GetNewData_Click() '得到最新数据

Dim TMacNo As
Long

Dim EnrollNo As Long

Dim EMacNo As Long

Dim VerMode As Long

Dim
kdYear As Long

Dim kdMonth As Long

Dim kdDay As Long

Dim kdHour As
Long

Dim kdMinute As Long

Dim kddate As Date

Dim kdtime As
String

Dim MacPr As Long

Dim EnrollNumber As Variant

Dim EnrollWord As
Long

Dim SqlEnrollWord As String
Dim OldNum As Integer

Dim i As Integer
MacPr = 3 '用户的权限
Dim iSql As String
IPAddress = GetSetting("jxjr", "jrhr", "ipaddress",
IPAddress)

PortNumber = GetSetting("jxjr", "jrhr", "portnumber",
PortNumber)

PassWord = GetSetting("jxjr", "jrhr", "password",
PassWord)

MacNo = GetSetting("jxjr", "jrhr", "macno", MacNo)
If kd.SetIPAddress(IPAddress, PortNumber, PassWord) = True
Then

If kd.OpenCommPort(MacNo) = True Then

Call
kd.EnableDevice(MacNo, 0)

Call
kd.ReadGeneralLogData(MacNo)

If kd.GetGeneralLogData(MacNo,
TMacNo, EnrollNo, EMacNo, VerMode, kdYear, kdMonth, kdDay, kdHour, kdMinute) =
True Then

Do Until kd.GetGeneralLogData(MacNo, TMacNo,
EnrollNo, EMacNo, VerMode, kdYear, kdMonth, kdDay, kdHour, kdMinute) =
False

Call kd.GetEnrollData(MacNo, EnrollNo, TMacNo,
11, MacPr, EnrollNumber, EnrollWord)

SqlEnrollWord =
CStr(EnrollWord)

OldNum =
Len(SqlEnrollWord)

For i = 0 To 9 -
OldNum

SqlEnrollWord = "0" +
CStr(SqlEnrollWord)

Next i

'kd.ReadMark = False

'Call kd.GetAllGLogData(MacNo,
TMacNo, EnrollNo, EMacNo, VerMode, kdYear, kdMonth, kdDay, kdHour,
kdMinute)

kdtime = kdYear & "-" & kdMonth &
"-" & kdDay & " " & kdHour & ":" & kdMinute & ":" &
"00" & "." & "000"

iSql = "insert into
HR_ATS_OriginalityCard(FCardID,FHostName,FCardDateTime)values('" &
SqlEnrollWord & "','" & MacNo & "','" & kdtime &
"')"

Pcnn.Execute (iSql)

Loop

MsgBox "最新考勤记录读取成功!", vbInformation,
Jxjr

Else

MsgBox "没有最新的考勤记录!", vbInformation,
Jxjr

End If

Call kd.EnableDevice(MacNo, 1)

Call kd.CloseCommPort

Else

MsgBox "终端机号[" & MacNo &
"]打开失败!", vbInformation, Jxjr

End If

Else

MsgBox "连接设置错误!",
vbInformation, Jxjr

End If

End Sub
Private Sub Cmd_SetIP_Click() '设置IP信息
IPAddress = Trim(txtIPAddress.Text)

PortNumber =
Trim(txtPortNumber.Text)

PassWord = Trim(txtPassWord.Text)

MacNo =
Trim(txtMacNo.Text)
If IPAddress = "" Then

MsgBox "IP地址不能为空!", vbInformation,
Jxjr

txtIPAddress.SetFocus

Else

If PortNumber = "" Then

MsgBox "端口号不能为空!", vbInformation, Jxjr

txtPortNumber.SetFocus

Else

If PassWord = "" Then

MsgBox "密码不能为空!",
vbInformation, Jxjr

txtPassWord.SetFocus

Else

If MacNo = "" Then

MsgBox "机号不能为空!",
vbInformation, Jxjr

txtMacNo.SetFocus

Else

SaveSetting "jxjr", "jrhr", "ipaddress",
IPAddress

SaveSetting "jxjr", "jrhr", "portnumber",
PortNumber

SaveSetting "jxjr", "jrhr", "password",
PassWord

SaveSetting "jxjr", "jrhr", "macno",
MacNo

If kd.SetIPAddress(IPAddress, PortNumber, PassWord) =
True Then

MsgBox "连接数据设置成功!", vbInformation,
Jxjr

Else

MsgBox "无法设置连接数据!",
vbInformation, Jxjr

End If

End If

End If

End If

End If
End Sub
Private Sub Cmd_SetMacTime_Click() '设置系统时间

IPAddress =
GetSetting("jxjr", "jrhr", "ipaddress", IPAddress)

PortNumber =
GetSetting("jxjr", "jrhr", "portnumber", PortNumber)

PassWord =
GetSetting("jxjr", "jrhr", "password", PassWord)

MacNo = GetSetting("jxjr",
"jrhr", "macno", MacNo)
If kd.SetIPAddress(IPAddress, PortNumber, PassWord) = True
Then

If kd.OpenCommPort(MacNo) = True Then

Call
kd.EnableDevice(MacNo, 0)

If kd.SetDeviceTime(MacNo) = True
Then

MsgBox "考勤机时间同步成功!", vbInformation, Jxjr

Else

MsgBox "考勤机时间同步失败,请检查!", vbInformation, Jxjr

End
If

Call kd.EnableDevice(MacNo, 1)

Call
kd.CloseCommPort

Else

MsgBox "终端机号[" & MacNo & "]打开失败!",
vbInformation, Jxjr

End If

Else

MsgBox "连接设置错误!",
vbInformation, Jxjr

End If

End Sub
Private Sub Com_ClearData_Click() '清除记录数据

IPAddress =
GetSetting("jxjr", "jrhr", "ipaddress", IPAddress)

PortNumber =
GetSetting("jxjr", "jrhr", "portnumber", PortNumber)

PassWord =
GetSetting("jxjr", "jrhr", "password", PassWord)

MacNo = GetSetting("jxjr",
"jrhr", "macno", MacNo)
If kd.SetIPAddress(IPAddress, PortNumber, PassWord) = True
Then

If kd.OpenCommPort(MacNo) = True Then

Call
kd.EnableDevice(MacNo, 0)

If kd.EmptyGeneralLogData(MacNo) = True
Then

MsgBox "所有记录清空成功!", vbInformation, Jxjr

Else

MsgBox "清空失败,请检查!", vbInformation, Jxjr

End
If

Call kd.EnableDevice(MacNo, 1)

Call
kd.CloseCommPort

Else

MsgBox "终端机号[" & MacNo & "]打开失败!",
vbInformation, Jxjr

End If

Else

MsgBox "连接设置错误!",
vbInformation, Jxjr

End If

End Sub
Private Sub Com_DeleteAll_Click() '清除全部数据

IPAddress =
GetSetting("jxjr", "jrhr", "ipaddress", IPAddress)

PortNumber =
GetSetting("jxjr", "jrhr", "portnumber", PortNumber)

PassWord =
GetSetting("jxjr", "jrhr", "password", PassWord)

MacNo = GetSetting("jxjr",
"jrhr", "macno", MacNo)
If kd.SetIPAddress(IPAddress, PortNumber, PassWord) = True
Then

If kd.OpenCommPort(MacNo) = True Then

Call
kd.EnableDevice(MacNo, 0)

If kd.EmptyEnrollData(MacNo) = True
Then

MsgBox "所有信息清空成功!", vbInformation, Jxjr

Else

MsgBox "清空失败,请检查!", vbInformation, Jxjr

End
If

Call kd.EnableDevice(MacNo, 1)

Call
kd.CloseCommPort

Else

MsgBox "终端机号[" & MacNo & "]打开失败!",
vbInformation, Jxjr

End If

Else

MsgBox "连接设置错误!",
vbInformation, Jxjr

End If

End Sub
Private Sub Com_TimeSet_Click()

Dim dblReturn As
Double

dblReturn = Shell("rundll32.exe shell32.dll,Control_RunDLL
timedate.cpl", 5)

End Sub
Private Sub Form_Load()

txtIPAddress.Text = GetSetting("jxjr",
"jrhr", "ipaddress", IPAddress)

txtPortNumber.Text = GetSetting("jxjr",
"jrhr", "portnumber", PortNumber)

txtPassWord.Text = GetSetting("jxjr",
"jrhr", "password", PassWord)

txtMacNo.Text = GetSetting("jxjr", "jrhr",
"macno", MacNo)

Timer.Interval = 500

End Sub
Private Sub Timer_Timer()

LbTime = Year(Date) & "年" &
Month(Date) & "月" & Day(Date) & "日 星期" &
GetWeekDay(Weekday(Date)) & "" & Format$(Time, "hh:mm:ss")

'"xx年xx月xx日 星期几 系统时间hh:mm:ss"

End Sub
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: