网上买了一个非接触式IC卡读写器 明华KRF-35,但是他附带的代码都没注释的,我实在用不了,请老师们帮我看下,然后帮忙写出几行可以让我参考的代码.,我就想对卡写入一个数据,然后卡放上去的时候,把数据读到textbox里.谢谢我把光盘里关于VB的代码贴上来,请老师们帮忙下,谢谢以上是模块里的,引用DLL的Option Explicit
Global icdev As Long
Global st As Integer
'comm function
Declare Function rf_config Lib "mwrf32.dll" (ByVal icdev%, ByVal mode%, ByVal baud%) As Integer
Declare Function rf_init Lib "mwrf32.dll" (ByVal port%, ByVal baud As Long) As Long
Declare Function rf_exit Lib "mwrf32.dll" (ByVal icdev As Long) As Integer
Declare Function rf_request Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%, atr_type%) As Integer
Declare Function rf_anticoll Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Bcnt%, Snr As Long) As Integer
Declare Function rf_select Lib "mwrf32.dll" (ByVal icdev%, ByVal Snr As Long, Size%) As Integer
Declare Function rf_card Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%, Snr As Long) As Integer
Declare Function rf_load_key Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%, ByVal secnr%, ByRef nkey As Byte) As Integer
Declare Function rf_load_key_hex Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%, ByVal secnr%, ByVal nkey As String) As Integer
Declare Function rf_authentication Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%, ByVal scenr%) As Integer
Declare Function rf_read Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Adr%, ByVal sdata$) As Integer
Declare Function rf_read_hex Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Adr%, ByVal sdata$) As Integer
Declare Function rf_write Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Adr%, ByVal sdata$) As Integer
Declare Function rf_write_hex Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Adr%, ByVal sdata$) As Integer
Declare Function rf_check_write Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Snr As Long, ByVal mode%, ByVal Adr%, ByVal sdata$) As Integer
Declare Function rf_check_writehex Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Snr As Long, ByVal mode%, ByVal Adr%, ByVal sdata$) As Integer
'
Declare Function rf_initval Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Adr%, ByVal value As Long) As Integer
Declare Function rf_readval Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Adr%, value As Long) As Integer
Declare Function rf_increment Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Adr%, ByVal value As Long) As Integer
Declare Function rf_decrement Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Adr%, ByVal value As Long) As Integer
Declare Function rf_restore Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Adr%) As Integer
Declare Function rf_transfer Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Adr%) As Integer
Declare Function rf_halt Lib "mwrf32.dll" (ByVal icdev As Long) As Integer'
Declare Function rf_HL_increment Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%, ByVal secnr%, ByVal value As Long, Snr As Long, svalue As Long, ssnr As Long) As Integer
Declare Function rf_HL_decrement Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%, ByVal secnr%, ByVal value As Long, Snr As Long, svalue As Long, ssnr As Long) As Integer
Declare Function rf_HL_write Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%, ByVal Adr%, Snr As Long, ByVal sdata$) As Integer
Declare Function rf_HL_read Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%, ByVal Adr%, Snr As Long, ByVal sdata$, ssnr As Long) As Integer
Declare Function rf_HL_writehex Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%, ByVal Adr%, Snr As Long, ByVal sdata$) As Integer
Declare Function rf_HL_readhex Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%, ByVal Adr%, Snr As Long, ByVal sdata$, Rsnr As Long) As Integer
Declare Function rf_HL_initval Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%, ByVal secnr%, ByVal value As Long, Snr As Long) As Integer
'ML card function
Declare Function rf_initval_ml Lib "mwrf32.dll" (ByVal icdev As Long, ByVal value%) As Integer
Declare Function rf_readval_ml Lib "mwrf32.dll" (ByVal icdev As Long, value%) As Integer
Declare Function rf_decrement_ml Lib "mwrf32.dll" (ByVal icdev As Long, ByVal value%) As Integer
Declare Function rf_decrement_transfer Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Adr%, ByVal value%) As Integer
Declare Function rf_authentication_2 Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%, ByVal keynr%, ByVal Adr%) As Integer
'device fuction
Declare Function rf_reset Lib "mwrf32.dll" (ByVal icdev As Long, ByVal msec%) As Integer
Declare Function rf_get_status Lib "mwrf32.dll" (ByVal icdev As Long, ByVal status$) As Integer
Declare Function rf_encrypt Lib "mwrf32.dll" (ByVal key As String, ByVal ptrsource As String, ByVal msglen%, ByVal ptrdest$) As Integer
Declare Function rf_decrypt Lib "mwrf32.dll" (ByVal key As String, ByVal ptrsource As String, ByVal msglen%, ByVal ptrdest$) As Integer
Declare Function lib_ver Lib "mwrf32.dll" (ByVal str_ver As String) As Integer
Declare Function rf_beep Lib "mwrf32.dll" (ByVal icdev As Long, ByVal time1 As Integer) As Integer
Declare Function rf_srd_snr Lib "mwrf32.dll" (ByVal icdev As Long, ByVal offset%, ByVal rec_buffer$) As Integer
Declare Function rf_srd_eeprom Lib "mwrf32.dll" (ByVal icdev As Long, ByVal offset%, ByVal lenth%, ByVal rec_buffer$) As Integer
Declare Function rf_swr_eeprom Lib "mwrf32.dll" (ByVal icdev As Long, ByVal offset%, ByVal lenth%, ByVal send_buffer$) As Integer
Declare Function rf_changeb3 Lib "mwrf32.dll" (ByVal Adr As Long, ByVal secer As Integer, ByRef KeyA As Byte, ByVal B0 As Integer, ByVal B1 As Integer, ByVal B2 As Integer, ByVal B3 As Integer, ByVal Bk As Integer, ByRef KeyB As Byte) As Integer
Declare Function rf_disp8 Lib "mwrf32.dll" (ByVal icdev As Long, ByVal pt_mode As Integer, ByRef digit As Byte) As Integer
Declare Function rf_gettimehex Lib "mwrf32.dll" (ByVal icdev As Long, ByVal time$) As Integer
Declare Function rf_settimehex Lib "mwrf32.dll" (ByVal icdev As Long, ByVal time$) As Integer
Declare Function rf_setbright Lib "mwrf32.dll" (ByVal icdev As Long, ByVal value%) As Integer
Declare Function rf_ctl_mode Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%) As Integer
Declare Function rf_disp_mode Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%) As Integer
Declare Function rf_comm_check Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%) As Integer
Declare Function set_host_check Lib "mwrf32.dll" (ByVal mode%) As Integer
Declare Function set_host_485 Lib "mwrf32.dll" (ByVal mode%) As IntegerSub quit()
If icdev > 0 Then
st = rf_reset(icdev, 10)
st = rf_exit(icdev)
icdev = -1
End If
End Sub
Global icdev As Long
Global st As Integer
'comm function
Declare Function rf_config Lib "mwrf32.dll" (ByVal icdev%, ByVal mode%, ByVal baud%) As Integer
Declare Function rf_init Lib "mwrf32.dll" (ByVal port%, ByVal baud As Long) As Long
Declare Function rf_exit Lib "mwrf32.dll" (ByVal icdev As Long) As Integer
Declare Function rf_request Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%, atr_type%) As Integer
Declare Function rf_anticoll Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Bcnt%, Snr As Long) As Integer
Declare Function rf_select Lib "mwrf32.dll" (ByVal icdev%, ByVal Snr As Long, Size%) As Integer
Declare Function rf_card Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%, Snr As Long) As Integer
Declare Function rf_load_key Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%, ByVal secnr%, ByRef nkey As Byte) As Integer
Declare Function rf_load_key_hex Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%, ByVal secnr%, ByVal nkey As String) As Integer
Declare Function rf_authentication Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%, ByVal scenr%) As Integer
Declare Function rf_read Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Adr%, ByVal sdata$) As Integer
Declare Function rf_read_hex Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Adr%, ByVal sdata$) As Integer
Declare Function rf_write Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Adr%, ByVal sdata$) As Integer
Declare Function rf_write_hex Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Adr%, ByVal sdata$) As Integer
Declare Function rf_check_write Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Snr As Long, ByVal mode%, ByVal Adr%, ByVal sdata$) As Integer
Declare Function rf_check_writehex Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Snr As Long, ByVal mode%, ByVal Adr%, ByVal sdata$) As Integer
'
Declare Function rf_initval Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Adr%, ByVal value As Long) As Integer
Declare Function rf_readval Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Adr%, value As Long) As Integer
Declare Function rf_increment Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Adr%, ByVal value As Long) As Integer
Declare Function rf_decrement Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Adr%, ByVal value As Long) As Integer
Declare Function rf_restore Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Adr%) As Integer
Declare Function rf_transfer Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Adr%) As Integer
Declare Function rf_halt Lib "mwrf32.dll" (ByVal icdev As Long) As Integer'
Declare Function rf_HL_increment Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%, ByVal secnr%, ByVal value As Long, Snr As Long, svalue As Long, ssnr As Long) As Integer
Declare Function rf_HL_decrement Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%, ByVal secnr%, ByVal value As Long, Snr As Long, svalue As Long, ssnr As Long) As Integer
Declare Function rf_HL_write Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%, ByVal Adr%, Snr As Long, ByVal sdata$) As Integer
Declare Function rf_HL_read Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%, ByVal Adr%, Snr As Long, ByVal sdata$, ssnr As Long) As Integer
Declare Function rf_HL_writehex Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%, ByVal Adr%, Snr As Long, ByVal sdata$) As Integer
Declare Function rf_HL_readhex Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%, ByVal Adr%, Snr As Long, ByVal sdata$, Rsnr As Long) As Integer
Declare Function rf_HL_initval Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%, ByVal secnr%, ByVal value As Long, Snr As Long) As Integer
'ML card function
Declare Function rf_initval_ml Lib "mwrf32.dll" (ByVal icdev As Long, ByVal value%) As Integer
Declare Function rf_readval_ml Lib "mwrf32.dll" (ByVal icdev As Long, value%) As Integer
Declare Function rf_decrement_ml Lib "mwrf32.dll" (ByVal icdev As Long, ByVal value%) As Integer
Declare Function rf_decrement_transfer Lib "mwrf32.dll" (ByVal icdev As Long, ByVal Adr%, ByVal value%) As Integer
Declare Function rf_authentication_2 Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%, ByVal keynr%, ByVal Adr%) As Integer
'device fuction
Declare Function rf_reset Lib "mwrf32.dll" (ByVal icdev As Long, ByVal msec%) As Integer
Declare Function rf_get_status Lib "mwrf32.dll" (ByVal icdev As Long, ByVal status$) As Integer
Declare Function rf_encrypt Lib "mwrf32.dll" (ByVal key As String, ByVal ptrsource As String, ByVal msglen%, ByVal ptrdest$) As Integer
Declare Function rf_decrypt Lib "mwrf32.dll" (ByVal key As String, ByVal ptrsource As String, ByVal msglen%, ByVal ptrdest$) As Integer
Declare Function lib_ver Lib "mwrf32.dll" (ByVal str_ver As String) As Integer
Declare Function rf_beep Lib "mwrf32.dll" (ByVal icdev As Long, ByVal time1 As Integer) As Integer
Declare Function rf_srd_snr Lib "mwrf32.dll" (ByVal icdev As Long, ByVal offset%, ByVal rec_buffer$) As Integer
Declare Function rf_srd_eeprom Lib "mwrf32.dll" (ByVal icdev As Long, ByVal offset%, ByVal lenth%, ByVal rec_buffer$) As Integer
Declare Function rf_swr_eeprom Lib "mwrf32.dll" (ByVal icdev As Long, ByVal offset%, ByVal lenth%, ByVal send_buffer$) As Integer
Declare Function rf_changeb3 Lib "mwrf32.dll" (ByVal Adr As Long, ByVal secer As Integer, ByRef KeyA As Byte, ByVal B0 As Integer, ByVal B1 As Integer, ByVal B2 As Integer, ByVal B3 As Integer, ByVal Bk As Integer, ByRef KeyB As Byte) As Integer
Declare Function rf_disp8 Lib "mwrf32.dll" (ByVal icdev As Long, ByVal pt_mode As Integer, ByRef digit As Byte) As Integer
Declare Function rf_gettimehex Lib "mwrf32.dll" (ByVal icdev As Long, ByVal time$) As Integer
Declare Function rf_settimehex Lib "mwrf32.dll" (ByVal icdev As Long, ByVal time$) As Integer
Declare Function rf_setbright Lib "mwrf32.dll" (ByVal icdev As Long, ByVal value%) As Integer
Declare Function rf_ctl_mode Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%) As Integer
Declare Function rf_disp_mode Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%) As Integer
Declare Function rf_comm_check Lib "mwrf32.dll" (ByVal icdev As Long, ByVal mode%) As Integer
Declare Function set_host_check Lib "mwrf32.dll" (ByVal mode%) As Integer
Declare Function set_host_485 Lib "mwrf32.dll" (ByVal mode%) As IntegerSub quit()
If icdev > 0 Then
st = rf_reset(icdev, 10)
st = rf_exit(icdev)
icdev = -1
End If
End Sub
Dim akey(6) As Byte
Dim bkey(6) As Byte
Dim hexkey As String * 12
Dim displaydata(8) As Byte
Dim eepromdata As String * 32
Dim hardver As String * 20
Dim libver As String * 16
Dim ser As String * 16
Dim Snr As Long
Dim Rsnr As Long
Dim data16 As String * 16
Dim data32 As String * 32
Dim databuff32 As String * 32
Dim databuff16 As String * 16
Dim rvalue As Long
Dim wvalue As Long
Dim mlrvalue As Integer
Dim mlwvalue As Integer
Dim cardmode As Integer
Dim loadmode As Integer
Dim sector As Integer
Dim address As Integer
Dim ptrdest As String * 16
Dim ptrsource As String * 16
Dim time As String * 14
Dim timebuff As String * 14
Private Sub Form_Load()
icdev = -1
End SubPrivate Sub Form_Unload(Cancel As Integer)
quit
End SubPrivate Sub M1_comm_Click()
address = 9
sector = 2
cardmode = 1
st = rf_card(ByVal icdev, cardmode, Snr)
If st <> 0 Then
M1_label.Caption = "Call rf_card() error. Exit!"
Exit Sub
End Ifloadmode = 0
sector = 4
st = rf_authentication(ByVal icdev, loadmode, sector)
If st <> 0 Then
M1_label.Caption = "Call rf_authentication() error.Exit!"
Exit Sub
End Ifdata32 = "1234567890abcdef1234567890abcdef"
st = rf_write_hex(ByVal icdev, address, ByVal data32)
If st <> 0 Then
M1_label.Caption = "Call rf_write_hex() error.Exit!"
Exit Sub
End Ifst = rf_check_writehex(ByVal icdev, Snr, loadmode, address, data32)
If st <> 0 Then
M1_label.Caption = "Call rf_check_writehex() error.Exit!"
Exit Sub
End Ifst = rf_read_hex(ByVal icdev, address, databuff32)
If st <> 0 Then
M1_label.Caption = "Call rf_read_hex error.Exit!"
Exit Sub
End If'Modify the keys and some control bits
'Keep the following paramerters and keys same as the default
akey(0) = &HA0
akey(1) = &HA1
akey(2) = &HA2
akey(3) = &HA3
akey(4) = &HA4
akey(5) = &HA5bkey(0) = &HB0
bkey(1) = &HB1
bkey(2) = &HB2
bkey(3) = &HB3
bkey(4) = &HB4
bkey(5) = &HB5st = rf_changeb3(ByVal icdev, 2, akey(0), 0, 0, 0, 1, 0, bkey(0))
If st <> 0 Then
M1_label.Caption = "Call rf_changeb3() error.exit!"
Exit Sub
End If'Value Operation
wvalue = 10000
st = rf_initval(ByVal icdev, address + 1, ByVal wvalue)
If st <> 0 Then
M1_label.Caption = "Call rf_initval() error.Exit!"
Exit Sub
End Ifst = rf_restore(ByVal icdev, address + 1)
If st <> 0 Then
M1_label.Caption = "Call rf_restore() error.Exit!"
Exit Sub
End Ifst = rf_transfer(ByVal icdev, address)
If st <> 0 Then
M1_label.Caption = "Call rf_transfer() error.Exit!"
Exit Sub
End Ifst = rf_readval(ByVal icdev, address, rvalue)
If st <> 0 Then
M1_label.Caption = "Call rf_readval() error.Exit!"
Exit Sub
End Ifst = rf_increment(ByVal icdev, address + 1, 520)
If st <> 0 Then
M1_label.Caption = "Call rf_increment() error.Exit!"
Exit Sub
End Ifst = rf_decrement(ByVal icdev, address + 1, 520)
If st <> 0 Then
M1_label.Caption = "Call rf_decrement() error.Exit!"
Exit Sub
End If
st = rf_readval(ByVal icdev, address + 1, rvalue)
If st <> 0 Then
M1_label.Caption = "Call rf_readval() error.Exit!"
Exit Sub
End Ifst = rf_halt(ByVal icdev)
If st <> 0 Then
M1_label.Caption = "Call rf_halt() error.Exit!"
Exit Sub
End If
M1_label.Caption = "Card Functions OK!"
End SubPrivate Sub M1_device_Click()
st = rf_get_status(ByVal icdev, hardver)
If st <> 0 Then
M1_label.Caption = "Call rf_get_status() error.Exit!"
Exit Sub
End If
st = rf_srd_snr(ByVal icdev, 16, ser)
If st <> 0 Then
M1_label.Caption = "Call rf_srd_snr() error.Exit!"
Exit Sub
End If
st = lib_ver(libver)
If st <> 0 Then
M1_label.Caption = "Call lib_ver() error.Exit!"
Exit Sub
End If'Read/Write eeprom
eepromdata = "I Am Sailing,Are You?"
st = rf_swr_eeprom(ByVal icdev, 0, 20, ByVal eepromdata)
If st <> 0 Then
M1_label.Caption = "Call rf_swr_eeprom() error.Exit!"
Exit Sub
End Ifst = rf_srd_eeprom(ByVal icdev, 0, 20, data32)
If st <> 0 Then
M1_label.Caption = "Call rf_srd_eeprom() error.Exit!"
Exit Sub
End If'Data Encrypt
st = rf_encrypt("12345678", "abcdefghabcdefgh", 16, ptrdest)
If st <> 0 Then
M1_label.Caption = "Call rf_encrypt() error.Exit!"
Exit Sub
End Ifst = rf_decrypt("12345678", ptrdest, 16, ptrsource)
If st <> 0 Then
M1_label.Caption = "Call rf_encrypt() error.Exit!"
Exit Sub
End If'Control by computer
st = rf_ctl_mode(ByVal icdev, 0)
If st <> 0 Then
M1_label.Caption = "Call rf_ctl_mode(0) error.Exit!"
Exit Sub
End Ifst = rf_setbright(ByVal icdev, 6)
If st <> 0 Then
M1_label.Caption = "Call rf_setbright() error.Exit!"
Exit Sub
End If'Display 8.8.888888
displaydata(0) = &H8 + &H80
displaydata(1) = &H8
displaydata(2) = &H8
displaydata(3) = &H8
displaydata(4) = &H8
displaydata(5) = &H8
displaydata(6) = &H8
displaydata(7) = &H8
st = rf_disp8(ByVal icdev, 8, displaydata(0))
If st <> 0 Then
M1_label.Caption = "Call rf_disp8() error.Exit!"
Exit Sub
End If
'Display time
st = rf_ctl_mode(ByVal icdev, 1)
If st <> 0 Then
M1_label.Caption = "Call rf_ctl_mode(1) error.Exit!"
Exit Sub
End Ifst = rf_disp_mode(ByVal icdev, 1)
If st <> 0 Then
M1_label.Caption = "Call rf_disp_mode(1) error.Exit!"
Exit Sub
End If'Read/Set time
st = rf_gettimehex(ByVal icdev, timebuff)
If st <> 0 Then
M1_label.Caption = "Call rf_gettimehex() error.Exit!"
Exit Sub
End Iftime = timebuff
st = rf_settimehex(ByVal icdev, ByVal time)
If st <> 0 Then
M1_label.Caption = "Call rf_settimehex() error.Exit!"
Exit Sub
End Ifst = rf_beep(ByVal icdev, 20)
If st <> 0 Then
M1_label.Caption = "Call rf_beep() error.Exit!"
Exit Sub
End IfM1_label.Caption = "Device Function OK !"
End SubPrivate Sub M1_exit_Click()
quit
Unload Form1
End Sub
address = 5
cardmode = 1
sector = 3
data32 = "1234567890abcdef1234567890abcdef12345"
st = rf_HL_writehex(ByVal icdev, cardmode, address, Snr, ByVal data32)
If st <> 0 Then
M1_label.Caption = "Call rf_HL_writehex() error.Exit!"
Exit Sub
End Ifst = rf_HL_readhex(ByVal icdev, cardmode, address, Snr, databuff32, Rsnr)
If st <> 0 Then
M1_label.Caption = "Call rf_HL_readhex() error.Exit!"
Exit Sub
End Ifst = rf_HL_initval(ByVal icdev, cardmode, sector, wvalue, Snr)
If st <> 0 Then
M1_label.Caption = "Call rf_HL_initval() error.Exit!"
Exit Sub
End Ifst = rf_halt(ByVal icdev)
If st <> 0 Then
M1_label.Caption = "Call rf_halt() error.Exit!"
Exit Sub
End Ifst = rf_HL_increment(ByVal icdev, cardmode, sector, 20, Snr, rvalue, Rsnr)
If st <> 0 Then
M1_label.Caption = "Call rf_HL_increment() error.Exit"
Exit Sub
End If
st = rf_HL_decrement(ByVal icdev, cardmode, sector, 10, Snr, rvalue, Rsnr)
If st <> 0 Then
M1_label.Caption = "Call rf_HL_decrement() error.Exit!"
Exit Sub
End If
M1_label.Caption = "HL Function OK !"
End SubPrivate Sub M1_init_Click()
Snr = 0
Rsnr = 0
loadmode = 0
sector = 2
address = 9
wvalue = 1000If icdev < 0 Then
icdev = rf_init(0, 115200) 'Com2
End If
If icdev < 0 Then
M1_label.Caption = "Call rf_init() error.Exit!"
Exit Sub
End If
akey(0) = &HFF
akey(1) = &HFF
akey(2) = &HFF
akey(3) = &HFF
akey(4) = &HFF
akey(5) = &HFFFor sector = 0 To 15
st = rf_load_key(ByVal icdev, loadmode, sector, akey(0))
If st <> 0 Then
M1_label.Caption = "Call rf_load _key() error.Exit!"
Exit Sub
End If
Next
'hexkey = "FFFFFFFFFFFF"
'st = rf_load_key_hex(ByVal icdev, loadmode, sector, ByVal hexkey)
'If st <> 0 Then
'M1_label.Caption = "Call rf_Load_key_hex() error.Exit!"
'Exit Sub'End IfM1_label.Caption = "Initalize OK !"
End SubPrivate Sub ML_comm_Click()
address = 2
loadmode = 0
cardmode = 1 'st = rf_card(ByVal icdev, cardmode, Snr)
If st <> 0 Then
ML_label.Caption = "Call rf_card() error.Exit!"
Exit Sub
End Ifst = rf_authentication_2(ByVal icdev, loadmode, 0, 0)
If st <> 0 Then
ML_label.Caption = "Call rf_authentication_2() error.Exit!"
Exit Sub
End If
data16 = "1234" 'write 4 byte
st = rf_write(ByVal icdev, address, ByVal data16)
If st <> 0 Then
ML_label.Caption = "Call rf_write() error.Exit!"
Exit Sub
End Ifdata16 = "5678" 'write 4 byte
st = rf_write(ByVal icdev, address + 1, ByVal data16)
If st <> 0 Then
ML_label.Caption = "Call rf_write() error.Exit!"
Exit Sub
End Ifst = rf_read(ByVal icdev, address, databuff16) ' 8 byte valid
If st <> 0 Then
ML_label.Caption = "Call rf_read() error.Exit!"
Exit Sub
End Ifst = StrComp("12345678", Mid(databuff16, 1, 8))
If st <> 0 Then
ML_label.Caption = "R/W compare error.Exit!"
Exit Sub
End If
' value operating
mlwvalue = 100
st = rf_initval_ml(ByVal icdev, ByVal mlwvalue)
If st <> 0 Then
ML_label.Caption = "Call rf_initval_ml() error.Exit!"
Exit Sub
End Ifst = rf_readval_ml(ByVal icdev, mlrvalue)
If st <> 0 Then
ML_label.Caption = "Call rf_readval_ml() error.Exit!"
Exit Sub
End Ifst = rf_decrement_transfer(ByVal icdev, 0, 20)
If st <> 0 Then
ML_label.Caption = "Call rf_decrement_transfer() error.Exit!"
Exit Sub
End Ifst = rf_readval_ml(ByVal icdev, mlrvalue)
If st <> 0 Then
ML_label.Caption = "Call rf_readval_ml() error.Exit!"
Exit Sub
End Ifst = rf_halt(ByVal icdev)
If st <> 0 Then
ML_label.Caption = "Call rf_halt() error.Exit!"
Exit Sub
End If
ML_label.Caption = "Card Function OK !"
End SubPrivate Sub ML_device_Click()
st = rf_get_status(ByVal icdev, hardver)
If st <> 0 Then
M1_label.Caption = "Call rf_get_status() error.Exit!"
Exit Sub
End Ifst = rf_srd_snr(ByVal icdev, 16, ser)
If st <> 0 Then
ML_label.Caption = "Call rf_srd_snr() error.Exit!"
Exit Sub
End Ifst = lib_ver(libver)
If st <> 0 Then
ML_label.Caption = "Call lib_ver() error.Exit!"
Exit Sub
End If'Read/Write eeprom
eepromdata = "I Am Sailing,Are You?"
st = rf_swr_eeprom(ByVal icdev, 0, 25, ByVal eepromdata)
If st <> 0 Then
ML_label.Caption = "Call rf_swr_eeprom() error.Exit!"
Exit Sub
End Ifst = rf_srd_eeprom(ByVal icdev, 0, 25, data32)
If st <> 0 Then
ML_label.Caption = "Call rf_srd_eeprom() error.Exit!"
Exit Sub
End If'Data encrypt
st = rf_encrypt("12345678", "abcdefghabcdefgh", 16, ptrdest)
If st <> 0 Then
ML_label.Caption = "Call rf_encrypt() error.Exit!"
Exit Sub
End Ifst = rf_decrypt("12345678", ptrdest, 16, ptrsource)
If st <> 0 Then
ML_label.Caption = "Call rf_encrypt() error.Exit!"
Exit Sub
End If'Control by computer
st = rf_ctl_mode(ByVal icdev, 0)
If st <> 0 Then
ML_label.Caption = "Call rf_ctl_mode(0) error.Exit!"
Exit Sub
End Ifst = rf_setbright(ByVal icdev, 6)
If st <> 0 Then
ML_label.Caption = "Call rf_setbright() error.Exit!"
Exit Sub
End If'Display 8.7654321
displaydata(0) = &H8 Or &H80
displaydata(1) = &H7
displaydata(2) = &H6
displaydata(3) = &H5
displaydata(4) = &H4
displaydata(5) = &H3
displaydata(6) = &H2
displaydata(7) = &H1
st = rf_disp8(ByVal icdev, 8, displaydata(0))
If st <> 0 Then
ML_label.Caption = "Call rf_disp8() error.Exit!"
Exit Sub
End If'Control by reader
st = rf_ctl_mode(ByVal icdev, 1)
If st <> 0 Then
ML_label.Caption = "Call rf_ctl_mode(1) error.Exit!"
Exit Sub
End If'Display Date
st = rf_disp_mode(ByVal icdev, 0)
If st <> 0 Then
ML_label.Caption = "Call rf_disp_mode(0) error.Exit!"
Exit Sub
End If'Read/Set time
st = rf_gettimehex(ByVal icdev, timebuff)
If st <> 0 Then
ML_label.Caption = "Call rf_gettimehex() error.Exit!"
Exit Sub
End Iftime = timebuff
st = rf_settimehex(ByVal icdev, ByVal time)
If st <> 0 Then
ML_label.Caption = "Call rf_settimehex() error.Exit!"
Exit Sub
End If
st = rf_beep(ByVal icdev, 20)
If st <> 0 Then
ML_label.Caption = "Call rf_beep() error.Exit!"
Exit Sub
End If
ML_label.Caption = "Device Function OK !"
End SubPrivate Sub ML_exit_Click()
quit
Unload Form1
End SubPrivate Sub ML_init_Click()
Snr = 0
loadmode = 0
wvalue = 1000
If icdev < 0 Then
icdev = rf_init(1, 115200) 'Com2
End If
If icdev < 0 Then
ML_label.Caption = "Call rf_init() error.Exit!"
Exit Sub
End Ifhexkey = "ffffffffffff"
st = rf_load_key_hex(ByVal icdev, loadmode, 0, ByVal hexkey)
If st <> 0 Then
ML_label.Caption = "Call rf_Load_key_hex() error.Exit!"
Exit Sub
End If
ML_label.Caption = "Initalize OK!"
End Sub
http://www.vbgood.com/forum.php?mod=viewthread&tid=104609&highlight=有明华RF-35IC卡的DLL和它的例程代码,加上硬件的正确连接,就能用了.
新建VB的EXE工程,添加标准模块(模块中复制以下是窗体的行以上的代码
在Form1窗体中(复制以下是窗体的行以下的代码到代码窗口),并在窗体上放置2个Label(标签)控件,放置9个按钮控件,做好各自Name的命名。
只不过LZ需要懂E文。
ML_init_Click
以上是初始化,initE文初始化的缩略语M1_device
ML_device
device E文装置,设施M1_comm
ML_comm
comm E文通信的缩写M1_high
highE文高的意思
M1_exit
exit,E文退出的意思