 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
zfgg
註冊時間: 2004-05-31 文章: 179 來自: 中国
第 1 樓
|
發表於: 星期一 七月 14, 2008 5:19 pm 文章主題: 用A3纸不能正常打印? |
|
|
因数据的不可预测性,本程序未用报表设计。(我还有其它的程序用报表设计成A3的纸张,打印时是正常的。)打印机是HP Deskjet 1280,A3纸进纸是纵向的进纸。
我在程序中用?输出(打印)数据。因数据可能是在36周左右,设A3纸无论是设横向或纵向打印,但是输出时,数据总是好象是A4的格式,不能正常的打印出来,见图。现请哪位专家帮助指导一下。谢谢!
因编幅所限,数据的采集这里省略,只将打印程序列如下:
**……..
nAnser= messagebox("这是第 "+ssum+" 种分组方案,"+_A3paper+",现在打印吗?",35+256,"打印分组表")
do case
case nAnser=6
IF _A3paper="[设A3纸(420mmX297mm),打印机纸张设成横向打印]"
=SYS(1037)
_zi=""
_direc=""
DO CASE
case PRTINFO(2)=8
_zi="A3纸"
CASE PRTINFO(2)=9
_zi="A4纸"
ENDCASE
DO case
CASE PRTINFO(1)=1
_direc="横向打印"
CASE PRTINFO(1)=0
_direc="纵向打印"
ENDCASE
MESSAGEBOX("当前的设置是:"+_zi+","+_direc,48,"设置打印机")
ENDIF
_tmmc=JCUNIVERSITY_LOC+CLCOLLEGE_LOC
_tmmc2=_xueqi+_lianji+_zy+"专业科室见习分组表"
PRINTJOB
_peject="NONE" &&不走纸一页
ENDPRINTJOB
set device to print
set print on
set printer to default
set printer font "楷体",12
? SPACE(1)
? spac(50)+_tmmc
set printer font "楷体",16
? spac(14)+_tmmc2
set printer font "宋体",11
?SPACE(1)
?spac(56)+year+"年"+mon+"月"+_day+"起 "+TCOFFICE_LOC+"制"
? space( +L2
? space( +L1 &&周次
? space( +L3 &&划线框
? space( +LL1 &&起始
? space( +LL2 &&日期
? space( +L3 &&划线框
b=1
DO WHILE b<=kbs
A=1
L5=kbmc(b)+space(2)+kbvic(b)+space(2)+LA2
DO WHILE A<=zzsm
F1=SUBST(sss(b),A*2-1,2)
IF A<>zzsm
L5=L5+F1+LA2
ELSE
L5=L5+F1
ENDIF
A=A+1
ENDDO
?space( +l5
IF b<>kbs
?space( +L3
ELSE
?space( +L4
if kbs<=19 &&A4只能容19个科室,输出时,>19个科室时不空格
?" "
endif
ENDIF
L5=""
b=b+1
ENDDO
sp4 = "附:学生编号对照:"
sp5=thisform.text5.value
selec zu from fn_a where !empty(zu) group by zu into curso tmp
sele tmp
J1=zzs
DIME D(J1)
j0=1
_zu=""
do while .not. eof()
D(j0)=zu
skip
j0=j0+1
enddo
selec stdname,zu from fn_a where !empty(zu) order by zu into curso tmp
selec tmp
j0=1
for i=1 to recc()
go i
_zu=alltr(zu)
DD=alltr(stdname)
if D(j0)=_zu
D(j0)=D(j0)+dd+" "
else
j0=j0+1
D(j0)=D(j0)+dd+" "
if j0>j1
exit
endif
endif
endfor
?spac(
?? sp4
j0=1
do while j0<=zzs
_Odd=odd(j0)
IF _Odd=.T.
?? D(j0)+" "
else
?spac( +D(j0)+" "
ENDIF
j0=j0+1
enddo
? ''
if thisform.check1.value=1
?spac( +thisform.check1.caption+alltr(thisform.text2.value)
endif
? ''
? SPACE(64)+_tmmc
? SPACE(82)+DTOC(sp5)
? ""
set print off
set devic to screen
set printer to
set date american
case nAnser=2
**…….
endcase
zfgg 在 星期三 七月 16, 2008 5:30 pm 作了第 1 次修改 |
|
回頂端 |
|
 |
nelsonchuang
註冊時間: 2003-09-04 文章: 563 來自: 臺灣
第 2 樓
|
發表於: 星期一 七月 14, 2008 5:27 pm 文章主題: |
|
|
先檢查一下是不是Set margin...的問題... _________________ 大家好,請多指教 |
|
回頂端 |
|
 |
zfgg
註冊時間: 2004-05-31 文章: 179 來自: 中国
第 3 樓
|
發表於: 星期一 七月 14, 2008 5:40 pm 文章主題: |
|
|
左边距应该没有问题,如果是在17周以内,用A4纸纵向打印没有问题。倒是A3纸打印的右边距有问题,因设的是A3,总是打不到边上就转行了,因右边的是空白,图象上删除了。请再帮助我想办法。谢谢! |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 4 樓
|
發表於: 星期二 七月 15, 2008 8:47 am 文章主題: |
|
|
你如何確定是使用A3紙張?
什麼作業系統?
也許和這幾個系統變數有關:
_WARP ---------- .T. :輸出字串超過_RMARGIN 時,會自動折到下一列
_RMARGIN ---------- 右邊界字元數,A3 可能要設到 150~160
_LMARGIN ---------- 左邊界字元數
_INDENT ---------- 從左邊界起,隔幾個字元開始列印
還有一堆系統變數,自己試看看. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
nelsonchuang
註冊時間: 2003-09-04 文章: 563 來自: 臺灣
第 5 樓
|
發表於: 星期二 七月 15, 2008 9:40 am 文章主題: |
|
|
syntech說得沒錯,你得把每一個可能的設定值叫出來檢查,
因為程式在你哪邊,不是在我們這邊.
我之所以會說Set margin.
是因為當你設定的值不夠寬時,就會自動折行...這很正常,
不過話說回來,你有沒有先去檢查Set margin的值? _________________ 大家好,請多指教 |
|
回頂端 |
|
 |
zfgg
註冊時間: 2004-05-31 文章: 179 來自: 中国
第 6 樓
|
發表於: 星期二 七月 15, 2008 11:00 am 文章主題: |
|
|
我的系统是windows2003,vfp是9.0(sp1),打印机是HP Deskjet 1280(A3纸只能直进),了解打印机的设置是用的下面程序。A3纸无论是设横向或纵向打印,但是输出时,数据总是好象是A4的格式。我在PRINTJOB……ENDPRINTJOB中间加入了“_wrap=.T. _rmargin=160”语句,打印结果还是与前面一样。是不是_wrap=.T. _rmargin=160写法位置不对?还是不应该写在PRINTJOB……ENDPRINTJOB中间。_peject="NONE"没有起作用,打印时,还是先走一张空纸才开始打印。
=SYS(1037)
_zi=""
_direc=""
DO CASE
case PRTINFO(2)=8
_zi="A3纸"
CASE PRTINFO(2)=9
_zi="A4纸"
ENDCASE
DO case
CASE PRTINFO(1)=1
_direc="横向打印"
CASE PRTINFO(1)=0
_direc="纵向打印"
ENDCASE
MESSAGEBOX("打印机当前的设置是:"+_zi+","+_direc,48,"设置打印机")
PRINTJOB
_peject="NONE" &&不走纸一页
_wrap=.T.
_rmargin=160
ENDPRINTJOB
set device to print
set print on
set printer to default
set printer font "楷体",12
? SPACE(1)
**……………….
? ""
set print off
set devic to screen
set printer to
zfgg 在 星期三 七月 16, 2008 5:32 pm 作了第 2 次修改 |
|
回頂端 |
|
 |
zfgg
註冊時間: 2004-05-31 文章: 179 來自: 中国
第 7 樓
|
發表於: 星期二 七月 15, 2008 11:13 am 文章主題: |
|
|
我的左边距不想设,请问如果要设右边距,应如何设?set margin to X 最大可以设多少,因没有用过这种设置,请赐教! |
|
回頂端 |
|
 |
nelsonchuang
註冊時間: 2003-09-04 文章: 563 來自: 臺灣
第 8 樓
|
發表於: 星期二 七月 15, 2008 11:42 am 文章主題: |
|
|
設定左邊印表機邊界,並對所有指向到印表機的輸出結果都起作用。
SET MARGIN TO nColumns
參數
nColumns
以行為單位指定左邊界。預設值是 0 行;最大值是 256 行。 _________________ 大家好,請多指教 |
|
回頂端 |
|
 |
zfgg
註冊時間: 2004-05-31 文章: 179 來自: 中国
第 9 樓
|
發表於: 星期二 七月 15, 2008 4:39 pm 文章主題: |
|
|
我是这样设的:
set device to print
set print on
set printer to default
set margin to 256
结果还是不行,与前面一样的结果。还是再请指教,谢谢! |
|
回頂端 |
|
 |
nelsonchuang
註冊時間: 2003-09-04 文章: 563 來自: 臺灣
第 10 樓
|
發表於: 星期二 七月 15, 2008 5:14 pm 文章主題: |
|
|
再確認一點..你Set print to file 轉出結果也相同嗎? _________________ 大家好,請多指教 |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 11 樓
|
發表於: 星期三 七月 16, 2008 9:46 am 文章主題: |
|
|
加油,好嗎? XD
這種古早用法,大部分都找不太到資料,
你只能自己搞,
不過A3/A4圖上的列印範圍不一樣,
A3的那張到"分組表"就折下來了,
但是A4 還可以多印一端.
這點很怪,是MARGIN範圍不一樣嗎? _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
zfgg
註冊時間: 2004-05-31 文章: 179 來自: 中国
第 12 樓
|
發表於: 星期三 七月 16, 2008 11:30 am 文章主題: |
|
|
set print to file 是正常的,将文件用图的形式传上来,请看下图. |
|
回頂端 |
|
 |
nelsonchuang
註冊時間: 2003-09-04 文章: 563 來自: 臺灣
第 13 樓
|
發表於: 星期三 七月 16, 2008 12:05 pm 文章主題: |
|
|
這樣子來說可以確立Set margin沒有問題,你得去檢查其他的值,
如果你的Set printer to file
跟
set devic to screen
結果一樣,哪就是印表機沒選對紙,可是...Set device to screen
跟Set printer to file的結果也一樣嗎? _________________ 大家好,請多指教 |
|
回頂端 |
|
 |
zfgg
註冊時間: 2004-05-31 文章: 179 來自: 中国
第 14 樓
|
發表於: 星期三 七月 16, 2008 5:23 pm 文章主題: |
|
|
谢谢各位大大及专家的指教!目前没有解决的办法,我采取set print to file后,用createobject('word.application')启动word,参数选1,选"纯文体",在word下设A3纸,设横向打印,可以来解决。
如果哪位遇到此类问题,有解决的办法,请赐教.我真不知道这问题究竟出在哪儿? |
|
回頂端 |
|
 |
tigerlee39y
註冊時間: 2007-11-26 文章: 132 來自: taipei
第 15 樓
|
發表於: 星期四 七月 17, 2008 12:25 am 文章主題: |
|
|
這樣的寫法好像在Clipper時代的寫法,加上vfp印表機的設定
不如在VFP下重新設計一個印表form比較來得好些 _________________ 各取所需 各盡所能 |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|