上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
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,或横向或竖向,便于在程序中设置打印到一定的行数后,换页。 |
|
回頂端 |
|
 |
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. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
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张空白纸,需而且又出现的新的问题,不立即打印,而是在退出程序后才打印。 |
|
回頂端 |
|
 |
zfgg
註冊時間: 2004-05-31 文章: 179 來自: 中国
第 5 樓
|
發表於: 星期二 四月 24, 2007 10:45 am 文章主題: 重写的打印问题 |
|
|
谢谢Syntech!帮助解决了第三个问题。还有第1、第2个的问题,能否再指点。谢谢! |
|
回頂端 |
|
 |
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. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
zfgg
註冊時間: 2004-05-31 文章: 179 來自: 中国
第 8 樓
|
發表於: 星期二 四月 24, 2007 3:19 pm 文章主題: 要foxpro驱动程序立即打印,不走空纸 |
|
|
非常感谢Garfield and Syntech的指点.我现在要求只能解决第一个问题.用foxpro驱动程序能立即打印,不要在打印前走空纸就行了.
我不想用???命令的方式来设计程序,因已经用foxpro驱动程序设计好了。我想这个问题不可能都是这样的。
按 Syntech教授的设置打印机的方法:立即打印到打印机,我也设了,结果是,立即走一张空纸,打印机就不动了,而是退出程序后,才打印。我的系统是windows2003,打印机是Hp Deskjet 1280。我又将打印机设置成后台打印,勾选“启用打印机高级功能”,按“应用”,重新启动机器,再执行打印程序,目前的情况是:打印时,立即走一张空纸,再开始打印。退出程序后不走空纸了。我担心是不是HP公司把程序搞反了!给我的印象是立即打印到打印机,变成了后台打印,而后台打印,变成了立即打印到打印机。其它的用户是不是这样?我现在要求如何解决在打印前不让走空纸就行了。
为了测试这个打印程序,我的一包A4纸都快用完了,但是还没有解决问题! |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 9 樓
|
發表於: 星期三 四月 25, 2007 11:11 am 文章主題: |
|
|
這個方法主要是給 點陣印表機的.
因為我看你是用傳統的指令來印表.
傳統的印表方式是以 列 為單位
噴墨及雷射 應該還是用 VFP 標準報表工具作比較好.
這兩種印表機在WIONDOWS下都是以 張 為單位列印 _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
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(). |
|
回頂端 |
|
 |
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 |
|
回頂端 |
|
 |
zfgg
註冊時間: 2004-05-31 文章: 179 來自: 中国
第 12 樓
|
發表於: 星期五 四月 27, 2007 5:04 pm 文章主題: |
|
|
我用报表打印没有什么大的问题,就是如上面说的,有一个项,按理说,只打印一张,可是却打同样的3张出来!不可思议!至今不能解决.Bin1X,您能帮助找到原因吗?
用驱动程序设计的打印,能按设计要求打印。可是,在每次打印时,先打出一张空白纸,才开始打印有文字的。用驱动程序设计的打印,我也发现是从后向前打印的,那么每次打印时,先打出一张空白纸,很有可能是最后一个程序的问题,但是我的程序中如 eject 命令,却没有使用。
我用的是 V. Foxpro 9.0 |
|
回頂端 |
|
 |
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张出来! |
|
回頂端 |
|
 |
|