在做一个读卡器的接口。只给了一个vb的demo 。怎么试也不成
dll 参数
Private Declare Function ic_init Lib "MWIC_32" (ByVal port As Long, ByVal baud As Long) As LongPrivate Declare Function readCard Lib "BGCard" (ByVal icDev As Long, ByVal userCode As String, cardAmount As Single, meterAmount As Single, TestAmount As Single, inserted As Byte) As LongPrivate Declare Function writeCard Lib "BGCard" (ByVal icDev As Long, ByVal userCode As String, ByVal Amount As Single, ByVal saveInfo As String) As Long//读卡部分
Dim icDev As Long
Dim reVal As Long
Dim userCode As String * 8
Dim cardAmount, meterAmount, TestAmount As Single
Dim inserted As Byte
icDev = ic_init(0, 9600) '串口一
reVal = readCard(icDev, userCode, cardAmount, meterAmount, TestAmount, inserted)
If reVal = 0 Then
MsgBox "读卡成功。用户号:" & userCode & ", 卡上气量:" & cardAmount & ""
Else
MsgBox "读卡失败,错误号:" & reVal
End If
ic_exit icDev//写卡部分'////全局变量,保存返回信息
Private Sub WriteInfo(s As String)
Open "c:\saveinf.txt" For Output As #1
Print #1, s
Close #1
End Sub
Private Function ReadInfo() As String
Open "c:\saveinf.txt" For Input As #1
Dim FileData As String
Input #1, FileData
ReadInfo = FileData
Close #1
End Function
Dim icDev As Long
Dim reVal As Long
Dim userCode As String * 8
Dim saveInfo As String * 16
icDev = ic_init(0, 9600) '串口一
userCode = "12345678"
saveInfo = ReadInfo
reVal = writeCard(icDev, userCode, 10, saveInfo)
If reVal = 0 Then
WriteInfo saveInfo
MsgBox "写卡成功。"
Else
MsgBox "写卡失败,错误号:" & reVal
End If
ic_exit icDev拜托各位大侠了!!!!!!!!!
dll 参数
Private Declare Function ic_init Lib "MWIC_32" (ByVal port As Long, ByVal baud As Long) As LongPrivate Declare Function readCard Lib "BGCard" (ByVal icDev As Long, ByVal userCode As String, cardAmount As Single, meterAmount As Single, TestAmount As Single, inserted As Byte) As LongPrivate Declare Function writeCard Lib "BGCard" (ByVal icDev As Long, ByVal userCode As String, ByVal Amount As Single, ByVal saveInfo As String) As Long//读卡部分
Dim icDev As Long
Dim reVal As Long
Dim userCode As String * 8
Dim cardAmount, meterAmount, TestAmount As Single
Dim inserted As Byte
icDev = ic_init(0, 9600) '串口一
reVal = readCard(icDev, userCode, cardAmount, meterAmount, TestAmount, inserted)
If reVal = 0 Then
MsgBox "读卡成功。用户号:" & userCode & ", 卡上气量:" & cardAmount & ""
Else
MsgBox "读卡失败,错误号:" & reVal
End If
ic_exit icDev//写卡部分'////全局变量,保存返回信息
Private Sub WriteInfo(s As String)
Open "c:\saveinf.txt" For Output As #1
Print #1, s
Close #1
End Sub
Private Function ReadInfo() As String
Open "c:\saveinf.txt" For Input As #1
Dim FileData As String
Input #1, FileData
ReadInfo = FileData
Close #1
End Function
Dim icDev As Long
Dim reVal As Long
Dim userCode As String * 8
Dim saveInfo As String * 16
icDev = ic_init(0, 9600) '串口一
userCode = "12345678"
saveInfo = ReadInfo
reVal = writeCard(icDev, userCode, 10, saveInfo)
If reVal = 0 Then
WriteInfo saveInfo
MsgBox "写卡成功。"
Else
MsgBox "写卡失败,错误号:" & reVal
End If
ic_exit icDev拜托各位大侠了!!!!!!!!!
// 接口
function readCard(icDev: Integer; userCode: PChar; var cardAmount, meterAmount,
TestAmout: Single; var inserted: Byte): Integer; stdcall; external 'BGCard.dll';function writeCard(icDev: Integer; userCode: PChar; Amount: Single; saveInfo:
PChar): Integer; stdcall; external 'BGCard.dll';......// 读卡部分
var
icDec, reVal: Integer;
userCode: array[0..7] of Char;
cardAmount, meterAmount, TestAmount: Single;
inserted: Byte;
begin
// icDec := ic_init(0, 9600); 没交代
reVal := readCard(icDec, userCode, cardAmount, meterAmount, TestAmount,
inserted);
if reVal = 0 then
ShowMessage(Format('读卡成功。用户号: %d , 卡上气量: %d', [userCode,
cardAmount]))
else
ShowMessage(Format('读卡失败,错误号: %d', [reVal]));
//ic_exit icDev 没交代
end;......// 写卡部分
var
icDev, reVal: Integer;
userCode: array[0..7] of Char;
saveInfo: array[0..15] of Char;
begin
icDec := ic_init(0, 9600);
userCode := '12345678';
saveInfo := ReadInfo;
reVal := writeCard(icDec, userCode, 10, saveInfo);
if reVal = 0 then
begin
// WriteInfo saveInfo 没交代
ShowMessage('写卡成功。')
end
else
ShowMessage(Format('写卡失败,错误号: %d', [reVal]));
// ic_exit icDev 没交代
end;
reVal := writeCard(icDec, @userCode[0], 10, @saveInfo[0]);
'////全局变量,保存返回信息
Private Sub WriteInfo(s As String)
Open "c:\saveinf.txt" For Output As #1
Print #1, s
Close #1
End Sub
Private Function ReadInfo() As String
Open "c:\saveinf.txt" For Input As #1
Dim FileData As String
Input #1, FileData
ReadInfo = FileData
Close #1
End Function
Private Declare Function writeCard Lib "BGCard" (ByVal icDev As Long, ByVal userCode As String, ByVal Amount As Single, ByVal saveInfo As String) As Long
'////全局变量,保存返回信息
Private Sub WriteInfo(s As String)
Open "c:\saveinf.txt" For Output As #1
Print #1, s
Close #1
End Sub
Private Function ReadInfo() As String
Open "c:\saveinf.txt" For Input As #1
Dim FileData As String
Input #1, FileData
ReadInfo = FileData
Close #1
End Function
Private Sub Command1_Click()
Dim icDev As Long
Dim reVal As Long
Dim saveInfo As String * 16
icDev = ic_init(0, 9600) '串口一
reVal = makeCard(icDev, "12345678", 10, saveInfo, 129)
If reVal = 0 Then
WriteInfo saveInfo
MsgBox "写卡成功"
Else
MsgBox "写卡失败,错误号:" & reVal
End If
ic_exit icDev
End Sub
Private Sub Command3_Click()
Dim icDev As Long
Dim reVal As Long
Dim userCode As String * 8
Dim saveInfo As String * 16
icDev = ic_init(0, 9600) '串口一
userCode = "12345678"
saveInfo = ReadInfo
reVal = writeCard(icDev, userCode, 10, saveInfo)
If reVal = 0 Then
WriteInfo saveInfo
MsgBox "写卡成功。"
Else
MsgBox "写卡失败,错误号:" & reVal
End If
ic_exit icDev
End Sub