| 上一篇主題 :: 下一篇主題   | 
	
	
	
		| 發表人 | 
		內容 | 
	
	
		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 網路印表機也是一樣,無法偵測的到是否有打開印表機 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		 |