上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
sken
註冊時間: 2004-02-17 文章: 67
第 1 樓
|
發表於: 星期四 八月 15, 2013 7:23 pm 文章主題: ST-6000 刷卡機 幫忙指點一下 |
|
|
硬體商提供的程式範例
要如何改成 VFP?
或如何使用DLL檔?
謝謝~ |
|
回頂端 |
|
|
elleryq
註冊時間: 2007-06-21 文章: 768
第 2 樓
|
發表於: 星期五 八月 16, 2013 1:59 pm 文章主題: |
|
|
該廠商提供的 .dll 是單純的 library
裡面 ST-6000_DLL_CHT\ST6000.TXT 有詳細說明
對照到 VFP,你需要參考這篇:http://msdn.microsoft.com/en-us/library/ydcf39aa%28v=vs.80%29.aspx
使用 DECLARE 指令來表明你要使用 .dll 裡的函式
以裡面的 GetDllVersion(str,len) 為例
你得用
代碼: |
DECLARE GetDllVersion in ST6000.dll STRING str, INTEGER len
|
進行宣告
之後就可以直接用
代碼: |
local ar(255)
GetDllVersion(ar, 255)
? ar
|
不知道怎麼轉換的話,可以在討論區裡找 DECLARE,可以找到一堆 sample |
|
回頂端 |
|
|
sken
註冊時間: 2004-02-17 文章: 67
第 3 樓
|
發表於: 星期五 八月 16, 2013 7:02 pm 文章主題: |
|
|
elleryq大~
感謝你的回答~小弟先預讀一下您的回覆內容~再次感謝! |
|
回頂端 |
|
|
sken
註冊時間: 2004-02-17 文章: 67
第 4 樓
|
發表於: 星期一 八月 19, 2013 1:15 pm 文章主題: |
|
|
elleryq大
可以再跟你請教一下嗎?小弟試了後~發現函數回傳都是.T.
DECLARE OpenComm in ST6000.dll STRING str, INTEGER len
DECLARE CloseAllComm in ST6000.dll
?OpenComm("TCP,192.168.0.251,4444",2)
CloseAllComm()
是其他函數也都是回傳.t.
可以在幫忙提點一下嗎? |
|
回頂端 |
|
|
bx1166
註冊時間: 2011-12-06 文章: 273
第 5 樓
|
發表於: 星期一 八月 19, 2013 4:30 pm 文章主題: |
|
|
這兩個回應 .t. 不就是你已經可以開啟跟關閉了 可以用了啊
接著就看你的機器有哪些功能函式 你能拿來運用的了 |
|
回頂端 |
|
|
sken
註冊時間: 2004-02-17 文章: 67
第 6 樓
|
發表於: 星期一 八月 19, 2013 7:12 pm 文章主題: |
|
|
不是的~
不論IP 是否整確!或 刷卡機機器是否有開~
函數回應一樣都是.T. |
|
回頂端 |
|
|
bx1166
註冊時間: 2011-12-06 文章: 273
第 7 樓
|
發表於: 星期二 八月 20, 2013 8:55 am 文章主題: |
|
|
沒東西在手上 沒辦法回答你的問題
一般的經驗就是 把機器裝上 把需要的函式 一個個的測試
別直接上機 就單純的測試程式跟機器的反應 測幾次就應該差不多了 |
|
回頂端 |
|
|
elleryq
註冊時間: 2007-06-21 文章: 768
第 8 樓
|
發表於: 星期二 八月 20, 2013 10:43 am 文章主題: |
|
|
OpenComm 有特別提到回傳值
引言回覆: |
Output: 成功會傳回通訊介面的索引編號,失敗傳回 FFFFFFFF
失敗可以用 GetErrorCode 函數取回錯誤碼
|
看來是應該加上 INTEGER 或是 LONG,像是:
代碼: |
DECLARE INTEGER OpenComm in ST6000.dll STRING str, INTEGER len
DECLARE INTEGER GetErrorCode in ST6000.dll
|
如果仍有問題,應該是要呼叫 GetErrorCode() 取得錯誤代碼,再去問廠商。 |
|
回頂端 |
|
|
sken
註冊時間: 2004-02-17 文章: 67
第 9 樓
|
發表於: 星期三 八月 21, 2013 10:35 pm 文章主題: |
|
|
好的!那我再試試看~ |
|
回頂端 |
|
|
|