定义________________________________________________________________
Public Type InputParam '//输入参数
TransType As String '/*交易类型 */
Amount As String * 12 '/*交易金额 仅仅交易类型为“消费”类型时有效000000001234 表示金额为12.34元*/
Track2 As String * 37 '/*二磁道数据*/
Track3 As String * 104 '/*三磁道数据*/
CounterNo As String * 8 '/*取消或退货时需要提供的终端号*/
OpId As String * 6 '/*操作员标识*/
TraceNo As String * 6 '/*收银系统的交易票据号*/
OrigVoucherNo As String * 6 '/*取消或退货时需要提供的原交易凭证号*/
OrigCounterNo As String * 9
End Type
Public Type OutputParamm '//输出参数
Resp_Code As String * 2 '/*交易响应码 */
Resp_Chn As String * 50 '/*交易结果 交易响应码的中文解释*/
Resp_Eng As String * 50 '/*交易结果 交易响应码的英文解释*/
End Type
Public srcs As InputParam '输入参数
Public sccs As OutputParamm '输出参数
Declare Function Abmcs Lib "ABMSCLI.dll" (STInputParam As InputParam, STOutputParam As OutputParamm) As Integer'______________________________________________________________________________
调用Dim settle_skls As Long
With srcs
.TransType = "0" '/*交易类型 */
.Amount = "000000001234" '/*交易金额 仅仅交易类型为“消费”类型时有效000000001234 表 .Track2 = "2121212121212" '/*二磁道数据*/
.Track3 = "" '/*三磁道数据*/
.CounterNo = "101001" '/*取消或退货时需要提供的终端号*/
.OpId = "0000" '/*操作员标识*/
.TraceNo = "89200702154545" '/*收银系统的交易票据号*/
.OrigVoucherNo = "115454" '/*取消或退货时需要提供的原交易凭证号*/
.OrigCounterNo = "1212"
End With
settle_skls = Abmcs(srcs, sccs)
问题_______________________________________
我如何接收返回的数据:SCCS------------------------------------------------
Public Type InputParam '//输入参数
TransType As String '/*交易类型 */
Amount As String * 12 '/*交易金额 仅仅交易类型为“消费”类型时有效000000001234 表示金额为12.34元*/
Track2 As String * 37 '/*二磁道数据*/
Track3 As String * 104 '/*三磁道数据*/
CounterNo As String * 8 '/*取消或退货时需要提供的终端号*/
OpId As String * 6 '/*操作员标识*/
TraceNo As String * 6 '/*收银系统的交易票据号*/
OrigVoucherNo As String * 6 '/*取消或退货时需要提供的原交易凭证号*/
OrigCounterNo As String * 9
End Type
Public Type OutputParamm '//输出参数
Resp_Code As String * 2 '/*交易响应码 */
Resp_Chn As String * 50 '/*交易结果 交易响应码的中文解释*/
Resp_Eng As String * 50 '/*交易结果 交易响应码的英文解释*/
End Type
Public srcs As InputParam '输入参数
Public sccs As OutputParamm '输出参数
Declare Function Abmcs Lib "ABMSCLI.dll" (STInputParam As InputParam, STOutputParam As OutputParamm) As Integer'______________________________________________________________________________
调用Dim settle_skls As Long
With srcs
.TransType = "0" '/*交易类型 */
.Amount = "000000001234" '/*交易金额 仅仅交易类型为“消费”类型时有效000000001234 表 .Track2 = "2121212121212" '/*二磁道数据*/
.Track3 = "" '/*三磁道数据*/
.CounterNo = "101001" '/*取消或退货时需要提供的终端号*/
.OpId = "0000" '/*操作员标识*/
.TraceNo = "89200702154545" '/*收银系统的交易票据号*/
.OrigVoucherNo = "115454" '/*取消或退货时需要提供的原交易凭证号*/
.OrigCounterNo = "1212"
End With
settle_skls = Abmcs(srcs, sccs)
问题_______________________________________
我如何接收返回的数据:SCCS------------------------------------------------
然后执行完那函数后,直接取你定义为传出的参数就可以了
settle_skls = Abmcs(srcs, sccs)
sccs就是你要的结果
另外,对于接收传回的数据如何定义我还是没搞清楚,
因为
sccs被定义为:
Public Type OutputParamm '//输出参数
Resp_Code As String * 2 '/*交易响应码 */
Resp_Chn As String * 50 '/*交易结果 交易响应码的中文解释*/
Resp_Eng As String * 50 '/*交易结果 交易响应码的英文解释*/
End Type
我如何获取三个值呢
首先,Declare时参数应该以byref传递;然后,如前所述,sccs就是你所需要的输出参数,用以下方法引用输出参数的值:sccs.Resp_Code
sccs.Resp_Chn
sccs.Resp_Eng
settle_skls = Abmcs(srcs, sccs)
debug.print sccs.Resp_Code