网络读写器介绍:
Private Sub Command1_Click()
Dim sendbuf(16) As Byte
Dim cardnumberbuf(3) As Byte
Dim I As Integer
Dim strls, sendstr As String
strls = Trim(Text1.Text) + "00000000"
For I = 0 To 3
cardnumberbuf(I) = "&H" + Mid(strls, I * 2 + 1, 2)
Next
sendbuf(0) = &H3B '命令字
sendbuf(1) = Val(Form1.Text6) Mod 256 '机号
sendbuf(2) = Int(Val(Form1.Text6) / 256) Mod 256
sendbuf(3) = 1 '本次操作的区数
'卡号 不为零表示操作指定卡号的卡
sendbuf(4) = cardnumberbuf(0)
sendbuf(5) = cardnumberbuf(1)
sendbuf(6) = cardnumberbuf(2)
sendbuf(7) = cardnumberbuf(3)
'区号
sendbuf(8) = Combo1.ListIndex
'为1以B密码来验证旧密码,为0以A密码来验证旧密码
sendbuf(9) = 0
If Combo2.ListIndex > 0 Then
sendbuf(9) = sendbuf(9) + 1
End If
'旧密码
strls = Trim(Text2.Text) + "FFFFFFFFFFFF"
For I = 0 To 5
sendbuf(10 + I) = "&H" + Mid(strls, I * 2 + 1, 2)
Next
If Form1.Check1.Value = 1 Then
Form1.Winsock1.RemoteHost = "255.255.255.255" '目标IP地址
Form1.Winsock1.RemotePort = 39169
Else
Form1.Winsock1.RemoteHost = Form1.Text1.Text + "." + Form1.Text2.Text + "." + Form1.Text3.Text + "." + Form1.Text4.Text '目标IP地址
Form1.Winsock1.RemotePort = Form1.Text38
End If
Form1.Winsock1.SendData sendbuf
If Form1.Option9.Value = True Then
sendstr = Format(Now, "YYYY-MM-DD HH:MM:SS") & " SendTo:" + Mid(Form1.Winsock1.RemoteHost + ":" + Format(Form1.Winsock1.RemotePort, "0") + " ", 1, 22) + "电脑发送:"
For I = 0 To 15
sendstr = sendstr + Trim(Str(sendbuf(I))) + " "
Next
Form1.List1.AddItem (sendstr)
Else
sendstr = Format(Now, "YYYY-MM-DD HH:MM:SS") & " SendTo:" + Mid(Form1.Winsock1.RemoteHost + ":" + Format(Form1.Winsock1.RemotePort, "0") + " ", 1, 22) + "电脑发送:"
For I = 0 To 15
sendstr = sendstr + Right("00" + Hex(sendbuf(I)), 2) + " "
Next
Form1.List1.AddItem (sendstr)
Form1.List1.ListIndex = Form1.List1.ListCount - 1
End If
End Sub
Private Sub Command2_Click()
Dim sendbuf(68) As Byte
Dim cardnumberbuf(3) As Byte
Dim writecardbuf(48) As Byte
Dim I, J As Integer
Dim strls, sendstr As String
strls = Trim(Text1.Text) + "00000000"
For I = 0 To 3
cardnumberbuf(I) = "&H" + Mid(strls, I * 2 + 1, 2)
Next
strls = Trim(Text16.Text) + "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
J = 96 ' Len(strls) 一个区48个字节
J = Int(J / 2)
For I = 0 To J - 1
writecardbuf(I) = "&H" + Mid(strls, I * 2 + 1, 2)
Next
sendbuf(0) = &H3D '命令字
sendbuf(1) = Val(Form1.Text6) Mod 256 '机号
sendbuf(2) = Int(Val(Form1.Text6) / 256) Mod 256
sendbuf(3) = 1 '本次操作的区数
'卡号 不为零表示操作指定卡号的卡
sendbuf(4) = cardnumberbuf(0)
sendbuf(5) = cardnumberbuf(1)
sendbuf(6) = cardnumberbuf(2)
sendbuf(7) = cardnumberbuf(3)
'区号
sendbuf(8) = Combo1.ListIndex
'为1以B密码来验证旧密码,为0以A密码来验证旧密码
sendbuf(9) = 0
If Combo2.ListIndex > 0 Then
sendbuf(9) = sendbuf(9) + 1
End If
'旧密码
strls = Trim(Text2.Text) + "FFFFFFFFFFFF"
For I = 0 To 5
sendbuf(10 + I) = "&H" + Mid(strls, I * 2 + 1, 2)
Next
'卡数据
For I = 0 To 47
sendbuf(16 + I) = writecardbuf(I)
Next
'抗干扰
sendbuf(64) = "&H55"
sendbuf(65) = "&HAA"
sendbuf(66) = "&H66"
sendbuf(67) = "&H99"
If Form1.Check1.Value = 1 Then
Form1.Winsock1.RemoteHost = "255.255.255.255" '目标IP地址
Form1.Winsock1.RemotePort = 39169
Else
Form1.Winsock1.RemoteHost = Form1.Text1.Text + "." + Form1.Text2.Text + "." + Form1.Text3.Text + "." + Form1.Text4.Text '目标IP地址
Form1.Winsock1.RemotePort = Form1.Text38
End If
Form1.Winsock1.SendData sendbuf
If Form1.Option9.Value = True Then
sendstr = Format(Now, "YYYY-MM-DD HH:MM:SS") & " SendTo:" + Mid(Form1.Winsock1.RemoteHost + ":" + Format(Form1.Winsock1.RemotePort, "0") + " ", 1, 22) + "电脑发送:"
For I = 0 To 67
sendstr = sendstr + Trim(Str(sendbuf(I))) + " "
Next
Form1.List1.AddItem (sendstr)
Else
sendstr = Format(Now, "YYYY-MM-DD HH:MM:SS") & " SendTo:" + Mid(Form1.Winsock1.RemoteHost + ":" + Format(Form1.Winsock1.RemotePort, "0") + " ", 1, 22) + "电脑发送:"
For I = 0 To 67
sendstr = sendstr + Right("00" + Hex(sendbuf(I)), 2) + " "
Next
Form1.List1.AddItem (sendstr)
Form1.List1.ListIndex = Form1.List1.ListCount - 1
End If
End Sub
Private Sub Command3_Click()
Dim sendbuf(36) As Byte
Dim cardnumberbuf(3) As Byte
Dim I, J As Integer
Dim strls, sendstr As String
strls = Trim(Text1.Text) + "00000000"
For I = 0 To 3
cardnumberbuf(I) = "&H" + Mid(strls, I * 2 + 1, 2)
Next
sendbuf(0) = &H3A '命令字
sendbuf(1) = Val(Form1.Text6) Mod 256 '机号
sendbuf(2) = Int(Val(Form1.Text6) / 256) Mod 256
sendbuf(3) = 1 '本次操作的区数
'卡号 不为零表示操作指定卡号的卡
sendbuf(4) = cardnumberbuf(0)
sendbuf(5) = cardnumberbuf(1)
sendbuf(6) = cardnumberbuf(2)
sendbuf(7) = cardnumberbuf(3)
'区号
sendbuf(8) = Combo1.ListIndex
'为1以B密码来验证旧密码,为0以A密码来验证旧密码
sendbuf(9) = 0
If Combo2.ListIndex > 0 Then
sendbuf(9) = sendbuf(9) + 1
End If
'是否修改控制位
If Check1.Value = 1 Then
sendbuf(9) = sendbuf(9) + 2 '表示修改控制位
End If
'是否修改B密码
If Check2.Value = 1 Then
sendbuf(9) = sendbuf(9) + 4 '表示更改B密码,不加2表示不更改B密码
End If
'旧密码
strls = Trim(Text2.Text) + "FFFFFFFFFFFF"
For I = 0 To 5
sendbuf(10 + I) = "&H" + Mid(strls, I * 2 + 1, 2)
Next
'新A密码
strls = Trim(Text3.Text) + "FFFFFFFFFFFF"
For I = 0 To 5
sendbuf(16 + I) = "&H" + Mid(strls, I * 2 + 1, 2)
Next
'控制字
strls = Trim(Text4.Text) + "FF078069"
For I = 0 To 3
sendbuf(22 + I) = "&H" + Mid(strls, I * 2 + 1, 2)
Next
'新B密码
strls = Trim(Text5.Text) + "FFFFFFFFFFFF"
For I = 0 To 5
sendbuf(26 + I) = "&H" + Mid(strls, I * 2 + 1, 2)
Next
'抗干扰
sendbuf(32) = "&H55"
sendbuf(33) = "&HAA"
sendbuf(34) = "&H66"
sendbuf(35) = "&H99"
If Form1.Check1.Value = 1 Then
Form1.Winsock1.RemoteHost = "255.255.255.255" '目标IP地址
Form1.Winsock1.RemotePort = 39169
Else
Form1.Winsock1.RemoteHost = Form1.Text1.Text + "." + Form1.Text2.Text + "." + Form1.Text3.Text + "." + Form1.Text4.Text '目标IP地址
Form1.Winsock1.RemotePort = Form1.Text38
End If
Form1.Winsock1.SendData sendbuf
If Form1.Option9.Value = True Then
sendstr = Format(Now, "YYYY-MM-DD HH:MM:SS") & " SendTo:" + Mid(Form1.Winsock1.RemoteHost + ":" + Format(Form1.Winsock1.RemotePort, "0") + " ", 1, 22) + "电脑发送:"
For I = 0 To 35
sendstr = sendstr + Trim(Str(sendbuf(I))) + " "
Next
Form1.List1.AddItem (sendstr)
Else
sendstr = Format(Now, "YYYY-MM-DD HH:MM:SS") & " SendTo:" + Mid(Form1.Winsock1.RemoteHost + ":" + Format(Form1.Winsock1.RemotePort, "0") + " ", 1, 22) + "电脑发送:"
For I = 0 To 35
sendstr = sendstr + Right("00" + Hex(sendbuf(I)), 2) + " "
Next
Form1.List1.AddItem (sendstr)
Form1.List1.ListIndex = Form1.List1.ListCount - 1
End If
End Sub
Private Sub Command4_Click()
Text16.Text = ""
End Sub
Private Sub Form_Load()
Dim I As Integer
For I = 0 To 15
Combo1.AddItem ("第 " + Format(I, "0") + " 区")
Next
Combo1.ListIndex = 9
Combo2.AddItem ("A 密码")
Combo2.AddItem ("B 密码")
Combo2.ListIndex = 0
End Sub