源代码如下:
THEPATH = PATH(CurrentDb.Name)
START = THEPATH & "CARDCMD.EXE 1"
TOREAD = THEPATH & "CARDCMD.EXE 2"
GETDATA = THEPATH & "CARDCMD.EXE 3"
TOCLOSE = THEPATH & "CARDCMD.EXE 4"
DATAFILE = THEPATH & "RESULT.TXT"If Shell(START, vbHide) = 0 Then GoTo ERR_READTMP
If Shell(TOREAD, vbHide) = 0 Then GoTo ERR_READTMP
If Shell(GETDATA, vbHide) = 0 Then GoTo ERR_READTMP
Open DATAFILE For Input As #1
Z = Input(151, #1)
Close #1
但结果文件读不出来
THEPATH = PATH(CurrentDb.Name)
START = THEPATH & "CARDCMD.EXE 1"
TOREAD = THEPATH & "CARDCMD.EXE 2"
GETDATA = THEPATH & "CARDCMD.EXE 3"
TOCLOSE = THEPATH & "CARDCMD.EXE 4"
DATAFILE = THEPATH & "RESULT.TXT"If Shell(START, vbHide) = 0 Then GoTo ERR_READTMP
If Shell(TOREAD, vbHide) = 0 Then GoTo ERR_READTMP
If Shell(GETDATA, vbHide) = 0 Then GoTo ERR_READTMP
Open DATAFILE For Input As #1
Z = Input(151, #1)
Close #1
但结果文件读不出来
START = THEPATH & "\CARDCMD.EXE 1"
TOREAD = THEPATH & "\CARDCMD.EXE 2"
GETDATA = THEPATH & "\CARDCMD.EXE 3"
TOCLOSE = THEPATH & "\CARDCMD.EXE 4"
DATAFILE = THEPATH & "\RESULT.TXT"If Shell(START, vbHide) = 0 Then GoTo ERR_READTMP
If Shell(TOREAD, vbHide) = 0 Then GoTo ERR_READTMP
If Shell(GETDATA, vbHide) = 0 Then GoTo ERR_READTMP
Open DATAFILE For Input As #1
Z = Input(151, #1)
Close #1
但结果文件读不出来
即可.本例定义了四个命令行参数C、R、L、SPublic Sub Main()
Dim CmdStr As String'待传入的命令行参数变量CmdStr = Left$(Command, 2)'取命令行参数\?Select Case UCASE(CmdStr)'控制大小写无关
Case "/C"'参数C处理
……
Exit SubCase "/R"'参数R处理
……
Exit SubCase "/L"'参数L处理
……
Exit SubCase "/S"'参数S处理
……
Exit Subcase else‘没有命令行参处理
……
End Select
End Sub
startread="c:\\test\\cardcmd.exe 1"
Shell(startread,vbhide)
和
THEPATH = PATH(CurrentDb.Name)
START = THEPATH & "\CARDCMD.EXE 1"
TOREAD = THEPATH & "\CARDCMD.EXE 2"
GETDATA = THEPATH & "\CARDCMD.EXE 3"
TOCLOSE = THEPATH & "\CARDCMD.EXE 4"
DATAFILE = THEPATH & "\RESULT.TXT"If Shell(START, vbHide) = 0 Then GoTo ERR_READTMP
If Shell(TOREAD, vbHide) = 0 Then GoTo ERR_READTMP
If Shell(GETDATA, vbHide) = 0 Then GoTo ERR_READTMP
Open DATAFILE For Input As #1
Z = Input(151, #1)
Close #1程序没反应,用一个批处理文件放在CARDCMD.EXE同目录下
CARDCMD.EXE 1
CARDCMD.EXE 2
CARDCMD.EXE 3
CARDCMD.EXE 4
是正常的
---------------------------------------------------
各位高手帮忙啊,BOSS一直在催着要
是初始化
cardcmd.exe 2
读卡机读卡
cardcmd.exe 3
内容写入到result.txt
cardcmd.exe 4
关闭读卡机
我在程序里调用cardcmd.exe的几种方式
然后读result.txt内容,写到access数据库里
把cardcmd.exe 1 写入一个批处理文件card1.bat
把cardcmd.exe 2 写入一个批处理文件card2.bat
把cardcmd.exe 3 写入一个批处理文件card3.bat
把cardcmd.exe 4 写入一个批处理文件card4.bat
这几个批处理文件和cardcmd.exe文件放在一个目录下。然后把相应程序中的“cardcmd.exe 1”改为“card1.bat”
依此类推。
可以肯定的是,这个替代方法是可行的,我已经试过了。