用代码控制Rave
来源:互联网 发布:2016产业结构优化 编辑:程序博客网 时间:2024/06/05 17:30
1、明确RAVE的结构:
RVproject->projman->dataview,report
dataview->stringfield, integerfield....
report->page->region->band,databand->text,datatext,memo,datamemo....
2、了解组件的类。
一般而言,组件的类名可以看RAVE设计器中的component前面的那个单词前面加上个TRave,如text,则其类为TRaveText, DataText类为TRaveDataText.
3、了解一定的联系。
这一点尤其是在创建DataText时要了解清楚。要创建一个DataText,则一定要有其对应的StringField, IntegerField...,如果没有,则创建之。
4、了解要uses的units: Rave要uses的units较多,下面有个列表:
RvCsStd:TRaveText,TRaveMemo,TRaveSection,TRaveSection,TRaveMetaFile, TRaveFontMaster,TRavePageNumInit
RvClass:TRaveComponent,TRaveControl, TRaveContainerControl, TRaveContainerComponent,
TRaveProjectItem,TRavePage
RvCsData:TRaveDataText,TRaveDataMemo,TRaveCalcText, TRaveDataMirrorSection,TRaveDataCycle,
TRaveCalcOp,TRaveCalcTotal,TRaveCalcController
RvCsBars:TRavePostNetBarCode,TRaveI2of5BarCode,TRaveCode39BarCode,TRaveCode128BarCode,
TRaveUPCBarCode,TRaveEANBarCode
RvCsDraw: TRaveLine,TRaveHLine,TRaveVLine,TRaveRectangle, TRaveSquare,TRaveEllipse, TRaveCircle
RvDataField: TRaveStringField,TRaveIntegerField, TRaveBooleanField,TRaveFloatField,TRaveCurrencyField,
TRaveBCDField, TRaveDateField,TRaveTimeField,TRaveDateTimeField,TRaveBlobField,
TRaveMemoField,TRaveGraphicField,TRaveInt64Field
RvDatabase: TRaveDatabase
RvDirectDataView: TRaveDataView,TRaveDriverDataView
RvProj:TRaveReport,TRaveProjectManager
RvSecurity:TRaveSimpleSecurity,TRaveLookupSecurity
RvCsRpt:TRaveRegion,TRaveBand,TRaveDataBand,TRaveIterateBand, TRaveBandStyle,TRaveDataCycle
5、实例:
uses
RpRave, RVClass, RVProj, RvCsRpt, RVCsStd, RvCsData, RvDirectDataView, RvDataField;
procedure TForm1.Button1Click(Sender: TObject);
var MyPage: TRavePage;
MyBand: TRaveBand;
MyRegion: TRaveRegion;
mytext2: Travetext;
mydataband: Travedataband;
mydatatext: Travedatatext;
myDataView: TRaveDataView;
myfield: TraveStringField;
begin
form1.ADOQuery1.Close;
form1.ADOQuery1.SQL.Clear;
form1.ADOQuery1.SQL.Add('select name,mobile,hometele,CnD from address');
form1.ADOQuery1.Open;
form1.RvProject1.Open;
With RvProject1.ProjMan do
begin
MyPage:= FindRaveComponent('Report3.mainPage',nil) as TRavePage;
//查找page (注意,查找page,dataview后面的parent引用的是nil,而其他的页面上的对象引用时用page,比如说如果是某BAND下的一个TEXT,你不能引用这个BAND找到它,而是要用PAGE名。)
MyRegion:= FindRaveComponent('dataview1Region',MyPage) as TRaveRegion;
MyBand:= FindRaveComponent('DataView1Band',Mypage) as TRaveBand;
//MyBand:= TRaveBand(mypage.Components[3]);
MyText2:=TRaveText.Create(Myband);
MyText2.Parent:=Myband;
MyText2.Name:=GetUniqueName('Text125',MyPage,false);
MyText2.Top:=0;
MyText2.Left:=5.2;
MyText2.Width:=200;
MyText2.Height:=200;
MyText2.Text:='号码';
MyText2.Font.Size :=15;//设置字体的属性
MyText2.Font.Color :=Clmaroon;
MyText2.Font.Name :='宋体';
AddComponent(MyText2);
//建立新文本,TraveText,列标题。
myDataView:=FindRaveComponent('DataView1',nil) as TraveDataView;
//myDataView:=TraveDataView(rvproject1.ProjMan.Components[0]);
myfield:=TRaveStringField.Create(myDataView);
myfield.Parent:=myDataView;
myfield.Name:='dataview1CnD';
myfield.FieldName:='CnD';
myfield.FullName:='CnD';
myfield.Size:=4;
addcomponent(myfield); //建立新的字段,tStringfield,字段。
MydataBand := FindRaveComponent('dataview1dataBand',Mypage) as TRavedataBand;
//MydataBand := TRavedataBand(mypage.Components[8]);
Mydatatext:=TRavedataText.Create(Mydataband);
Mydatatext.Parent:=Mydataband;
Mydatatext.Name:=GetUniqueName('dataText125',Mypage,false);
Mydatatext.Top:=0;
Mydatatext.Left:=5.2;
Mydatatext.Width:=1;
Mydatatext.Height:=200;
mydatatext.DataView := myDataView;
mydatatext.DataField:='CnD';
Mydatatext.Font.Size :=12;//设置字体的属性
Mydatatext.Font.Color :=Clblack;
Mydatatext.Font.Name :='宋体';
AddComponent(Mydatatext);
//建立新的列,Tdatatext,字段内容。
end;
form1.RvProject1.Execute;
rvproject1.Close;
- 用代码控制Rave
- Rave
- Rave结构
- Introduction to Rave Reports
- Rave Reports初步入门
- Rave 报表入门
- 用Js控制cookie代码
- RAVE中TRvCustomConnection组件介绍
- RAVE中Rendering组件介绍
- RAVE中TRvNDRWriter组件介绍
- RAVE中TRvSystem组件介绍
- rave report的使用感想
- UCT-RAVE扑克中应用
- 图片大小用鼠标滚轮控制代码
- 用SVN搭建代码控制服务
- MAXIMO 7,用代码控制工作流
- 用宏控制代码的一个注意事项
- 用代码控制Cube的运动
- 用javascript实现的分页控件
- 入侵必学:SQL语句大全
- ActiveBPEL持久化(MySQL)
- 提升JSP页面响应速度的七大秘籍绝招
- 利用JS脚本Window.Open打开一个全屏的窗口
- 用代码控制Rave
- 昨天提车失败
- (MS SQL Server)SQL语句导入导出大全
- 调试小技巧
- 微软官方ANI漏洞补丁下载(KB925902)
- 谈VHDL/Verilog的可综合性以及对初学者的一些建议
- 成功人士应该具备的
- IE 实用javaScript技术-屏蔽
- PHP5安装到Win2000的IIS5中的配置...