⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sample.frm

📁 明华IC卡读卡器的例程
💻 FRM
📖 第 1 页 / 共 2 页
字号:


st = rf_readval(ByVal icdev, address + 1, rvalue)
If st <> 0 Then
    M1_label.Caption = "Call rf_readval() error.Exit!"
    Exit Sub
End If

st = 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 Sub

Private 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 If

st = 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 If

st = 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 If

st = 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 If

st = 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 If

time = timebuff
st = rf_settimehex(ByVal icdev, ByVal time)
If st <> 0 Then
     M1_label.Caption = "Call rf_settimehex() error.Exit!"
     Exit Sub
End If

st = rf_beep(ByVal icdev, 20)
If st <> 0 Then
     M1_label.Caption = "Call rf_beep() error.Exit!"
     Exit Sub
End If
 
M1_label.Caption = "Device Function OK !"
End Sub

Private Sub M1_exit_Click()
  quit
  Unload Form1
End Sub

Private Sub M1_high_Click()
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 If

st = 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 If

st = 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 If

st = rf_halt(ByVal icdev)
If st <> 0 Then
     M1_label.Caption = "Call rf_halt() error.Exit!"
     Exit Sub
End If
 
st = 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 Sub

Private Sub M1_init_Click()
Snr = 0
Rsnr = 0
loadmode = 0
sector = 2
address = 9
wvalue = 1000



If 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) = &HFF

For 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 If

M1_label.Caption = "Initalize OK !"
End Sub

Private 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 If

st = 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 If
 
data16 = "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 If

st = rf_read(ByVal icdev, address, databuff16) ' 8 byte valid
If st <> 0 Then
     ML_label.Caption = "Call rf_read() error.Exit!"
     Exit Sub
End If

st = 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 If
 
st = rf_readval_ml(ByVal icdev, mlrvalue)
If st <> 0 Then
    ML_label.Caption = "Call rf_readval_ml() error.Exit!"
    Exit Sub
End If
 
st = rf_decrement_transfer(ByVal icdev, 0, 20)
If st <> 0 Then
    ML_label.Caption = "Call rf_decrement_transfer() error.Exit!"
    Exit Sub
End If

st = rf_readval_ml(ByVal icdev, mlrvalue)
If st <> 0 Then
     ML_label.Caption = "Call rf_readval_ml() error.Exit!"
     Exit Sub
End If

st = 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 Sub

Private 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 If

st = rf_srd_snr(ByVal icdev, 16, ser)
If st <> 0 Then
     ML_label.Caption = "Call rf_srd_snr() error.Exit!"
     Exit Sub
End If

st = 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 If

st = 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 If

st = 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 If

st = 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 If

time = 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 Sub

Private Sub ML_exit_Click()
 quit
 Unload Form1
End Sub

Private 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 If

hexkey = "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


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -