CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  数据库相关

一个很痛苦的打印问题,帮解决。

楼主SunShowHeat(蓝色幻想)2004-04-01 14:40:15 在 Delphi / 数据库相关 提问

TIniFile   *ini;  
          ini   =   new   TIniFile("hadchktran.ini");  
     
          AnsiString   s,Field;  
          TQRLabel   *pLabel;  
          int   length,count;  
          for   (int   i=lblist->Count-1;   i>=0;   i--)  
          {  
                  delete   (TQRLabel   *)lblist->Items[i];  
          }  
          lblist->Clear();  
   
   
          /*打印客户清单表头*/  
          count   =   ini->ReadInteger("Items","Count",0);  
          for(int   i=1;i<=count;++i)  
          {  
                    s   =   ini->ReadString("Items","Item"+IntToStr(i),"");  
                    length   =   s.Trim().Length();  
   
                    lb   =   new   TQRLabel(this);  
                    lblist->Add((void   *)lb);  
                    lb->Parent   =   ChildBand1;  
                    lb->Caption   =   s;  
                    lb->Top   =   0;  
                    lb->Alignment   =   taCenter;  
                    lb->AutoSize   =   false;  
                    SetAttrib(lb);                                                               //设置字体大小  
                    lb->Font->Style   =   TFontStyles()<<fsBold;  
                         
                    //-----以下是大小间距的处理  
                    if(i>1)  
                    {  
                            pLabel   =   (TQRLabel   *)lblist->Items[i-1];  
                            lb->Left   =pLabel->Left   +   pLabel->Width;  
                    }  
                    else   lb->Left   =   100;  
                    lb->Width   =   length*9;  
                    if(lb->Width   <   lb->Caption.Length()*9)  
                            lb->Width   =   lb->Caption.Length()*9;  
                    else   if(lb->Width   >   30*9)  
                            lb->Width   =   30*9;  
                    if((lb->Left   +   lb->Width)   >   ChildBand1->Width)  
                    {  
                            delete   lb;  
                            lblist->Delete(i);  
                            count   =   i;  
                            break;  
                    }  
   
          }  
          ChildBand1->Height   =   lb->Height+5;  
          delete   ini;  
   
      //打印具体数据  
          TQRChildBand   *qcb   =   ChildBand1;  
                           
        QRLabel1->Caption   ="日流水清单报表";  
                          for(int   i=0;i<FrmChkact->lvTran->Items->Count;   ++i)  
                          {  
                                  qcb->HasChild   =   true;  
                                  qcb   =   qcb->ChildBand;  
   
                                  for(int   j   =   0;j   <=   count;++j)  
                                  {  
                                          pLabel   =   (TQRLabel   *)lblist->Items[j];  
                                          Field   =   GetField(Flag,pLabel->Caption,FrmChkact->lvTran->Items->Item[i]);                               //从ListView中将数据提取出来  
                                          Field   =   Field.Trim();  
                                          lb   =   AddLabel(Field,qcb,(TQRLabel   *)lblist->Items[j],0);                                                                   //添加到打印程序里面  
                                          lblist->Add((void*)lb);  
                                  }  
                                  qcb->Height   =   lb->Height+5;  
                          }  
            }  
  RepCifList->Preview();  
   
  我现在发现   现在连起码的表头也打印不出来   但持续跟踪的情况是   从ini文件中都完好的将数据提取出来了   但就是无法打印出来   这是为什么啊?  
   
  这个问题我在BCB版里面问的,没人回答,能在delphi里面问了,望各位高手帮忙! 问题点数:100、回复次数:5Top

1 楼SunShowHeat(蓝色幻想)回复于 2004-04-02 09:05:13 得分 0

解决了   进来   我给分Top

2 楼WWWWA(aaaa)回复于 2004-04-02 09:13:09 得分 0

讲讲怎么解决的?Top

3 楼cpp99(老土)回复于 2004-04-03 18:20:39 得分 50

免费使用  
  免费升级  
   
  超越水晶报表,是我们的目标  
  彻底解除程序员负担,极大提高用户设定灵活性  
  LLanV报表工具,经过了10000行以上数据的压力测试,性能优良!  
   
  其中一部分功能如下:      
  1.支持资料卡(比如:个人简历),表单(比如:销售定单),报表(比如:销售月报表)的预览打印  
  2.不用任何设定,就可以默认产生专业的页面  
  3.用户可以一次性设定企业标准样式(比如:公司标志,台头)  
  4.支持文本,线条,方框,图片,等报表元素  
  5.对各报表元素和报表区域等提供丰富的属性  
  6.用户可以在运行期间编辑文本,线条,方框,图片,明细列,   操作简单  
  7.支持同一列相同数据合并成一个格  
  8.可以在运行期间增删,调换明细列  
  9.提供多种报表风格  
  10.支持页合计,总计  
  11.支持的套打报表  
  12.支持MIS开发的各种开发工具:如VC、VB、Delphi等  
  13.可以直接连接数据库  
  14.用户可以把设定后的报表样式保存为报表样式文件  
  15.报表头和报表尾均可多于一页  
  16.报表样式文件格式完全开放  
  17.可以实现中国式复杂报表样式  
  18.无须编程  
   
  请发EMAIL给LLanSoft@21cn.comTop

4 楼Graig(逍遥)回复于 2004-04-03 19:57:56 得分 50

谈谈怎么解决的。Top

5 楼SunShowHeat(蓝色幻想)回复于 2004-04-06 11:33:00 得分 0

不管报表本身的事,是自己疏忽了,数据指针弄错了,所以空数据   谢谢   各给你50哦Top

相关问题

  • 痛苦,痛苦,痛苦,谁会分布式打印???(c/s模式)
  • 痛苦还是很痛苦??
  • 真的很痛苦,大家帮帮我!
  • 我很痛苦,大家来帮帮我!
  • 很痛苦,大家帮帮我,进者有分!!
  • 痛苦,请大家帮忙。
  • 我很痛苦,因为......
  • 打印?帮忙
  • 看英文帮助好痛苦
  • 我很困惑,也很痛苦!

关键词

  • 报表
  • 打印
  • 样式
  • 数据
  • 用户
  • lblist
  • lb
  • qcb
  • childband
  • plabel

得分解答快速导航

  • 帖主:SunShowHeat
  • cpp99
  • Graig

相关链接

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

广告也精彩

反馈

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