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

📄 mdumain.bas

📁 磁条读写机
💻 BAS
字号:
Attribute VB_Name = "mduMain"
Option Explicit
Public hPort As Long
Public DataBuffer(128) As Byte
Public LockBuffer(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, "SLE4428", "", 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 LockCard(ByVal lPage As Long, ByVal stAddr As Long, ByVal count As Long) As Boolean
    If 0 = SC4428_WriteLock(hPort, (lPage * 128) + stAddr, DataBuffer(stAddr), count) Then
        ReportError
        LockCard = False
    Else
        MsgBox "Write&Lock OK"
        LockCard = True
    End If
End Function


Function WriteCard(ByVal lPage As Long, ByVal stAddr As Long, ByVal count As Long) As Boolean
    If 0 = SC4428_Write(hPort, (lPage * 128) + stAddr, DataBuffer(stAddr), count) Then
        ReportError
        WriteCard = False
    Else
        MsgBox "Write OK"
        WriteCard = True
    End If
End Function

Function ReadCard(ByVal lPage As Long) As Boolean
If 0 = SC4428_ReadEx(hPort, lPage * 128, DataBuffer(0), LockBuffer(0), 128) Then
    ReportError
    ReadCard = False
Else
    MsgBox "Read OK!"
    ReadCard = True
End If
End Function


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

Function GetLockBufferString() As String
Dim strHex As String
GetLockBufferString = ""
Dim i As Long
For i = 0 To 127
    strHex = Space(2)
    SCHelp_BytesToHexString LockBuffer(i), 1, strHex
    GetLockBufferString = GetLockBufferString & strHex & " "
Next
End Function


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


⌨️ 快捷键说明

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