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

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中运行通过。

玩与学并存 Kano kit让你自制Raspberry Pi电脑 【BDTC讲师】Hortonworks Gunther&Ted:HBase、Stinger的发展与实践 人人网推出开放平台2.0 多项重大改进吸引开发者回流 红帽高管:将Linux价值理念和做法延伸到OpenStack Fundation 5发布:号称最快版本,响应式用户体验更完善 程序员远程工作必会编程语言JavaScript 苹果确认收购3D传感技术公司PrimeSense 从电影《饥饿游戏》里学到的IT知识 细数IE11的七大变化 2013中国大数据技术大会,你不可错过的10个理由 Unity 2D全球发布,开发者梦想照进现实 Kraken:改变PayPal开发文化的Node.js框架 微软高管:我们将不会再有三个Windows平台 中兴明年推智能手表 暂只能与自家手机搭配使用 移动开发必备!15款jQuery Mobile插件 Chrome新变化:在地址栏里增加搜索按钮 电信行业大数据实践走进大数据大赛:电信网络寻呼黑洞分析 京东云开发者沙龙(北京站):“千人千面”的机遇 小工具、大能量——2013移动开发工具调查报告 人人网重新布局移动社交战略 专注学生群体发布新版移动客户端 谷歌把“OK,Google”带到Chrome 让PC也能便捷语音搜索 美国女性工程师远没有你想象的多 技与艺:对话《雨血》系列制作人梁其伟先生 2014年平板电脑或将占PC市场的“半壁江山” 【开源推荐】Nutz:Java项目中SSH框架的最佳替代品 你的数据库准备好过冬了吗 开源将成为SDN最大的风险! “大姨吗”CEO柴可:女性健康白皮书的发布与“大姨吗”的未来 看中国大学生的移动创意激情 第六届英特尔杯软件创新大赛侧记 在哪里工作更好?Facebook大胜Google WDC超链接图:涵盖35亿网页、1280亿超链接 如何在一个窗口中调用另一个窗口中按钮的click事件? 初次使用pb7.0,请问。。。。 哪里有installshield下载 !!! 高分求 install shield 的教程!最好是新版本的 深圳,珠海有什么好玩的地方么?深圳有没有比较好的海滩? 毕业论文题目“基于gis的地下管网的管理系统” ,请各位大哥帮帮忙,知道啥就说些啥,还有,那儿有gis软件源代码可供参考,hhc76@163.net 请问广州电信提供的DNS服务器地址是什么 请问广州电信提供的DNS服务器地址是什么? How to input Chinese charactors in Linux? 如何实现类似VC7的个性化按钮的菜单?即如何用api做出点击菜单菜单不消失而只在菜单项之前作个记号 如何实现类似VC7的个性化按钮的菜单?即如何用api做出点击菜单菜单不消失而只在菜单项之前作个记号 我为什么只能传一个参数?谢谢! 关于CCommandLineInfo 请问一个特殊控件,谢谢,一定给分. 哪儿有关于COM的英文版书下载?--找了很久没找到 PowerDesigner 9中怎么设置外鍵呀,我看到的选项怎么是灰色的呀 经典问题:如何获得IFRAME中网页的HTML代码,特急!!! 有没有在广州的NOTES 开发人员 ,有项目 请寄简历到lotusoa@21cn.com 有没有在广州的NOTES 开发人员 ,有项目 请寄简历到lotusoa@21cn.com. 业务需求、用户需求、功能需求应该分别从那类客户那里获得? 关于SOAP/WEB SEVER的问题!请大家讨论一下! 又一个迷茫初学者 谁能给我讲讲csdn水园的历史 一个关于句柄的问题! 刚接触存储过程,请问这个过程怎么写啊? jdk&jsdk DLL调用 asp.net无法显示web控件,也无法对web控件编程 如何将C语言(不是C++)编写的函数做成dll文件?我用的是Visual C++ 6.0!急急急! 哪里有PROJECT 2000的项目管理软件下载????? 请问如何选择测试数据? 如何将C语言编写的函数做成dll文件?我用的是Visual C++ 6.0 access2000中如何使用SQL2000中的ESCAPE? 无法为更新行集定位:一些值可能已在最后读取后改变--怎么解决 sql server ce问题 气死我了,本姑娘以后再也不来PHP版回答问题了 activeReport 问题 有没有非教育网下载visualage for java 4.0 请教:怎样记录浏览器访问过的地址? ChinaRen实在是太差了!!!!我讨厌ChinaRen!!! 偶觉得湘妹子既可以是红粉知己,也可以是居家老婆,一句话:人生何所求,得一湘妹子足矣! 怎样通过程序设置使浏览器不出现工具条和minibox,maxbox 如何修改注册表来删除ie中的查看》浏览栏按钮? 关于函数指针的问题,欢迎讨论. 还是没有解决的问题:关于VFP报表打印的问题—急急急! moden是否有物理地址 如何用Delphi或C++Builder代码实现一个程序关闭另处一个应用程序。 请各位推荐几本好一点的JAVA参考书,THANKS 这样的代码为什么不能连接SQL SERVER数据库 当二个进程运行时,几就是两次运行FTP 动画关闭窗体API的问题 利用矩形的性质,证明:直角三角形斜边上的中线等于斜边上的一半.画图 已知 求证 证明 帮我做做谢谢 有点小难的数学题 用高二的解题方法 要思路清楚的 如图 一个动点p从原点开始 沿X轴正方向前进一个单位到点A1(1,0)后沿Y轴的正方向前进三分之二个单位到点B1(1,2/3)再沿X轴的负方向前进4/ 为什么在物理的VT图像中算三角形或梯形的面积就是位移? 如图,在平面直角坐标系中,S△ABC=48,角ABC=45°,BC=16,求△ABC的三个顶点坐标 数学题解题思路方式我有点弄不明白如下面这题的说法;“当点O运动到何处,且△ABC满足什么条件时,四边形AECF是正方形?”如上题,能否把四边形AECF是正方形当成已知条件呢?“当点O运动到何 直角三角形斜边上的中线等于斜边的一半? 修一条水渠用了两周,第一周修了全长的55%,比第二周多修100米.这条水渠全长多少米?算式 如图,在矩形ABCD中,放入六个形状、大小相同的长方形,所标尺寸如图所示.试求图中阴影部分的总面积.本人要的不是答案或过程,本人要的是解这道题的思路,把左边的6厘米改成4厘米 vt图像中的位移为什么是面积 一座桥两周修好,第一周修全场的55% ,比第二周多修一百米,这座桥全长多少米可以不计算 有一个两位数,十位数上的数字是个位上数字的2倍如果把这两个数字对调位置组成一个新的两位数,与原数的和是132求原数(不用方程) 当v不变时,我们可以用x=vt求位移,还可以利用v-t图像下梯形的面积来求解速度变化时的唯一.当v不变时,我们可以用x=vt求位移,还可以利用v-t图像下梯形的面积来求解速度变化时的位移.当F不变 已知二次函数y=ax²+bx+c的图象如图所示,求这个二次函数的关系式: 直角三角形斜边上的中线等于斜边的一半这个定理求证明! 2.有一个两位数,十位数上的数字是个位上数字的2倍如果把这两个数字对调位置组成一个新的两位数,与原数的就当天2.有一个两位数,十位数上的数字是个位上数字的2倍如果把这两个数字对 在Rt△ABC中,∠C=90°,a,b,c分别表示∠A、∠B、∠C的对边,且c^2+4a^2=4ac,求sinA的值 修一条路,已修的和未修的比是1:3,如果再修100米,这时已修的和未修的比是1:2,这条路一共有多少米? 将1~9填入小三角形中,使四个小三角形组成的大三角形内数字之和为20 在Rt△ABC中,∠C=90°,且c2=4ac-4a2,则sinA=—— 在平面直角坐标系XOY中,动点P到定点F(1,0)的距离比点P到Y轴的距离大1,设动点P的轨迹为曲线C,已知动直线L过点Q(4,0)交曲线C与A,B两点,(1)若直线L的斜率为1,求AB的长,(2),是否存在垂直于X轴的 三角形三条中位线构成的三角形的面积与原三角形面积有什么关系?为什么? 两个小正方体六个面123456,同时上抛,朝上两个数和是2的可能性是多少朝上两个数的和是10的可能性是多少,是2的倍数的可能性是多少 在平面直角坐标系xOy中,动点P与定点F(1,0)的距离和它到定直线x=2的距离之比是根号2比2,求动点P的轨迹 三角形的三条中位线组成的第n个三角形的面积 在正方体的六面写上123456,抛一次朝上数字可能是(),有()种情况,数字2朝上的概率是 在平面直角坐标系xOy中,若动点P(a,b)到两直线l1:y=x和l2:y=-x+2的距离之和等于2根号2,求a²+b²的最小值 修路队修一条路,已经修的长度和未修的长度比是2:3,再修50千米刚好到达中点,这条路有多长? △ABC中AB=1,AC,BC是关于X的一元二次方程(m+5)x2-(2m-5)x+12=0的两根,外接圆O面积为π/4,求m 在直角坐标系中xOy中,动点p到两点(0,-根号3)(0,根号3)的距离之和为4,设动点P的轨迹为曲线C直线y=kx+1与曲线交与AB两点,1写出曲线C的方程 2若以AB为直径的圆过坐标原点 求K 3求三角形AOB的 在三角形ABC中,BD=CE,DE的延长线交BC的延长线于P.求证:AD*BP=AE*CP ,△ABC中,AB=1,Ac,BC是关于x的一元二次方程(m+5)x²-﹙2m-5﹚x+12=0的两个根,外接圆O的面积△ABC中,AB=1,Ac,BC是关于x的一元二次方程(m+5)x²-﹙2m-5﹚x+12=0的两个根,外接圆O的面积为π 直角三角形斜边上的中线等于斜边长的一半,你能用矩形的有关性质解释这个结论吗? 已知在平面直角坐标系中,△ABC的顶点A(4,0),B(0,4),点C在X轴上,且BC=5(1)作出符合条件的图形(2)求出点C的坐标及△ABC的面积 在三角形ABC中,AB=AC=5厘米,且三角形的面积为12平方厘米,则三角形的外接圆的半径是多少 3平方米50平方分米=()平方米 3立方米50立方分米=()立方米 480mL=()立方厘米=()立方分米 如图所示,Rt△ABC中,∠A=90°,AD⊥BC于D,P为AD的中点,延长BP交AC于E,过E作EF⊥BC于F 求证:(EF)^2=AE×EC 在三角形ABC中,a=3,b=2根号6,角A=2角B 求cosA,求c 在三角形ABC中,AB=AC,AD为BC边上的中线,AB=17,BC=16AD多少 如图,在ΔABC中,AD是RtΔABC的斜边BC上的高,P是AD的中点,连结BP并延长交AC于E,AC:AB=R,求AE:EC 在三角形ABC中a=3,b=2√6,∠B=2∠A,求CosA的值? 一个两位数,十位上的数字与个位上的数字的和为11,把这个两位数的两个数字对调后组成的两位数比原来.一个两位数,十位上的数字与个位上的数字的和为11,把这个两位数的两个数字对调后组 在RT△ABC中,∠A=90°,AD⊥BC,P是AD的中点,延长BP交AC于点E,EF⊥BC于F,求证:EF²=AE*EC 如图是由若干个相同的小立方块搭成的几何体的主视图和俯视图,.如图是由若干个相同的小立方块搭成的几何体的主视图和俯视图,请说出他是由多少个小立方块搭成的,.并画出相应的左视图 一池.甲乙2只进水管.乙丙两只出水管.要注满一池水,单甲用3时,单丙用5时.要放满一池水,单乙用4时,单丁用6时,已有1/4池水,甲乙丙丁轮流隔开1时,几时后水开始溢出呵呵应该是甲丙进水管,乙 一张长12分米宽8分米的纸要做成长20厘米宽10厘米的旗可以做多少面 某工队修一条路,已经修了2000米,比全长的七分之三少100米,这条公路长多少米?求各位大哥大姐了, 在平面直角坐标系中有Rt△ABC,且A(3,0)B(5,0)C(3,3),P为y轴上一点,当以P、O、B为顶点的三角形与以A、B、C与以A、B、C为顶点的三角形相似时,求P点的坐标. 一个两位数,十位上的数字和个位上的数字和是5,把它们对调,所得的两位数比原数小27,求这个两位数 小立方体搭成的几何体,主视图和俯视图如下,问它最多需要多少小立方块,最少呢? 主视图 俯视图答完最多和最少需要多少小立方块,请画出最少时的左视图, 在平面直角坐标系中,点A,B分别是X轴,Y轴负半轴上的点,以A点为顶点,AB为腰在第三象限作等腰Rt△ABC(1)当OA=2,OB=4时,求c点的坐标 怎么可以证明位移等于三角形面积 修一条公路,已修了2000米,比这条公路的全长达7/8少100米,这条公路全长多少米? 已知A=2x+y,b=2x-y,则A²-B²=______(运用平方差公式) 在三角形ABC中,D是BC上的点,E是AD上的点,证明:三角形ABE的面积比上三角形ACE等于B急求 用小立方体搭一个几何体,它的主视图和俯视图如图所示.这样的几何体需要小立方块最少与最多分别是几 奥数题解析还有解题思路1.甲、乙、丙三人在A、B两块地植树,A地要植900棵,B地要植1250棵.已知甲、乙、丙每天分别能植树24,30,32棵,甲在A地植树,丙在B地植树,乙先在A地植树,然后转到B地植树.两 证明:被凸四边形两条对角线分成的三角形中,两个相对三角形面积的乘积等于另外两个相对三角形的面积的乘 如图,在平面直角坐标系中,A(1,1)B(5,1 )C(1,4)是三角形ABC的三个顶点,求BC的长 提问一道数学题!要带分析!说出你的解题思路!1:三个质数的最小公倍数是1001,这三个质数分别是( )、( )、( ).急将 修路队修一条路,已修长度和未修长度的比是2比3,再修50米刚好到达中点,这条路全长多少千米
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘