说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Delphi编制的程序运行中动态制作报表

HTML文档下载 WORD文档下载 PDF文档下载
Delphi编制的程序运行中动态制作报表

Delphi中的quickreport是挪威的QuSoft AS公司专门为Delphi设计的用于制作报表的组件,具有很强的访问数据库的能力。但是,从我个人的使用经验来看,这个组件的帮助写的不够详尽,例程也不多。因而一般编程人员都是在设计期间设计好报表的所有格式,并在运行时连上数据源(即delphi中的dataset)运行程序的。显然,这种方法不具备很强的灵活性。在这里我想向大家介绍一种在程序运行时如何动态制作报表的方法。

---- 首先,建立form1;unit1(调用窗体),其中放入button1:caption为‘预览’,用以查看报表,再加入label1:caption为‘报表标题’;edit1用以接收用户输入的标题。再建立form2(放置quickreport元件的窗体)

其中放入quickrep元件和三个qrband元件,其bandtype分别为rbTitle

rbColumnHeader

rbDetail.但其中无须放入qrlabel和qrdbtext元件,由程序中自动生成。再在form2;unit2中放入table1

table2。在databasename属性中填入数据库所在的Alias Name.在tablename中分别填入Goods

TableInformation.其中Goods中存放商品信息,可以设置以下字段:ID;Name;Unit;Price。TableInformation中的字段为TableName; FieldsName; DisplayName数据库中填入以下信息。

————————————————————————

Goods ID 商品编号

Goods Name 商品名称

Goods Price 商品单价

---- 好了,准备工作完成了一半,现在写入代码。在unit1的implementation下写入uses Unit2;在button1的click事件中写入以下代码:

begin

PreparePrint;

with Form2 do

begin

Preview;

Table1.Close;

Table2.Close;

end;

end;

在unit1中添加一个过程PreparePrint;

procedure TForm1.PreparePrint;

var LeftValue:integer;

aLabel : TQRLabel;

aText:TQRDBText;

begin

LeftValue:=100;

with Form2 do

begin

aLabel := TQRLabel.Create(Form2); '设置标题

aLabel.Parent := TitleBand1;

with aLabel do

begin

Width:=300;

Height:=TitleBand1.Height;

Alignment:=taCenter;

Caption := Edit1.Text;

end;

Table1.Open;

Table2.Open;

Table2.First;

while not Table2.EOF do

begin

aLabel := TQRLabel.Create(Form2);

’设置显示字段标题

aLabel.Parent := HeaderBand1;

with aLabel do

begin

AutoSize:=False;

AutoStretch:=True;

Left :=LeftValue;

Top := 0;

Width:=80;

Height:=HeaderBand1.Height;

Alignment:=taCenter;

Caption := ' '+table2.FieldbyName(

'DisplayName').AsString+' ';

end;

aText := TQRDBText.Create(Form2);

'设置显示字段内容

aText.Parent := DetailBand1;

with aText do

begin

AutoSize:=False;

AutoStretch:=True;

Height:=DetailBand1.Height;

DataSet:=Table1;

DataField:=Table2.FieldbyName(

'FieldsName').AsString;

Alignment:=taCenter;

end;

LeftValue:=LeftValue+80;

Table2.Next;

end;

end;

end;

---- 好了,运行程序可以看到报表预览的效果,显示了Goods中的ID

Name

Price。在运行时完全可以控制table1和table2中的数据内容。显示不同数据库的不同信息,改变table2中的记录顺序可改变报表中的显示顺序。而且,由于报表的各部分,甚至包括各band和system data均可在程序运行时依据上述方法动态生成。其属性也可动态设置。所以我们完全可以制作一个类似于Dephi中Form Wizard一样的报表精灵,还可提供一个灵活而且强大的打印设置功能。

---- 以上代码在delphi3中运行通过。

闪动窗口标题 -VB资料 闪烁的标题栏 -VB资料 实现画面的各种切换方法-VB资料 实现屏幕变暗的效果 -VB资料 实现图像切换效果 -VB资料 提取Win9x拷贝的动画-VB资料 一个图像滤光处理程序-VB资料 一个用VB5.0 实现的鼠标绘图程序 用VB6.0制作画图板 用VB6设计有趣的动画场景 用VB编程绘制网格图像 用VB绘制抛物线动画曲线 用VB绘制正弦动画曲线 用VB实现“百叶窗”的图形特效 用VB实现托盘动画图标 用Visual Basic 定制BMP文件 用Visual Basic的Move方法实现动画效果 用Visual Basic与MS-Draw开发通用作图软件 在VB中获取可执行文件及Windows 95快捷方式的图标 在VB中进行各种图形切换的方法 在VB中制作可滚动的图像显示 在图片上平滑移动文字 -VB资料 VB怎样使程序的标题条闪烁? VB制作图像的Mask图 CWinInetConnection-一个封装了WinInet API函数的类 -VB资料 MODEM通讯意外处理-VB资料 MsComm 文字传输-VB资料 PING一个IP地址(向它发送一个数据包并等待回应) -VB资料 SMTP协议简介 (Simple Mail Transfer Protocol) -VB资料 VB5.0 中远程数据库的访问 VB下如何编写CRC校验程序 请问谁知道vb里面如何调用notes对象,怎么调用? 急急急,我好急,有没有办法先把记录集处理一下在绑顶到datagrid 请问为什么这一段XML代码运行不了???为什么???帮帮忙??多谢!! 请教有关手机方面的问题 连编好的可执行文件不能用 帮帮忙啊 哪儿有免费的jsp空间并且有数据库支持的?谢谢 客户机的WinSock控件采用TCP协议,如何使用预设的固定的端口? sos!Help me! 有谁知道怎样用Capwnd控件(用于捕获视频的控件)?? 请帮我看看,谢了 请问如何控制imagecombo控件的下拉高度呢? 能告诉我什么是回调函数吗?注册的系统回调函数中引入的参数能在别的地方得到吗? 在RicheEdit里的字体颜色都是黑色,能变成其他颜色吗? 请问在视中如何使主框架的某个菜单项变为不可用(代码如下,错在什么地方,如何改?)! 请教VFP中GRID的显示和取值问题 请教一些有关用ROSE进行UML设计的问题 高薪寻找合作者:医院信息管理系统 求救!!!!为什么必须多按reset键才可以启动?? 請教: WideString如何存入數據庫image字段? 如何判断一个字符串是数字串?要源码(无内容) 登陆某些网站后浏览器的默认主页不能更改,怎么办???谢谢 请教简单的API函数的问题 ! 简单问题,怎么样得到下拉列表的选项?????最好有简单的原码 主  题:高薪寻找合作者:医院信息管理系统 上海机械电脑有限公司??? 小弟刚刚开始自学pb有好多问题想请教各位老大 HW待遇到底咋样??? 谁在CB里面用过游标? 关于网络协议软件的开发问题,编译成什么形式? 我是个新手,请教Linux下面C编程,该怎么入手,该看些什么样的书?来则有分!!!! 高分求源代码!又谁做过票据打印的软件!帮忙给点源代码! 如何执行insert 语句效率最高 数据窗口相同记录的判断??? 关于网络协议问题 求救,怎么判断试用版的试用天数? 关于IE的问题,help~~~ 请各位老大帮忙啊 请问如何串行化一个COLORREF变量,急---谢谢! 急,急,急,数据库更新的问题 win98下的DrawText api函数与Win200Server下的有什么不用呢? 评选水园“十大杰出青年”,请大家踊跃推荐(自荐)参评! 这个(Oracle)存储过程错在那?很简单,各位大虾看一下,一定给分!!谢谢啦!!!!! 好久不来了,有个问题请高手指点! 怎样设置SQL2000的某一字段为自动类型 熟悉GDI函数的朋友请进 如何屏蔽源代码 哪位大侠行行好,把我的密码屏蔽掉,只要不需输密码,分数一定不会少。 如何用PB制作DLL,请各位大师请教! 如何得到地址薄群組的具体用戶列表? 天然有机高分子材料就是天然材料吗?羊毛,煤什莫的 铜铝合金散热器好还是铝合金那个好? 生物学与人类的关系及生物学的发展对社会的影响相关论文.不要太复杂,我是初一的,质量好的追加全部积分~! 天然有机高分子材料是什么? 怎样理解“靠山吃山,靠水吃水”的含义?举例说明.(提示:人类的生活离不开动物、植物)科学上面的快 人类生活离不开生物的多样性,举例说明人类与生物的关系.要求动,植物各举例三个. 人类历史上的四次能源革命 铝合金拉丝、铝合金面板,铝合金散热器哪家的比较好? 三坐标测量位置度应注意什么?轮廓度应怎么踩点? 简要介绍下人类历史上三次能源革命 是能源革命 能源 人类的衣食住行离不开化学,请你举出相关的例子.衣:食:住:行: 用三坐标如何测量附图的面轮廓度. 迄今为止人类历史已经历了几次信息技术革命急用!越快越好,谢谢 徕卡测绘系统 待遇 轮廓度测量方法? 人类历史上经历了什么信息革命 测量平面坐标系统有哪些 水晶AB胶和水晶滴胶区别在哪里? 人类历史经历了哪五次信息革命 胶水和油漆请问哪种胶水或油漆可以把多张牛皮纸,像制作复合板那样,一层层地粘贴起来,使之具有一定的硬(刚)度,变成纸合板.大概需要粘两个平方米. 三坐标测量轮廓度时公差怎么分?如轮廓度为0.064mm,是±0.032mm这样分吗? 水准仪测量 不锈钢和油漆用什么胶水 水晶滴胶可不可以用AB胶代替没有水晶滴胶,能不能用AB胶代替 电子水准仪如何测量四等水准关键是条码水准尺,没黑红面.一般用什么样表格填写 生物的确太重要了,人们的生活处处离不开生物.请距离说明生物对人类的衣,食,住,行的重要性各举三个例是具体不是距离啊 生物生存离不开周围的() 棉花机可以弹羊毛衫和废旧衣服不? 图纸标注面轮廓度0.5,是否就是该平面高点和低点的差值是0.5mm? 生物生存离不开周围的什么?a.动物,植物   b.微生物   c.环境  d.气候条件 羊毛衫扎人怎么办?怎么处理羊毛衫扎人? 线轮廓度有无基准的区别 生物生存离不开什么要从(动植物) (环境) (气候条件).中选一个. 人类在历史上的生活正如?求接连! 纽扣常用高分子材料 平面度和变形度的区别比如一个胶件.需要测量这个胶件的变形度,能不能测量平面度就行了? 人类在历史上生存多久? 棉花是高分子化合物么 pvc粘pvc用什么胶水效果好?能够手工做,效果需刷成一条线不能有毛边异位等现象,只要能够平滑好刷粘力要达标! 人类的传统生活方式是什么? 植物与人类的衣食住行必须和植物有关 用来粘PVC胶件的慢干胶水有那些? “人类在历史上的生活正如旅行一样”用的是什么修辞手法 水平仪测量的计算水平仪精度0.02/1000,桥板长度200mm,测量对象为1000mm,共测量5次,每次读数0、+3、+1、+3、-2求工件直线度误差五个点的高度已经明白了,但是直线度0.008mm是如何确定的呢? 举出4个以上的具体事例谈一谈人类的生存为什么离不开生物 作者认为人类在历史上生活应该拥有怎样的心态?不要那种一大片的那种没有用的东东( ⊙ o ⊙ 这是8艰难的国运与雄健的国民的作业本上的 还有一个啊:上文采用了比喻写法.请选择一个比喻 水准仪可以测量些什么有两个空 请各举两列说明,人类的衣\食\住\行都离不开生物.衣:食:住:行:p35 如何用水准仪测量两点间的水平距离? 棉花,蚕丝主要成分分别是什么 道路测量计算公式? 利用水准仪测量距离他能测量多少米 我发觉读数他一般上丝减去下丝都不超过1M 而距离计算是上丝减去下丝乘 100 我想知道他能测多少米的距离 如何用水准仪测量长度,请指教, 求环宽的面计公式 棉花羊毛蚕丝都是天然的高分子化合物.都属于天然纤维. 为什么说人类离不开植物的光合作用? 如何测量液晶显示器尺寸,详细的计算公式是怎么写的! 水准仪怎样测量距离 笔记本散热器是亚克力的好还是铝合金材质的好!我的笔记本太烫想买个散热器,但不知道那种材质的用了好,麻烦懂的帮帮忙,顺便说下市场大概的价格是多少,感激不尽! 以‘生物与生活’为题写一篇生物论文
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn