|
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
guku1101
註冊時間: 2006-07-03 文章: 84 來自: 高雄
第 1 樓
|
發表於: 星期三 十月 15, 2008 3:54 pm 文章主題: 請問一個錢櫃的問題 |
|
|
我們公司用一台pos主機~有內鍵的錢櫃接頭~說明書上寫要送一個訊號到一個指定的位址 0x4B8 請問要如何送信號到這個位址呢~請會的前輩們教我一下~謝謝 _________________ BB |
|
回頂端 |
|
|
lincm5712
註冊時間: 2008-09-12 文章: 6
第 2 樓
|
發表於: 星期四 十月 16, 2008 11:15 am 文章主題: |
|
|
打開錢櫃很簡單,
只要對COM PORT隨便送出一個字元它就開了! |
|
回頂端 |
|
|
guku1101
註冊時間: 2006-07-03 文章: 84 來自: 高雄
第 3 樓
|
發表於: 星期五 十月 17, 2008 8:38 am 文章主題: |
|
|
問題他是內建的(像電話接頭)不是COM PORT 的才傷腦筋 _________________ BB |
|
回頂端 |
|
|
JEFFWANG
註冊時間: 2004-03-03 文章: 40
第 4 樓
|
發表於: 星期五 十月 17, 2008 9:06 am 文章主題: |
|
|
那就要用轉接頭,一般都會有附才對,
如果是整組買的,看看整個組合就可以了,
一般錢櫃大都是利用com port的,除非接線被有心人...
不然在買過線材就可以了。 |
|
回頂端 |
|
|
lincm5712
註冊時間: 2008-09-12 文章: 6
第 5 樓
|
發表於: 星期五 十月 17, 2008 11:12 am 文章主題: |
|
|
像電話接頭可能是CASIO的或是接發票機的,
ON ERROR RETURN
IF THISFORM.CASHDRAW.PORTOPEN=.F.
THISFORM.CASHDRAW.PORTOPEN=.T.
ENDIF
IF VINV = 2 && 有發票機
THISFORM.CASHDRAW.OUTPUT=CHR(27)+"p0"+CHR(50)+CHR(250) ELSE
THISFORM.CASHDRAW.OUTPUT=CHR(71)+CHR(87)
ENDIF
IF THISFORM.CASHDRAW.PORTOPEN=.T.
THISFORM.CASHDRAW.PORTOPEN=.F.
ENDIF |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4215 來自: Taipei,Taiwan
第 6 樓
|
發表於: 星期五 十月 17, 2008 11:25 am 文章主題: |
|
|
還以為要告知有關"錢櫃"KTV有好康的. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
green
註冊時間: 2003-09-19 文章: 136
第 7 樓
|
發表於: 星期五 十月 17, 2008 2:28 pm 文章主題: |
|
|
= = 我也是耶~~~ |
|
回頂端 |
|
|
guku1101
註冊時間: 2006-07-03 文章: 84 來自: 高雄
第 8 樓
|
發表於: 星期五 十月 17, 2008 9:06 pm 文章主題: |
|
|
啊~大家都那~~~麼喜歡唱歌喔 _________________ BB |
|
回頂端 |
|
|
spfrk
註冊時間: 2004-11-08 文章: 161
第 9 樓
|
發表於: 星期六 十月 25, 2008 11:48 am 文章主題: |
|
|
一般寫高階語言的人, 對於 I/O 都是很陌生的, 從 LINCM5712 就可以得知, 還扯到 RS232, 聽我說分明.
在 NT 核心的作業系統中, 是不准直接動到 I/O , 必須將繞一大圈才能使用, 因此很複雜, 在這裡無法全部
說明, 在此http://logix4u.net/Legacy_Ports/Parallel_Port/Inpout32.dll_for_Windows_98/2000/NT/XP.html
網頁有詳細的說明, 而且有 inpout32.dll 可免費下載, 這一個free的網站, 沒有版權的問題. 以下為如何使用
inpout32.dll 來開前跪的範例, 如有關於pos 的疑問, 可來信 spfrk.lin@msa.hinnet.net 凌r.
*///
Declare integer Inp32 in inpout32.dll AS SysDirInp Integer
Declare Out32 in inpout32.dll AS SysDirOut Integer, Integer
DrwAdrs = "4B8"
SysDirOut(Num16s(DrwAdrs), 255) && 開啟錢櫃, 通常是 255, 參考手冊
delay(25) && 延遲, 讓磁力線圈動作 250 ms
SysDirOut(Num16s(DrwAdrs), 0) && 關閉, 一定要關閉, 否則會將錢櫃燒毀
retu .Y.
*///
*/ 延滯時間 1/100 秒
*///
func delay
para xtime
local vtime
do while xtime > 0
vtime = seconds()
do while .T.
if abs(seconds() - vtime) > 0.01
exit
else
loop
endif
enddo
xtime = xtime - 1
enddo
retu .T.
*///
*/ 16 進制
*///
func Num16s
para vnum, vRetuLen
local vcnt, vstr, v1, v2, vlen
if type("vRetuLen") <> 'N'
vRetuLen = 0
endif
if type("vnum") = 'N' && 數值轉字串
vstr = ''
vcnt = 1
do while vcnt <= 8
v1 = vnum % (16^vcnt)
v2 = v1
if vcnt > 1
v1 = v1 % (16^vcnt)
if v1 <> 0
v1 = v1 / (16^(vcnt-1))
endif
endif
if v1 >= 0 .and. v1 < 10
vstr = str(v1,1) + vstr
else
vstr = chr(64+(v1-9)) + vstr
endif
vnum = vnum - v2
if vnum < 1
exit
endif
vcnt = vcnt + 1
enddo
if len(vstr) = 0
vstr = '0'
endif
if vRetuLen > 0 .and. len(vstr) < vRetuLen
retu repl('0', vRetuLen - len(vstr)) + vstr
endif
retu vstr
endif
vnum = alltrim(vnum)
vnum = upper(vnum)
vlen = Len(vnum)
if vlen = 1
vasc = asc(vnum)
if vasc > 47 .and. vasc < 58
retu vasc
endif
vasc = vasc - 55
if vasc > -1
retu vasc
endif
retu 0
endif
vcnt = vlen
vStrCnt = 1
v1 = 0
do while vcnt > 0
vasc = asc(substr(vnum,vStrCnt,1))
if !((vasc > 47 .and. vasc < 5 .or. (vasc > 64 .and. vasc < 91))
exit
endif
if vcnt = 1
if vasc > 47 .and. vasc < 58
v1 = v1 + vasc - 48
else
v1 = v1 + vasc - 55
endif
else
if vasc > 47 .and. vasc < 58
v1 = v1 + ((vasc-4 * (16^(vcnt-1)))
else
v1 = v1 + ((vasc-55) * (16^(vcnt-1)))
endif
endif
vcnt = vcnt - 1
vStrCnt = vStrCnt + 1
enddo
retu v1 |
|
回頂端 |
|
|
lincm5712
註冊時間: 2008-09-12 文章: 6
第 10 樓
|
發表於: 星期日 十月 26, 2008 1:06 am 文章主題: |
|
|
十幾年前要開錢櫃真的需要寫一大串程式,
現在只要用MSCOMM.OCX幾行就OK了!
只要加上ON ERROR RETURN 錢櫃就不會燒掉,
每個字元力道不同要試一試,切記不能用DELAY
接 COMM PORT 的是 12V,接發票機的是 24V,
履試不爽!至少目前遇到的錢櫃都能輕易的開啟! |
|
回頂端 |
|
|
spfrk
註冊時間: 2004-11-08 文章: 161
第 11 樓
|
發表於: 星期日 十月 26, 2008 9:49 am 文章主題: |
|
|
由POS主機來開錢櫃是沒有辦法中的辦法, 當使用的場合沒有發票機或出單機時, 由POS 主機來開錢櫃就是必然
的, 也許會有人說那就用RS232的錢櫃, 但這會增加成本, 更何況很多 USER 會用分離式POS, 現在新生產的 PC
或 筆電大多將 RS232介面拿掉, 又要去買 USB轉 RS232, 這又是一筆費用, 身為一個POS系統供應商是要多方面考慮的. |
|
回頂端 |
|
|
guku1101
註冊時間: 2006-07-03 文章: 84 來自: 高雄
第 12 樓
|
發表於: 星期四 十一月 13, 2008 2:39 pm 文章主題: |
|
|
spfrk 大大的程式可以用~真是太感謝謝了~謝謝 _________________ BB |
|
回頂端 |
|
|
chuander
註冊時間: 2003-08-25 文章: 16
第 13 樓
|
發表於: 星期三 八月 25, 2010 5:32 pm 文章主題: |
|
|
感謝分享! |
|
回頂端 |
|
|
kalok
註冊時間: 2010-08-26 文章: 284
第 14 樓
|
發表於: 星期四 八月 26, 2010 3:44 am 文章主題: |
|
|
spfrk 是錢櫃高手, 我也有用錢櫃, 只連到printer, 用vfp送出一個control code即可, 請問 spfrk 如何檢查錢櫃有沒有關上? |
|
回頂端 |
|
|
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|