| 上一篇主題 :: 下一篇主題   | 
	
	
	
		| 發表人 | 
		內容 | 
	
	
		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    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				| 好的!那我再試試看~ | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		 |