VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

ST-6000 刷卡機 幫忙指點一下

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
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    文章主題: 引言回覆

好的!那我再試試看~
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作