CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  语言基础/算法/系统设计

打印问题?

楼主qhxhit(游侠)2005-01-03 17:37:57 在 Delphi / 语言基础/算法/系统设计 提问

TQuickReport2有两个公共变量:  
  source:   string;  
  strs:tstringlist;  
  在打印前strs:=tstringlist.create;    
  在打印后   strs.free;  
  从文件中获取一行字符串;并分割它。如下:  
  procedure   TQuickReport2.QuickRepNeedData(Sender:   TObject;  
      var   MoreData:   Boolean);  
  begin  
        if   not   eof(infile)   then  
            begin  
              readln(infile,   source);  
              ExtractStrings(['   '],[],PChar(source),strs);//按照空格分  
              MoreData:=true;  
   
   
            end  
            else  
              MoreData:=false;  
   
  end;  
      打印的结果怎么只是文件的第一行,不知怎么回事,请多多指教~~  
  问题点数:20、回复次数:3Top

1 楼Delphinus(西瓜宝贝)回复于 2005-01-03 18:56:51 得分 0

if   not   eof(infile)   then  
            begin  
              readln(infile,   source);  
              ExtractStrings(['   '],[],PChar(source),strs);//按照空格分  
              MoreData:=true;  
              //这里再加一句转入下一行  
            end  
            else  
              MoreData:=false;Top

2 楼lbd8848(lbd)回复于 2005-01-04 08:35:58 得分 20

if   not   eof(infile)   then  
   
  是不是该为  
  while   not   eof(infile)    
  begin  
   
  ....  
  //读取指针下跳一下  
  end;Top

3 楼qhxhit(游侠)回复于 2005-01-04 10:36:42 得分 0

按照     lbd8848(lbd)方法   调试了一下,可以把数据全部读出,Delphinus(西瓜宝贝)   方法不对,它不是一个循环。而且readln本身把指针跳到下一行。  
    现我要把strs显示在  
        QRLabel2(有五个Qrlabel)上,我是这么写的:  
  procedure   TQuickReport2.QRLabel2Print(sender:   TObject;   var   Value:   String);  
  var  
  i,k:integer;  
   
  begin  
    for   i:=0   to   strs.count-1   do   begin  
          k:=(i   mod   5);  
        case   (Sender   as   TQrlabel).Tag   of  
          0:   if   k=0   then   value   :=   strs[i];  
          1:   if   k=1   then   value   :=   strs[i];  
          2:   if   k=2   then   value   :=   strs[i];  
          3:   if   k=3   then   value   :=   strs[i];  
          4:   if   k=4   then   value   :=   strs[i];  
   
                end;  
    end;  
   
   
  结果预览时什么也没有!!不知问题出在哪了?  
  Top

相关问题

  • 打印!
  • 打印
  • 打印
  • 打印
  • 打印
  • 打印
  • 打印
  • 打印
  • 打印
  • 打印机不能打印

关键词

  • 打印
  • source
  • moredata
  • tquickreport
  • qrlabel
  • infile
  • readln
  • 一行
  • strs
  • begin

得分解答快速导航

  • 帖主:qhxhit
  • lbd8848

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo