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

foxpro打印程序的问题

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



註冊時間: 2004-05-31
文章: 179
來自: 中国

第 1 樓

發表發表於: 星期五 四月 20, 2007 5:38 pm    文章主題: foxpro打印程序的问题 引言回覆

foxpro打印程序的问题
我在设置试卷打印程序,现有几个问题请教,请大师指教。
一、打印命令做的程序,不立即打印。因试卷题型很多类型,不便于用报表做,用打印命令做的程序,打印时,按下确定后,不是立即打印,而是整个程序系统退出后才打印,不知为何?用报表做的可以立即打印,不需要退出程序。可以打印的命令程序如下:
SET DEVI TO PRINT
SET PRINT ON
set headings off
set printer font "楷体",16
? space(16),atext1+atext2+" "+atext3+" 考试试卷"
? " "
set printer font "宋体",11
? baoti
**?.......
**?.....
SET PRINT OFF
set device to screen
二、报表打印时打3份。有一个表单,彩用Do table1 with _caption 参数传递的方法,有5个报表调用这个表单,其中一个报表打印时打3份出来,没有作任何设定,查不出原因。
Do case
case thisform.caption="教师授课评分表"
report form kaopin3.frx to printer
case thisform.caption="教研室主任考核表"
report form kaopin4.frx to printer
case thisform.caption="教案讲稿评分表"
report form kaopin5.frx to printer
case thisform.caption="集体备课评议表"
report form kaopin6.frx to printer
endcase
三、foxpro有没有获取打印机的纸张设置命令或函数。
我想在程序中获取当前打印机的纸张设置的形式。如A3,A4,或横向或竖向,便于在程序中设置打印到一定的行数后,换页。
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address MSN Messenger
fpchin



註冊時間: 2004-06-17
文章: 15
來自: Malaysia

第 2 樓

發表發表於: 星期二 四月 24, 2007 7:49 am    文章主題: 引言回覆

你可試試以下的方法:
set device to print
set print to
set print font to '宋體',10
.....
.....
....
set print to
set device to screen
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 4249
來自: Taipei,Taiwan

第 3 樓

發表發表於: 星期二 四月 24, 2007 8:58 am    文章主題: 引言回覆

問題三: PRTINFO()
PRTINFO(2) 傳回預設打印機的紙張

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
zfgg



註冊時間: 2004-05-31
文章: 179
來自: 中国

第 4 樓

發表發表於: 星期二 四月 24, 2007 9:03 am    文章主題: 打印语句 引言回覆

我用在第二个问题上,不起作用,还是打3张出来,而且打印前、打印后,各走1张纸.
我用这网络上说的方法printjob也不行。
printjob
_peject='NONE'
SET PRINT ON
SET PRINT TO DEFAULT
*!*SET PRINT TO
SET DEVICE TO PRINT
ENDPRINTJOB

printjob
_peject='NONE'
ENDPRINTJOB
SET PRINT ON
SET PRINT TO DEFAULT
SET DEVICE TO PRINT
只解决了按打印确定后,可以立即打印,但是老是走1张纸后,才开始打印。

结束打印的语句:
set print off
*!*set print to
SET DEVICE TO screen

在结束语句中,取消 set print to 后,算是在打印结束后不走空白纸了。而在开始打印时用set print to 的语句,还是走1张空白纸,需而且又出现的新的问题,不立即打印,而是在退出程序后才打印。
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address MSN Messenger
zfgg



註冊時間: 2004-05-31
文章: 179
來自: 中国

第 5 樓

發表發表於: 星期二 四月 24, 2007 10:45 am    文章主題: 重写的打印问题 引言回覆

谢谢Syntech!帮助解决了第三个问题。还有第1、第2个的问题,能否再指点。谢谢!
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address MSN Messenger
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2160


第 6 樓

發表發表於: 星期二 四月 24, 2007 11:13 am    文章主題: 引言回覆

windows 列印處理原則本來就是以一頁為單位,
跟以前DOS處理的方式不一樣,
所以等到電腦送了一頁內容到列印處理器後,
才會開始列印.
但 VFP 有一個指令可以直接控制印表機, 沒試過是否可以直接一行一行的列印.
???
HELP裡這樣說的.
A group of three question marks bypasses the printer driver and sends the contents of cExpression directly to the printer. cExpression must contain valid printer codes.

_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
syntech



註冊時間: 2003-05-16
文章: 4249
來自: Taipei,Taiwan

第 7 樓

發表發表於: 星期二 四月 24, 2007 11:21 am    文章主題: 引言回覆

問題1:
印表機選項中 印表緩衝列印 的設定,
不過可能會有其他的影響就是.
在windows時代,使用 dos 程式列印就是設定這個地方.

以下是 WIN 2000 PRO 簡體版的設定 (sorry ,我的 vmware 虛擬機器中簡體環境是以2000 作代表)
你可能要試試不同設定的影響.

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
zfgg



註冊時間: 2004-05-31
文章: 179
來自: 中国

第 8 樓

發表發表於: 星期二 四月 24, 2007 3:19 pm    文章主題: 要foxpro驱动程序立即打印,不走空纸 引言回覆

非常感谢Garfield and Syntech的指点.我现在要求只能解决第一个问题.用foxpro驱动程序能立即打印,不要在打印前走空纸就行了.

我不想用???命令的方式来设计程序,因已经用foxpro驱动程序设计好了。我想这个问题不可能都是这样的。

按 Syntech教授的设置打印机的方法:立即打印到打印机,我也设了,结果是,立即走一张空纸,打印机就不动了,而是退出程序后,才打印。我的系统是windows2003,打印机是Hp Deskjet 1280。我又将打印机设置成后台打印,勾选“启用打印机高级功能”,按“应用”,重新启动机器,再执行打印程序,目前的情况是:打印时,立即走一张空纸,再开始打印。退出程序后不走空纸了。我担心是不是HP公司把程序搞反了!给我的印象是立即打印到打印机,变成了后台打印,而后台打印,变成了立即打印到打印机。其它的用户是不是这样?我现在要求如何解决在打印前不让走空纸就行了。

为了测试这个打印程序,我的一包A4纸都快用完了,但是还没有解决问题!
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address MSN Messenger
syntech



註冊時間: 2003-05-16
文章: 4249
來自: Taipei,Taiwan

第 9 樓

發表發表於: 星期三 四月 25, 2007 11:11 am    文章主題: 引言回覆

這個方法主要是給 點陣印表機的.
因為我看你是用傳統的指令來印表.
傳統的印表方式是以 列 為單位

噴墨及雷射 應該還是用 VFP 標準報表工具作比較好.
這兩種印表機在WIONDOWS下都是以 張 為單位列印

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
zfgg



註冊時間: 2004-05-31
文章: 179
來自: 中国

第 10 樓

發表發表於: 星期三 四月 25, 2007 5:04 pm    文章主題: Thaks 引言回覆

Syntech,
Thank you very much for editing VFP programe to help me! The phenomenon to eject paper in my programe,let it continue,As I can't solution to it.There are many problem by useing report form in row() col().
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address MSN Messenger
bin1x



註冊時間: 2004-08-27
文章: 462


第 11 樓

發表發表於: 星期三 四月 25, 2007 5:28 pm    文章主題: Re: 要foxpro驱动程序立即打印,不走空纸 引言回覆

zfgg 寫到:
非常感谢Garfield and Syntech的指点.我现在要求只能解决第一个问题.用foxpro驱动程序能立即打印,不要在打印前走空纸就行了.

我不想用???命令的方式来设计程序,因已经用foxpro驱动程序设计好了。我想这个问题不可能都是这样的。

按 Syntech教授的设置打印机的方法:立即打印到打印机,我也设了,结果是,立即走一张空纸,打印机就不动了,而是退出程序后,才打印。我的系统是windows2003,打印机是Hp Deskjet 1280。我又将打印机设置成后台打印,勾选“启用打印机高级功能”,按“应用”,重新启动机器,再执行打印程序,目前的情况是:打印时,立即走一张空纸,再开始打印。退出程序后不走空纸了。我担心是不是HP公司把程序搞反了!给我的印象是立即打印到打印机,变成了后台打印,而后台打印,变成了立即打印到打印机。其它的用户是不是这样?我现在要求如何解决在打印前不让走空纸就行了。

为了测试这个打印程序,我的一包A4纸都快用完了,但是还没有解决问题!


我的是 hp 3845 的,它印表時,好像是最後一頁先印,假設頁數全部送完
至於印表機直接印出的方法
確實有用
至少在xp 的平台上是這樣的
而那時,程式是foxpro 2.5
一定是dos 的,還用et3
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 參觀發表人的個人網站 MSN Messenger
zfgg



註冊時間: 2004-05-31
文章: 179
來自: 中国

第 12 樓

發表發表於: 星期五 四月 27, 2007 5:04 pm    文章主題: 引言回覆

我用报表打印没有什么大的问题,就是如上面说的,有一个项,按理说,只打印一张,可是却打同样的3张出来!不可思议!至今不能解决.Bin1X,您能帮助找到原因吗?

用驱动程序设计的打印,能按设计要求打印。可是,在每次打印时,先打出一张空白纸,才开始打印有文字的。用驱动程序设计的打印,我也发现是从后向前打印的,那么每次打印时,先打出一张空白纸,很有可能是最后一个程序的问题,但是我的程序中如 eject 命令,却没有使用。

我用的是 V. Foxpro 9.0
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address MSN Messenger
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2160


第 13 樓

發表發表於: 星期六 四月 28, 2007 4:23 pm    文章主題: 引言回覆

試著修改 report 檔,
在 file --> PageSetup --> Page Lanout ==> 不要勾選 Save Printer Environment

或是採用 windows xp 內建的 HP 雷射印表機驅動程式,
例如: Hp LasertJet 6P(A4 size) 或 Hp LasertJet 4V (A3 size)
像我用 Hp LasertJet 1010 就無法用通用的自定紙張,
但改用 Hp LasertJet 6P 就 Ok了.

_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
zfgg



註冊時間: 2004-05-31
文章: 179
來自: 中国

第 14 樓

發表發表於: 星期日 四月 29, 2007 10:48 am    文章主題: 引言回覆

我试过了,
在 file --> PageSetup --> Page Lanout ==> 不要勾選 Save Printer Environment ,还是不行,又打了3张出来!
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address MSN Messenger
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

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


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