将下面vb代码转换成delphi代码

kangyanwen2003 2009-06-19 04:38:38
Sub ReadCard()
j = rf_request(0, mode, p)
If (j = 0) Then
j = 1
j = rf_anticoll(0, 4, CardSN, plen)
If (j = 0) Then
j = 1
j = rf_select(0, CardSN, plen, pSize)
mode = &H60
End If
If (j = 0) Then
j = 1
j = rf_M1_authentication2(0, mode, CByte("0"), Key(0))
newone = 1
End If
If (j = 0) Then
j = 1
j = rf_M1_read(0, CByte("0"), pdata(0), PLen1)
j = rf_M1_read(0, CByte("1"), PData1(0), PLen1)
Else
For k = 0 To 5
Key(k) = PKey2(k)
Next k
ReadCard
End If
If (j = 0) Then
If (CHK = 0) Then
If (PData1(0) = &H0) Then
j = rf_beep(0, 20)
j = rf_light(0, 2)
CHK = 1
ReadOK
Else
j = MsgBox("该卡不是用户卡", vbInformation, "添加用户")
End If
Else
j = rf_light(0, 1)
End If

End If
Else
j = rf_light(0, 1)
setobj (False)
Label7.Caption = ""
Label8.Caption = ""
Label9.Caption = ""
Label10.Caption = ""
Text1.Text = 0
CHK = 0
For k = 0 To 5
Key(k) = PKey(k)
Next k
End If
End Sub

Sub ReadOK()
PIN = Right("00" & Hex(PData1(4)), 2) & Right("00" & Hex(PData1(5)), 2) & Right("00" & Hex(PData1(6)), 2) & Right("00" & Hex(PData1(7)), 2) & Right("00" & Hex(PData1(8)), 2)
Label7.Caption = ""
If (PData1(11) = &H0) Then
If (PData1(10) = getcomputerid) Then
For k1 = 0 To 3
Label7.Caption = Label7.Caption & Hex(pdata(k1))
Next k1
Label8.Caption = GetUserName(Label7.Caption)
Label9.Caption = GetPumpName(Right("00" & Hex(PData1(1)), 2) & Right("00" & Hex(PData1(2)), 2) & Right("00" & Hex(PData1(3)), 2))
Label10.Caption = CLng("&h" & Right("00" & Hex(PData1(9)), 2) & Right("00" & Hex(PData1(8)), 2) & Right("00" & Hex(PData1(7)), 2) & Right("00" & Hex(PData1(6)), 2)) / 10
setobj (True)
Else
j = MsgBox("对不起,该卡属于其他终端", vbInformation, "充值")
End If
Else
j = MsgBox("对不起,卡片出错,请到控制器重新刷卡", vbInformation, "充值")
End If
'If (pdata1(0) = &H22) Then
' setcombo
'End If
End Sub
...全文
37 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kangyanwen2003 2009-06-22
  • 打赏
  • 举报
回复
已经解决谢谢各位!
kangyanwen2003 2009-06-22
  • 打赏
  • 举报
回复
谢谢楼上的了
现在就剩
CLng("&h" & Right("00" & Hex(PData1(9)), 2) & Right("00" & Hex(PData1(8)), 2) & Right("00" & Hex(PData1(7)), 2) & Right("00" & Hex(PData1(6)), 2)) / 10
不知道怎么转换成delphi的代码
dinoalex 2009-06-21
  • 打赏
  • 举报
回复
还有写出厂方提供的函数的原型
lantianhf 2009-06-21
  • 打赏
  • 举报
回复
帮顶了

UP!
SuperTitan001 2009-06-19
  • 打赏
  • 举报
回复
一段读Mifare 1卡数据的程序
不过,如果你不把函数和变量声明写出来,很难转成delphi的

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧