QUICKREPORT 3.docx
- 文档编号:7448673
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:28
- 大小:112.99KB
QUICKREPORT 3.docx
《QUICKREPORT 3.docx》由会员分享,可在线阅读,更多相关《QUICKREPORT 3.docx(28页珍藏版)》请在冰点文库上搜索。
QUICKREPORT3
BuildReports
using
QuickReport3
forBorlandDelphi
DistributedWorldwidebyQBSSoftwareLtd
Contents
WhatisQuickReport3?
3
There’smore3
Afirstreport5
Thecomponents9
Bandcomponents10
Printablecomponents11
Previewsandcompositereports13
Filters15
Chart16
Creatingreports17
TQuickRepindetail17
Workingwithbands22
Groups27
Master/detailreports29
Moreaboutprintablecomponents31
Textcomponents31
Usingexpressions33
Creatingadefaultcustompreview36
Furtherresources39
WhatisQuickReport3?
QuickReport3isasetofDelphicomponentsdesignedtoletyouproducedatabaseoutputquicklyandeasily.Aswellasallowingyoutoflingtogetherprintedreports,QuickReportletsyoucreateprintpreviewswheretheusercanchecktheresultofaprintoutwithoutwastingpaper,andexportdatatootherfileformats,suchasplainASCII,commaseparatedvalues(CSV)andHTML.
QuickReportisitselfwritteninDelphiandknowsallabouttheDelphimodelforhandlingdatabases.SoyoucanuseittoreportontraditionalBDE-baseddatabasessuchasParadoxanddBase,clientdatasetsusedinmulti-tierenvironments,thenewDelphi5ADOandInterbaseExpresscomponentsandthirdpartyalternativessuchasApollo.YoucanevenuseQuickReportformattingfacilitiestoprintoutnon-databasedata,ifyouneedto.
ThismanualisdesignedtogetyouuptospeedquicklywithQuickReport,sothatyoucanstarttouseitinyourownapplicationsatonce.
There’smore
QuickReportisafineproduct–butifyouneedevenmoreversatility,youmightconsiderupgradingtoQuickReportPro.Naturally,theProversionisofferseverythinginthestandardproductplus:
∙Threeextraexportfilters:
ExcelXLS:
TheXLSfilteriscompatiblewithExcel4andlater,andprovidesasimpleandrobustmechanismforexportingunformatteddataintospreadsheets.
RichTextRTF:
TheRTFfilter,basedonMicrosoft’sRTFversion1.5spec,supportsmoreRTFfeaturesthanTRichEdititself.
WindowsMetafileWMF:
TheWMFfilterletsyoucapturereportoutputinaconvenientgraphicalformat.
∙Somepowerfulextracomponents.Lettheuserdothework:
TQREditorisanenduserreporteditorthatyoucanshiproyalty-freewithyourapp.
TQuickAbstractRepisadescendantoftheTCustomQuickRepbaseclassthatdoesnotuseTDataset-useittobuildyourownreportsystems.
TQRLoopBandprintsthenumberoftimessetinitsPrintCountproperty-greatforcreatingblankforms.
TQRListWizardwillcreateaninstantreportbasedonthefieldsofatable.
∙Experttechnicalsupportviaemail.
∙Fullsourcecode.Usethesource,Luke!
Theusercaneasilymodifythecodetolocalisethelanguage,adoptittolocalinterfacestandards,addnewfeaturesandsoon.
∙Moredemoswithmoredepth,includingexamplesofhowtomakeuseofalltheProeditionfeatures,andadvancedtechniquessuchaswritingcustomfunctionsfortheexpressionevaluator.
YoucanupgradetoQuickReportProfessionalbyorderingfromourwebsite,thatofourdistributorQBSSoftwareLtdatorfromyourlocalDelphiadd-onreseller.
Afirstreport
ThebestwaytogetthehangoftheQuickReportlibraryistoseeitinaction.Sothissectionexplainshowtosetupaverybasicreport.WiththeDelphiIDErunning,followthesesteps:
1ChooseFile|NewApplication.
2DropaTTablecomponentontothemainform.
3UsetheObjectInspectortosetitsDatabaseNamepropertyto‘DBDemos’,TableNameto‘CUSTOMER.DB’andActivetoTrue.
4DropaTQuickRepcomponentonthemainform.Itssizeandpositiondon’tmatter.
5SetitsDataSetpropertyto‘Table1’.Thisisakeystep.ThereportobjecttoiteratesthroughalltherecordsinitDataSet,inthiscaseTable1,wheneveritisprintedorpreviewed.
6Ifnecessary,expandtheBandspropertyintheObjectInspectorbyclickingonthe+symboltoitsleft.SettheHasDetailitemtoTrue.Youwillseethedetailbandappearinsidethereport;changingthepropertyactuallycreatestheDetailBand1object.
7DropaTQRDBTextcomponentontothenewlycreateddetailband.
8SetitsDataSetto‘Table1’andDataFieldto‘Company’.
AtthispointyourformshouldlooksomethinglikeFigure1below.
Figure1–Settingupabasicreport
Tocheckthatyouhavesetupthepropertiescorrectly,previewthereportbyright-clickingsomewhereontheTQuickRepcomponentandselectingthePreviewitemfromthepopupmenu.Ifyoudideverythingrightyoushouldnowseeapreviewwindowcontainingyourreport,asshowninFigure2.
Figure2–Thepreviewwindow
Ifallhasgonewell,younowhaveareportthatworksatdesigntime.Ofcourseallmaynothavegonewell.Ifyouarenowmournfullygazingatanentirelyblankreport,pleasecheckthatyouhavecompletedallthesteps–alikelyexplanationisthatyouforgottosetTTable1’sActivepropertytoTrue.Similarly,ifyouarelookingatareportwithonlyoneline–‘KauaiDiveShoppe’–theproblemisprobablythatyoufailedtoconnectQuickRep1’sDatasetpropertytoTTable1.
Oneotherproblemwhichmaybiteyouisthatthebuttonsonthetoolbarabovethereportpreviewareafailtoappear.Thisisnobody’sfault:
youhavebecomeavictimofwhatthemanufacturerofyourPC’soperatingsystemispleasedtocall,initstechnicaldocuments,‘DLLHell’.Specifically,yourmachine’scopyofthecommoncontrollibrary(comctrl32.dll)isbefore4.72,andneedsupdating.
Youcandownloadalaterversionofcomctrl32.dllfromtheMicrosoftwebsiteat.ButsincethisisoneofthosefilesthatinvariablyturnsupinnewversionsofInternetExplorerandWindowsServicePacks,youmaywellfinditononeofthoseCDsthattheygiveawaywithPCmagazines,andsaveadownload.(Infact,itisunlikelythatthisbugwillbiteyouthedeveloper.Wedescribeitheresothatyouwillrecognisetheproblemifoneofyourusersiscaughtbyit.)
Nowletsmakethereportworkaspartofacompiledprogram.YouneedtowritecodetocallTQuickRep.Preview:
9DropabuttontoyourformandsetitsCaptionpropertyto‘Preview’
10DoubleclickonthebuttontoaddanOnClickevent.Addalineofcode,sothatitlookslikethis:
procedureTForm1.Button1Click(Sender:
TObject);
begin
QuickRep1.Preview;
end;
NowrunyourapplicationandclickthePreviewbutton.Asbefore,youshouldseethepreviewwindowappear.Ifyouwanttotryprintingthereportdirectlytothedefaultprinter,simplychangethecalltothePreviewmethodtoacalltoPrint,ie
procedureTForm1.Button1Click(Sender:
TObject);
begin
QuickRep1.Print;
end;
AtthispointImustadmittotakingaslightlydirtyshortcut.OurtestapplicationaTQuickRepcomponentonitsmainformand,asyoucansee,thislooksprettyodd.InrealapplicationsyouneverdisplayaformcontainingaTQuickRepcomponent.Insteadyouusethemfromotherforms.
Sowhatweshouldreallydotofinishoff,ifthislittleexampleweregoingtobearealapplication,is:
11Createanotherform–itwillbecalledForm2
12MakethenewformintothemainformoftheprojectbysettingProject|Options|MainformtoForm2
13DropabuttononForm2
14Writecodelikethisinthebutton’seventhandler
procedureTForm2.Button1Click(Sender:
TObject);
begin
Form1.QuickRep1.Preview;
end;
15Compiletheproject.ThecompilerwillcomplainthatUnit1isnotinUnit2’sUseslist,andoffertofixthecode.Accepttheoffer.
Theapplicationshouldnowcompileandrun,andlooksprettierandmore‘realistic’.Theenduserdoesn’tgettoseeanybewilderingTQuickRepcomponents.
Butdoingthisaestheticpolishingdoesn’tgetusanyfurtherwithQuickReport.SoIamgoingtoleaveouttheneedtohaveasecondformfromalltheexamplesfromthispointonwards,andtrustyouwillrememberwhenmakingrealapplications.
Thecomponents
TheQuickReportcomponentsareallcontainedintheQReporttaboftheDelphicomponentpalette.Hereisawhistlestoptourofwhattheyareandwhattheydotohelpyougetyourbearings.
Figure3-TQuickRepandbandcomponents
TQuickRep.Thisisthemostimportantcomponentofthemall,acontainerforalltheotherprintingcomponents.Itrepresentsthepaperonwhichyourreportwillbeprinted.ItsPagepropertyletsyousetupthedimensionsofthepaperyouaregoingtoprinton,whiletheDatasetpropertyspecifiesasourceofdatathatthereportwilliteratethrough.
Notethat,insteadofdroppingaTQuickRepcomponentontoanordinaryform,youcaninsteadaddaTQuickReportmoduletoyourproject:
16ChooseFile|New…todisplaytheNewItemsdialogbox.
17ChoosetheNewtab
18SelecttheReportitem(middleofthebottomrow)
ATQuickReportisabitlikeaTDataModule–itisaspecialisttypeofform,whichisneverdisplayedtotheuser.IfyouwishyoucanuseTQuickReportpseudo-formsinsteadofTQuickRepcomponentsonordinaryforms–thereisnodifferenceintheirmethods,propertiesandevents.Butwerecommend,fromexperience,thatyouputaTQuickRepcomponentonaform:
it’sthemoreversatileapproach.Forexample,havingtheTQuickRepcomponentonaformletsyouusetheform’sOnCreateeventifyouwanttocreateadditionalobjectstobeusedbythereportprogrammatically.
Bandcomponents
Thesearealsocontainercomponents,representinghorizontalstripsacrossreport.Bandscanbeassociatedwithaphysicalpositiononapage–forexamplethetop–andalsoreflectthemaster/detailrelationshipsinthedatabasethatisbeingdisplayed.Forexample,inthesamewaythattheremightbemanysalesrecordsforagivencustomerrecord,soabandcontainingdataaboutanindividualsalemightappearmanytimesforeach
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- QUICKREPORT