上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
jakan9
註冊時間: 2003-10-22 文章: 130
第 1 樓
|
發表於: 星期四 十月 07, 2004 2:08 pm 文章主題: 如何測印表機是否開 |
|
|
看說明是用printstatus(),sys(13)可是都沒有用,都會出現 .T.,ready.因為user 要求,若印表機沒開,不要出現windows 會在5 秒鐘之後自動重試的視窗  |
|
回頂端 |
|
 |
bin1x
註冊時間: 2004-08-27 文章: 462
第 2 樓
|
發表於: 星期六 十月 09, 2004 8:15 am 文章主題: |
|
|
我之前是用printstatus()確實有用
那要看怎麼用了 |
|
回頂端 |
|
 |
jakan9
註冊時間: 2003-10-22 文章: 130
第 3 樓
|
發表於: 星期六 十月 09, 2004 4:03 pm 文章主題: |
|
|
[quote="bin1x"]我之前是用printstatus()確實有用
那要看怎麼用了[/quote]
請問是如何下指令
我是用
if printstatus()=.T.
report form filename to printer prompt noco
endif
是否那裡錯了,請指敎,謝謝! |
|
回頂端 |
|
 |
bin1x
註冊時間: 2004-08-27 文章: 462
第 4 樓
|
發表於: 星期日 十月 10, 2004 8:12 pm 文章主題: |
|
|
我是這麼寫的
DO WHILE NOT PRINTSTATUS()
SET COLOR TO /W
@ 22,07 SAY '印表機未準備!!按任一鍵輸出至印表機...'
SET COLOR TO
=INKEY(0)
ENDDO |
|
回頂端 |
|
 |
bin1x
註冊時間: 2004-08-27 文章: 462
第 5 樓
|
發表於: 星期日 十月 10, 2004 8:18 pm 文章主題: |
|
|
或許你應該把
report form fielname to printer prompt noco
擺在廻圈之後
就已經先檢查了印表機
而那個5秒鐘的訊息是寫在report 中吧
所以除非user開了印表機又關
但是犯不著"對立"到這種程度吧 |
|
回頂端 |
|
 |
小桑•無痕

註冊時間: 2003-07-08 文章: 304 來自: Tainan, Taiwan
第 6 樓
|
發表於: 星期一 十月 11, 2004 3:57 pm 文章主題: |
|
|
Visual FoxPro Language Reference
PRINTSTATUS( ) Function
Returns true (.T.) if the printer or print device is online; otherwise, false (.F.) is returned.
Return Values
Logical
Remarks
PRINTSTATUS( ) is similar to SYS(13), except SYS(13) returns READY instead of true (.T.) or OFFLINE instead of false (.F.).
In Visual FoxPro, PRINTSTATUS( ) always returns true (.T.) if the printer is connected through the Windows Control Panel. _________________ 用力 Try 一下...可以發現很多好玩的事.... |
|
回頂端 |
|
 |
jakan9
註冊時間: 2003-10-22 文章: 130
第 7 樓
|
發表於: 星期一 十月 11, 2004 4:20 pm 文章主題: |
|
|
感謝幫忙,我想不可用PRINTSTATUS(),因為
In Visual FoxPro, PRINTSTATUS( ) always returns true (.T.) if the printer is connected through the Windows Control Panel.
不知有呇釣銗忖隤k可解決,煩請幫忙! |
|
回頂端 |
|
 |
bin1x
註冊時間: 2004-08-27 文章: 462
第 8 樓
|
發表於: 星期二 十月 12, 2004 9:13 am 文章主題: |
|
|
哦...那個是我在foxpro2.5的程式啦
控制台中那個5秒鐘或許是連接逾時的設定
有些公司是printer server的設定要看一下
如果想取代那個訊息,那就要去了解一下
windows api函式
如果你了解了,再post出去給大家知道好了 |
|
回頂端 |
|
 |
小桑•無痕

註冊時間: 2003-07-08 文章: 304 來自: Tainan, Taiwan
第 9 樓
|
發表於: 星期二 十月 12, 2004 4:25 pm 文章主題: Re: 如何測印表機是否開 |
|
|
jakan9 寫到: | 看說明是用printstatus(),sys(13)可是都沒有用,都會出現 .T.,ready.因為user 要求,若印表機沒開,不要出現windows 會在5 秒鐘之後自動重試的視窗  |
我覺得呢....user有點在刁難喔....
在我的認知中...windows程式在列印時都是直接送出到buffer...
交給系統去處理...
這樣的作法是為了讓程式不用等待印表機列印完才能繼續動作....
印表機沒開...會出現「windows 會在5 秒鐘之後自動重試的視窗」....
這是很理所當然的....(連MS-Office都是這樣處理了) _________________ 用力 Try 一下...可以發現很多好玩的事.... |
|
回頂端 |
|
 |
jakan9
註冊時間: 2003-10-22 文章: 130
第 10 樓
|
發表於: 星期四 十月 14, 2004 10:49 am 文章主題: |
|
|
因為老板認為這樣是對的,
我現在朝 windows api 方面下手,還是找不到,很難哦! |
|
回頂端 |
|
 |
jakan9
註冊時間: 2003-10-22 文章: 130
第 11 樓
|
發表於: 星期五 十月 22, 2004 9:18 pm 文章主題: |
|
|
我今天試出一個提供大家做參考:
印表機要是連接本機LPT1,在灌WIN98系統時不要灌主機板驅動程式,這樣會使
控制台中:
1.XPCI communication device
2.XPCI mass storage controller
兩個項目無法驅動,打 X,如此的話印表機關掉,該印的文件,會自動消失,不會出現
5秒 後自動送出,但如果灌了主機驅動程式,就不知如何停用此兩個項目.知道者
請指導一下,THINKS! |
|
回頂端 |
|
 |
goto-dream
註冊時間: 2004-05-11 文章: 909
第 12 樓
|
|
回頂端 |
|
 |
andywilliams
註冊時間: 2004-10-23 文章: 111
第 13 樓
|
發表於: 星期日 三月 06, 2005 1:07 am 文章主題: |
|
|
1. 先 run CLIPPER 的 ISPRINTER(), 結果存檔, VFP 再去讀
2. 教育使用者, windows 系統 . 與 dos 是不同的....@#$@@....(建議) |
|
回頂端 |
|
 |
pikachu
註冊時間: 2003-08-30 文章: 3
第 14 樓
|
發表於: 星期一 三月 07, 2005 3:40 am 文章主題: |
|
|
因為windows 學novell 及unix 的spooler 傳遞方式.........
故無解........... |
|
回頂端 |
|
 |
pikachu
註冊時間: 2003-08-30 文章: 3
第 15 樓
|
發表於: 星期一 三月 07, 2005 3:48 am 文章主題: |
|
|
dos可以始用是因為dos在單機上是直接丟到印表機,故可以偵測的到.
若在dos內丟到novell 網路印表機也是一樣,無法偵測的到是否有打開印表機 |
|
回頂端 |
|
 |
|