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

實現多台工作站共用多台印表機(轉貼)

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
Ruey



註冊時間: 2003-03-12
文章: 1698
來自: tunglo

第 1 樓

發表發表於: 星期三 十二月 03, 2003 5:36 pm    文章主題: 實現多台工作站共用多台印表機(轉貼) 引言回覆

在Visual FoxPro中
實現多台工作站共用多台印表機
http://www.ithome-cn.net/technology/fox/fox44.htm 
  在Windows 95中,我們可以通過利用虛擬設備技術(spooling),用共用的大容量磁片的某些區域來類比獨佔印表機,實現將獨佔印表機變換為共用印表機。即在Windows 95系統中,當一個用戶請求列印輸出時,spooling系統並不真正把印表機分配給該用戶,而是將要列印的資料送入共用的磁片上形成請求列印佇列,多個用戶的列印請求依請求時間順序被插入到請求列印佇列中。如果印表機空閒,spooling系統將把位於請求列印佇列隊首的列印資料送到記憶體緩衝區,再由印表機進行列印。列印完後,spooling系統再查看請求列印佇列中是否還有需要列印的資料,若有,繼續列印,直到請求列印佇列為空為止。如此實現了多用戶共用一台印表機。

  多台工作站共用多台印表機是指在一個網路系統中,每台工作站可以同時使用多台網路印表機,把列印內容分別送往各個網路印表機,按照Windows 95共用列印原理,實際上只要為每台印表機建立了一個列印佇列,即可實現多台工作站共用多台印表機。

  我們在開發成都金堂采漿站工藝流程管理資訊系統時曾遇到這個棘手的問題。

  問題:在這個使用網路的工藝流程管理資訊系統中,伺服器採用Windows NT 4.0,工作站採用Windows 95,用Visual FoxPro3.0開發應用軟體,需要對一條記錄的內容,列印出規格大小、紙質(如普通紙與不乾膠紙)和內容格式不同的兩份材料。

  如果用一臺本地印表機列印,則因為列印規格不同,需要不斷換紙,大大降低了速度,不能滿足生產流程的需要。

  如果用兩臺本地印表機列印,則需要兩台網路工作站各帶一臺本地印表機,分別列印不同規格的材料,需要分別在不同的工作站上輸入同一關鍵字在表中查找,以確定需要列印的記錄位置,效率也不高。

  解決問題的辦法是用兩台網路工作站同時操作兩台網路印表機,充分利用Windows 95的共用印表機制,只需要輸入一次關鍵字,查找到需要列印的記錄,在兩台印表機上同時列印不同規格的材料,實現了高效率的列印流水作業。實現辦法如下:

  設有印表機PA和印表機PB,網路工作站WSA和網路工作站WSB,印表機PA連接到網路工作站WSA,印表機PB連接到網路工作站WSB。

  在Windows 95的"控制面板"中選擇"網路",進入網路設置後,再選擇"列印共用"。

  1.將印表機PA設為共用印表機,其名稱為:EpsonCard
  2.將印表機PB設為共用印表機,其名稱為:EpsonLabel

  進一步設置:

  將與網路工作站WSA相連接的印表機EpsonCard設置為默認印表機,列印埠設置為LPT1:;在網路工作站WSA上,通過選擇"控制面板"中的"印表機"設置,可以將網路共用印表機EpsonLabel添加為網路工作站WSA的網路印表機,將其列印埠設置為LPT2:。

  同樣,將與網路工作站WSB相連接的印表機EpsonLabel設置為非默認印表機,列印埠設置為LPT1:;在網路工作站WSB上,通過選擇"控制面板"中的"印表機"設置,可以將網路共用印表機EpsonCard添加為網路工作站WSB的網路印表機,將其列印埠設置為LPT3:。注意,必須將該印表機設置為默認印表機,也就是說,兩台網路工作站上所看見的同一台印表機必須設置為默認印表機,當然每台電腦只能有一台默認印表機。

  在以上設置過程中,如果沒有發現列印埠LPT2:和LPT3:,可以通過捕獲埠,指定路徑得到。

  以上設置完以後,還需要在用Visual FoxPro3.0開發的應用軟體中設置。

  例如:在表單上設置兩個列印按鈕,一個列印按鈕調用Epson Label印表機將列印內容列印到不乾膠紙上,在這個列印按鈕的click()事件中,除了其他內容外,必須包含下面的語句:

  SET PRINTER TO NAME EpsonLabel

  另一個列印按鈕調用EpsonCard印表機將列印內容列印到普通紙上,在這個列印按鈕的click()事件中,除了其他內容外,還應包含下面的語句:

  SET PRINTER TO NAME EpsonCard

  這樣,兩台網路工作站均可以調用兩台網路印表機同時將列印規格大小、紙質要求不同的列印內容送到不同的印表機,大大地提高了工作效率,用戶感到十分滿意。

_________________
#############################
快樂媽咪系列幸福宅配,喝十全雞湯~原來幸福那麼簡單!!

學會VFP使用者社區的搜尋,Code才會更有趣~
#############################
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

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


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