mdumain.bas

来自「磁条读写机」· BAS 代码 · 共 74 行

BAS
74
字号
Attribute VB_Name = "mduMain"
Option Explicit
Public hPort As Long
Public DataBuffer(128) As Byte
Sub Main()
hPort = -1
frmMain.Show
End Sub

Sub OpenReader()
hPort = SC_OpenReader("USB", "")
If (hPort < 0) Then
    ReportError
    End
End If
End Sub

Sub ReportError()
    Dim strDesc As String
    strDesc = Space(1001)
    SCHelp_ErrorDesc SC_GetLastError, strDesc, 100
    MsgBox "error code:" & SC_GetLastError & Chr(10) & Chr(13) & strDesc
End Sub

Sub Connect()
    Dim ATR(4) As Byte
    If 0 = SC_Connect(hPort, "AT24", "", ATR(0)) Then
        ReportError
    Else
        Dim strHex As String
        strHex = Space(8)
        SCHelp_BytesToHexString ATR(0), 4, strHex
        MsgBox strHex
    End If
End Sub

Function WriteCard(ByVal lPageList As Long, ByVal stPageAddr As Long, ByVal stOffset As Long, ByVal count As Long) As Boolean
    If 0 = SCAT24_Write(hPort, lPageList * 2 + &HA0, stPageAddr + stOffset, DataBuffer(stOffset), count) Then
        ReportError
        WriteCard = False
    Else
        MsgBox "Write OK"
        WriteCard = True
    End If
End Function

Function ReadCard(ByVal lPageList As Long, ByVal lAddr As Long) As Boolean
If 0 = SCAT24_Read(hPort, lPageList * 2 + &HA0, lAddr, DataBuffer(0), 128) Then
    ReportError
    ReadCard = False
Else
    MsgBox "Read OK!"
    ReadCard = True
End If
End Function


Function GetDataBufferString(ByVal lLen As Long) As String
Dim strHex As String
GetDataBufferString = ""
Dim i As Long
For i = 0 To lLen - 1
    strHex = Space(2)
    SCHelp_BytesToHexString DataBuffer(i), 1, strHex
    GetDataBufferString = GetDataBufferString & strHex & " "
Next
End Function

Sub GetBufferData(ByVal strText As String)
    SCHelp_HexStringToBytes strText, DataBuffer(0), 128
End Sub


⌨️ 快捷键说明

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