📄 declare.bas
字号:
Attribute VB_Name = "DECLARE"
Option Explicit
Option Base 0
Type MemEntry
Mem As String * 1
End Type
Declare Function ScardComand Lib "SCARD.DLL" (Handle As Long, ByVal Cmd As String, Cmdln As Long, ByVal Datin As String, DatInLn As Long, ByVal DatOut As String, DatoutLN As Long) As Long
Global Handle As Long
Global buffout As String * 2096
Global Buffin As String * 2096
Global Cmdln As Long
Global Datln As Long
Global Datlnout As Long
Global DatoutLN As Long
Global lotnr As String
Global serialNo As String
Global keyindex As Integer
Global Memmap As String * 32000
Global Memsize As Integer
Global theMem As MemEntry
Function conv(instring$, outstring$)
Dim readout$, readbuff$
Dim i As Integer
For i = 1 To 64
readout$ = Right$("0" + Hex$(Asc(Mid$(instring$, i, 1))), 2)
readbuff$ = readbuff$ + readout$
Next i
outstring$ = readbuff$
End Function
Function convbuff(instring$, outstring$, length)
Dim readout$, readbuff$
Dim i As Integer
For i = 1 To length
readout$ = Right$("0" + Hex$(Asc(Mid$(instring$, i, 1))), 2)
readbuff$ = readbuff$ + readout$
Next i
outstring$ = readbuff$
End Function
Function CONVnum(instring$, outstring$, length)
Dim readout$, readbuff$
Dim lo$, Hi$
Dim i As Integer
Dim a As Integer
Dim scrap As String * 1
On Error GoTo errhandle
For i = 1 To length
scrap = (Mid$(instring$, i, 1))
readout$ = Right$("0" + Hex$(Asc(Mid$(instring$, i, 1))), 2)
readout$ = Right$("0" + Hex$(Asc(Mid$(instring$, i, 1))), 2)
readbuff$ = readbuff$ + readout$
Next i
' swap the data backward os 104563 becomes 015436
For i = 1 To Len(readbuff$) Step 2
lo$ = Mid$(readbuff, i, 1)
Hi$ = Mid$(readbuff, i + 1, 1)
If lo$ = "F" Then lo$ = " "
If Hi$ = "F" Then Hi$ = " "
If lo$ = "A" Then lo$ = "*"
If Hi$ = "A" Then Hi$ = "*"
If lo$ = "B" Then lo$ = "#"
If Hi$ = "B" Then Hi$ = "#"
If lo$ = "C" Then lo$ = "P"
If Hi$ = "C" Then Hi$ = "P"
Mid$(readbuff, i, 1) = Hi$
Mid$(readbuff, i + 1, 1) = lo$
Next i
outstring$ = readbuff$
Exit Function
errhandle:
Resume Next
End Function
Function CONVSTR(instring$, outstring$, length)
Dim readout$, readbuff$
Dim lo, Hi As Integer
Dim i As Integer
Dim buff$
Dim temp As Integer
readbuff$ = ""
For i = 1 To length Step 2
lo = Val(Mid$(instring$, i, 1))
' USED AS *
If (Mid$(instring$, i, 1)) = "*" Then
lo = &HA
End If
' Used as #
If (Mid$(instring$, i, 1)) = "#" Then
lo = &HB
End If
' Used as P for Pasue
If (Mid$(instring$, i, 1)) = "P" Then
lo = &HC
End If
If i = length Then
Hi = &HF0
Else
' BLANK
If (Mid$(instring$, i + 1, 1)) = " " Then
Hi = &HF
Else
Hi = Val(Mid$(instring$, i + 1, 1)) * 16
End If
' USED AS *
If (Mid$(instring$, i + 1, 1)) = "*" Then
Hi = &HA0
End If
' Used as #
If (Mid$(instring$, i + 1, 1)) = "#" Then
Hi = &HB0
End If
' Used as P for Pasue
If (Mid$(instring$, i + 1, 1)) = "P" Then
Hi = &HC0
End If
End If
readout$ = Chr$(Hi + lo)
readbuff$ = readbuff$ + readout$
Next i
outstring$ = readbuff$
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -