小弟今天也遇到同样的问题,要打印每个学生的成绩,每个人独立成为一个表单,用80行3联打印纸输出,在换纸上遇到问题,代码如下:
clear
set alte to print.txt
set alte on
set cons off
use nhcj
go top
do while .not. eof ()
n=1
do while n<=7
? ' _____________________________________________________________________________'
? '|                                                                             |'
? '| 准考证号码  考生姓名  政治  语文  数学  英语  物理  化学  体育  七科总分    |'
? '|                                                                             |'
? '| '+number,space(2),name,str(polit,3),space(1),str(chine,3),space(1),str(maths,3),space(1),str(engli,3),space(1),str(physi,3),space(1),str(chemi,3),space(1),str(sport,3),space(3),str(scores,3),space(6)
??'|'
? '|_____________________________________________________________________________|'
? ''
if .not. eof()
skip
endif
enddo
h=h+10
enddo
use
set alte to 
set cons on

解决方案 »

  1.   

    为什么不用VFP提供有报表打印?应该很方便就可实现,而且打印机设置可以保存的。下面是打印报表的例子: DO WHILE SYS(13) = 'OFFLINE'
        IF LASTKEY() = 27
           RETURN 
        ENDIF 
        IF MESSAGEBOX(' 打印机没有准备好, 继续吗? ',36,'') = 6
           LOOP 
        ELSE 
           RETURN 
        ENDIF 
     ENDDO 
     SET ESCAPE ON
     ON ESCAPE RETU
     REPORT FORM &repo_file TO PRINT  NOCONSOLE
     SET ESCAPE OFF如果不是VFP就比较麻烦,恐怕打印纸格式要用打印机命令或特殊打印命令(如UCDOS提供的)才能实现。打印到最后一页后还要增加一条换页命令,将打印机缓冲清空才能打印出最后一页。
      

  2.   

    在vfp中报表是很方便,但是要将每条记录都用表格显示出来,类似excel中的表格格式又应该如何处理呢?还有,若要在vfp中输出电脑打印纸时,打印设置应如何?
      

  3.   

    ed203(tnt) :
    用表格很容易呀,你在细节区里画线不就行了
      

  4.   

    ed203(tnt) :
    用表格很容易呀,你在细节区里画线不就行了
      

  5.   

    哦,虽然不能帮你,但是帮你UP一下!希望你能得到好的解答!
    UP! :)
      

  6.   

    各位朋友,对此我已找到了解决的办法,真是功夫不付有心人啊,不过这之前不能说明我们不够聪明,而是我们学的太少呢,或者说我们手里的资料太少啦,很多底层一些的东西放在哪里,很好用却不知道。用报表方式是乎不错,但是报表不是万能的,在我的应用程序中报表就很无力,呵呵,我依靠几个系统变量就搞定啦:_plength,_plineno, _pepage等等,现以此信息感谢大家的关怀。