DELPHI7报表怎么做 delphi rave报表

-- DELPHI7报表怎么做?
自从用了DELPHI7以后,
这个报表我是说什么也找不到了。
请哪位高手告诉我7里如何进行报表控件的连接?。。
--------------------------------------------------------------------------------

-- 作者:brenda
-- 发布时间:2003-12-128:39:46--
RAVE
--------------------------------------------------------------------------------

-- 作者:火龙真人
-- 发布时间:2003-12-128:45:20--
delphi7里不自带QUICKREAPORT但有新的报表组件RAVE
如需要QUICKREAPORT可以加装,(点Component下的InstallPackages...,点击Add,选择Bin目录下的dclqrt70.bpl,打开,OK,Quickreaport就加载上了--来因注)
我一般用EXECEL输出
--------------------------------------------------------------------------------

-- 作者:盐粒儿
-- 发布时间:2003-12-129:52:40--
那个excel怎么输出呀?
我知道有个rave,就是不知道具体怎么连。
--------------------------------------------------------------------------------

-- 作者:brenda
-- 发布时间:2003-12-129:53:58--
用OLE连接到EXCEL吧,做起来也是小有复杂
--------------------------------------------------------------------------------

-- 作者:盐粒儿
-- 发布时间:2003-12-129:56:28--
能不能说具体点??
--------------------------------------------------------------------------------

-- 作者:火龙真人
-- 发布时间:2003-12-1213:54:55--
RAVE我也没用过呢,呵呵给你我EXECEL输出的代码
记得USE comobj
procedure Tfm_main.tb_printClick(Sender:TObject);
var
range:variant;
i,j:integer;
begin
if datamod.excelquery.Active=false then
begin
MessageBox(handle,Pchar('当前没有文件打开,请点打开文件'),'输出提示',0+48);
exit;
end;
if datamod.excelquery.RecordCount=0 then
begin
MessageBox(handle,Pchar('没有记录可输出'),'输出提示',0+48);
exit;
end;v:=createoleobject('excel.application');
v.workbooks.add;
v.workbooks[1].worksheets[1].name:='手机欠费清单';
sheet:=V.workbooks[1].worksheets[1];
v.visible:=true;
sheet.cells[1,1]:='手机号';
sheet.cells[1,2]:='姓名';
sheet.cells[1,3]:='总金额';
sheet.cells[1,4]:='本金';
sheet.cells[1,5]:='滞纳金';
sheet.cells[1,6]:='下帐时间';
sheet.cells[1,7]:='分区';
sheet.cells[1,8]:='身份证号';
sheet.cells[1,9]:='联系地址';
sheet.cells[1,10]:='联系电话';
sheet.cells[1,11]:='辖区';
sheet.cells[1,12]:='备注';
for i:=1 to 12 do
begin
sheet.cells[1,i].borders.linestyle:=1;
sheet.cells[1,i].horizontalalignment:=3; end; datamod.excelquery.First;
j:=1;
while not datamod.excelquery.Eof do
begin
inc(j);
sheet.cells[j,1]:=datamod.excelqueryDSDesigner.AsString;
sheet.cells[j,2]:=datamod.excelqueryDSDesigner2.AsString;
sheet.cells[j,3]:=datamod.excelqueryDSDesigner3.AsString;
sheet.cells[j,4]:=datamod.excelqueryDSDesigner4.AsString;
sheet.cells[j,5]:=datamod.excelqueryDSDesigner5.AsString;
sheet.cells[j,6]:=datamod.excelqueryDSDesigner6.AsString;
sheet.cells[j,7]:=datamod.excelqueryDSDesigner7.AsString;
sheet.cells[j,8].NumberFormatLocal:='0';
sheet.cells[j,8]:=datamod.excelqueryDSDesigner8.AsSTRING;
sheet.cells[j,9]:=datamod.excelqueryDSDesigner9.AsString;
sheet.cells[j,10]:=datamod.excelqueryDSDesigner10.AsString;
sheet.cells[j,11]:=datamod.excelqueryDSDesigner11.AsString;
sheet.cells[j,12]:=datamod.excelqueryDSDesigner12.AsString;
datamod.excelquery.next;
end;range:=sheet.range['A1:'+'L'+inttostr(j)];
range.borders.linestyle:=1;
sheet.cells.entirecolumn.autofit;
sheet.pagesetup.printtitlerows:='$1:$3';
sheet.pagesetup.rightheader:='execel报表';
sheet.pagesetup.leftheader:='共'+inttostr(datamod.excelquery.RecordCount)+'条记录';
sheet.pagesetup.centerfooter:='共&N页'+'/第&P页';
sheet.pagesetup.centerhorizontally:=true;
sheet.pagesetup.orientation:=1;
sheet.pagesetup.draft:=false;
sheet.pagesetup.blackandwhite:=true;
sheet.pagesetup.zoom:=100;
v.displayalerts:=false;
v.workbooks[1].worksheets[1].Columns[1].ColumnWidth:=11;
v.workbooks[1].worksheets[1].Columns[2].ColumnWidth:=8.5;
v.workbooks[1].worksheets[1].Columns[3].ColumnWidth:= 9;
v.workbooks[1].worksheets[1].Columns[4].ColumnWidth:= 9;
v.workbooks[1].worksheets[1].Columns[5].ColumnWidth:= 9;
v.workbooks[1].worksheets[1].Columns[6].ColumnWidth:= 7.6;
v.workbooks[1].worksheets[1].Columns[7].ColumnWidth:=3.75;
v.workbooks[1].worksheets[1].Columns[8].ColumnWidth:= 19.13;
v.workbooks[1].worksheets[1].Columns[9].ColumnWidth:= 27.75;
v.workbooks[1].worksheets[1].Columns[10].ColumnWidth:= 14.75;
v.workbooks[1].worksheets[1].Columns[11].ColumnWidth:= 8;
v.workbooks[1].worksheets[1].Columns[12].ColumnWidth:= 25.5;
end;--------------------------------------------------------------------------------

-- 作者:火龙真人
-- 发布时间:2003-12-1616:34:30--
再转贴一篇
Rave 报表入门Rave 报表入门 Delphi 7.0 中实现报表的方法称为 Rave。Rave报表是一种基于组件的可视化
报表设计工具,使用它可以简化设计过程,提高设计效率。只要将 Rave 报表组件添
加到应用程序中后,就可以创建各种类型的报表。本文将以 ADO 组件连接数据库,
向读者介绍怎样利用 Rave Report5.0 快速设计报表。 还是赶快行动起来,体验一下 Rave Reports 的强大功能吧! 1.准备好范例数据库,笔者使用 Access建立数据库Student.mdb,创建一个表:
StuInf(学生基本信息),包含Sno(学号),Sname(姓名),Sex(性别),Class(班级),
Birthday(出生日期)... 等字段,所有字段名先使用括号中的中文;再写入几条数据
备用。
2.启动 Delphi7.0 建立一个工程,在窗体上放置一个 ADOQuery控件,设置其
ConnectionString 属性,连接数据库 Student,设置 SQL 属性为“select * from
StuInf;”,Active 属性为 True 。为了能看到库中的数据,再往窗体上放置一个
DBGrid 和一个 DataSource ,设置相关属性,使 DBGrid 中显示数据。
3.在窗体上添加一个 GroupBox,设置其 Caption为“选择报表式样”;往其中
添加两个 RadioButton ,Caption 分别为“条列形式”、“表格形式”;往窗体上
添加一个按钮,Caption 为“显示报表”。

现在,准备工作已经完成了,保存工程,下面开始报表的设计。4.在窗体上添加一个RvDataSetConnection组件,设置其DataSet为ADOQuery1,
这样,就提供了 Rave 报表与数据源之间的连接。
5.在 Delphi 主菜单的 Tools 中选择 RaveDesigner 启动 RaveReports5.0。我们可以看到,报表设计器的界面与Delphi非常像,左上角是各种工具栏按钮,
右上方是组件面板,左侧是属性窗,右侧是项目管理窗,中间则是可视化的设计窗。
利用它设计报表完全是可视化的,通常在它的组件面板上直接将报表界面组件托放到
中间的设计窗上,能在左侧的属性窗口中设置这些界面组件的属性,从而改变它的外
观,设置完后还可以打印御览。
我们在系统自动生成的报表页上放置一个TextComponent(在Standard面板上),
可以随意拖动,改变它的位置。右键单击它,弹出菜单,点击cut,copy,delete 等
按钮,好像都不起作用!在右侧项目管理窗中右键单击控件的名字,竟然不会弹出菜
单!这一点与 Delphi 相比可是太不方便了!我们必须使用键盘快捷键才能实现上述
操作。
DELPHI7报表怎么做 delphi rave报表
在利用报表设计器创建报表的时候,首先需要创建数据视图,然后基于所创建的
数据视图设计报表,下面就来创建数据视图。 6.选择[File/New Data Object]菜单项,在系统弹出的对话框中选择Direct
Data View ,点击 Next,然后选中 RvDataSetConnection1(DT),点击Finish。 是不是这样就搞定了呢?谁知系统弹出错误消息框,“ A componentnamed
DataView1 alreadly exists.” 明明没有创建 DataView1,为什么说 DataView1
已经存在呢?笔者经过几次试验,终于找到了问题之所在。还记得我们使用的数据表
吗?所有字段都是中文的,请试者将刚刚创建失败的 DataView1的 Name 属性改成
随意的汉字,又将得到错误消息框,”name” is not a valid component name.
看来,在由 Rave Reports创建的视图和其所有字段名中使用汉字是不合法的。因此
系统在创建视图遇到不合法字段时,自动将其名称定为DataView1,当数据表中有多
个字段时,名称都是 DataView1,当然会提示它已经存在了。
好了,删除已经创建的 DataView1,把 StuInf表中所有的字段都改成英文的,
重复第6步,一切搞定!在项目管理窗中点击 DataView1左侧的”+”,将会看到所有的
字段,只是在原字段名前都加上了“DataView1”,即DataView1Sno,DataView1Sname
等等,当然,你还可以修改它们的 Name 属性。 数据视图已经创建成功,下面开始报表界面的设计。先来设计行式显示的报表。 7.新建一个报表页,选择 Zoom面板,点最右边的一个按钮以看到整个报表页,
这样有利于设计。
8.在页面的上方放置一个 Text 组件,点其 Font 属性,设置字体样式,再将其
Text 属性置为 ”学生基本信息”,作为表头。
9.选 Report 面板,放一个 Region 组件到报表页上,调整其大小和位置。
10.在 Region 上放一个 Band 组件,在 Band 上放一个 Text组件,设置其
Text 属性为“学号”。再放置几个 Text,设置它们的 Text 属性分别为其他几个字
段的中文名称,适当调整它们的位置,不要超出 Band1 的白色区域。
11.在 Report 面板上选 DataBand 放到 Region 上,设置其DataView 属性
为 DataView1。
12.在 DataBand 上放一个 DataText 组件,设置其 DataView属性为
DataView1,DataField 属性为 Sno;再往 DataBand 上放几个 DataText 组件,
设置它们 DataView 属性为 DataView1,DataField 属性分别为剩下的几个字段。
调整它们的位置,不要超出 DataBand1 的白色区域。

点工具栏按钮上的 Execute Report,看看刚刚设计出的报表怎么样吧!如果不
满意,继续调整各个控件的位置和字体,直到满意为止,保存文件,命名为 Rave1.
我们再来设计表格形式的报表,这次就简单的多了! 13.重复7,8,9,6,11步骤,选择 Drawing面板,这里的组件是专门用来绘
制各种图形的。调整 DataBand 的大小,选择合适的组件,在 DataBand 上绘制你
想要的图形,调整它们的布局,与 10,12 步一样的道理,添加各种组件并设置其
相关属性,御览报表,直到满意时保存文件,命名为 Rave2. 接下来,我们往主程序中添加代码。 在窗体上添加一个 RvProject 组件,在 Button1 的 On Click事件中加入
以下代码:procedure TForm1.Button1Click(Sender:TObject);
begin
Try
if RadioButton1.Checked then
begin
RvProject1.Close;
RvProject1.ProjectFile:=’Rave1.rav’;
RvProject1.Open;
RvProject1.Execute;
end
else if RadioButton2.Checked then
begin
RvProject1.Close;
RvProject1.ProjectFile:=’Rave2.rav’;
RvProject1.Open;
RvProject1.Execute;
end
else
ShowMessage(’请选择报表式样 !’);
Except
Exit;
End;
end; 在 Form1 的 OnCloseQuery 事件中添加代码:RvProject1.Close;调用
RvProject 的 Open 方法后,必须调用 Close 方法关闭报表项目文件,并从内存
中卸载。
好了,保存工程,运行程序看看效果如何吧,是不是很酷呀?看来,制作报表
也不是什么困难的事。到这儿,相信读者在报表制作上已经入门了,其实 Rave
Reports 5.0 的功能远不止这些,利用它,可以实现许多功能,比如带字回绕,
图形化,精确页面位置控制等等,掌握它,可以制作出漂亮,复杂,高度个性化
的报表,这些就留给读者自己探索吧。 注意事项:
1.数据表要使用英文字段;
2.Text 和 DataText 不能自动换行,若数据太长,使用 Memo 和DataMemo
组件。

  

爱华网本文地址 » http://www.aihuau.com/a/25101011/59933.html

更多阅读

怎么做淘宝客,阿里妈妈怎么注册 阿里妈妈淘宝客注册

怎么做淘宝客,阿里妈妈怎么注册——简介淘宝客简单的说就是宣传淘宝店铺和店铺宝贝的人,也就是淘宝店家聘请的推销员,那么怎么做淘宝客呢 ,怎么利用淘宝客赚钱呢怎么做淘宝客,阿里妈妈怎么注册——工具/原料淘宝会员或者阿里妈妈账号怎

娃娃菜可以怎么做? 娃娃菜怎么吃

娃娃菜可以怎么做?——简介娃娃菜,平常你们都是怎么做的?我们家一般炒着吃,今天试一下新的吃法,味道不错哦!喜欢的亲也来做做试试吧,很简单的呢!娃娃菜可以怎么做?——食材娃娃菜 600g蒜 50g油 适量盐 适量葱 适量淀粉 适量鸡汁 适量娃娃菜

酸奶面膜怎么做 酸奶面膜能天天做吗

酸奶是许多人的美味饮品,但对酸奶面膜恐怕大多数人并不了解。酸奶中含有大量的乳酸,作用温和,而且安全可靠。酸奶面膜就是利用这些乳酸,发挥剥离性面膜的功效,每日使用,会使肌肤柔嫩、细腻。做法也很简单,举手之劳而已。酸奶面膜怎么做——

征途2智取任务怎么做 征途2常州v恶棍

征途2智取任务怎么做——简介今天小编要给大家分享的是征途2智取任务怎么做,征途2中有2次的的智取任务,分别是在85级和125级的时候,125级的智取任务难度相对85级要难一些,但是还是可以完成的,下面和大家说话完成的方法。征途2智取任务怎

声明:《DELPHI7报表怎么做 delphi rave报表》为网友我会编辑心情分享!如侵犯到您的合法权益请联系我们删除