QReport параын пайдаланып есеп беруді йымдастыру


дістемелік нсаулар


C++ Builder ортасында есеп беруді ру шін компоненттер палитрасындаы QReport беті олданылады. Бл компоненттер жиыны кестелерді, сраныстарды, тізімдерді, мтіндік файлдарды, массивтерді C++ Builder дизайнер формасын олдана отырып есеп беруді жобалайды жне баспаа шыарады.

C++ Builder ортасыны Forms объектілер репозитариясы бетінде есеп беруді 3 шаблоны бар:

Шаблон Сипаттамасы
QuickReport Mailing Labels Пошталы этикеттер ру шаблоны
QuickReport List арапайым кестелік есеп беруді ру шаблоны
QuickReport Master/detail Master/Detail есеп беруін ру шаблоны.

Жаттыу жмыстары


арапайым есеп беруді ру

QuickReport есеп беру негізі клденен сызы (bands) жиынында. Есеп беруді ру кезінде формаа бірнеше ртрлі типтегі QRBand (Tpanel мрагері) компоненттері орналасады.

арапайым есеп беруді ру шін формаа келесі компоненттерді орналастырамыз /4.35-сурет/:

TQRBand – бл компонент есеп беруді бір блігі - мліметтерді орналастыратын контейнер болады (мысала, есеп беру таырыбы, бетті жоара немесе тменгі колонтитулы, топты жоара немесе тменгі колонтитулы жне т.б. ). TQRBand компоненттері оларды формада орналасуына байланысты емес, оларды ажетті жерде есеп беру типтеріне туелді баспаа шыарылады. Бл компонентті жиі олданылатын асиеті &ndash BandType, «сызы» типі (топты немесе бетті колонтитулы, мліметтер «сызыы» жне т.б.). Ммкін мндері: : rbTitle &ndash есеп беру таырыбы, rbPageHeader &ndash бетті жоары колонтитулы, rbColumnHeader &ndash баанны жоары колонтитулы, кп баанды есеп беруде, rbDetail &ndash кестелі мліметтер сызыы (жолда есеп беру негізі болатын мліметтер жинаында неше жол болса, сонша рет айталанады), rbPageFooter &ndash бетті тменгі колонтитулы, rbOverlay &ndash бетті фоны, р бетті сол жа жоары брышында баспаа басылады, rbGroupHeader &ndash топты таырыбы, rbSubDetail &ndash Detail-кестесі шін кестелі мліметтер «сызыы», rbGroupFooter &ndash топты тменгі колонтитулы, rbSummary &ndash есеп беруді соында баспаа басылады. Біз ран компонентті BandType асиетіне rbTitle мнін меншіктейміз.

TQuickReport (бл компонент форманы есеп беруге айналуына жауапты).

QRBand1 орналасан TQRLabel (бл компонент статистикалы мтінді шыаруа арналан, жне оны Caption асиетіне болашатаы есеп беруді таырыбы мтінін беруге болады).


4.35-сурет. Есеп беру таырыбын ру


Егер QuickReport1 компоненті тышанны о жа батырмасымен басып, контекстті мзірден Preview Report опциясын тадаса, таырыбы бар есеп беру беті крінетін кру терезесі пайда болады.

Есеп беруді модификациялау шін QRBand1 компонентіні BandType асиетін rbDetail-ге згерту керек жне формаа Ttable компоненті осу ажет. рі арай оны DataBase асиетіне псевдоним атын орнату ажет, мысала, BCDEMOS, TableName асиетіне кесте атын, мысала, CUSTOMER.DB, сосын Active асиетін true згерту керек. Осыдан кейін формаа TDataSource компонентін осу ажет жне DataSet асиетіне алдында осылан Table1 компоненті атын береміз, рі арай QuickReport компонентіні DataSource асиетіне рылан DataSource1 компоненті атын береміз. Осыдан кейін QRBand1-ге TQRDBText компонентін осуа болады, оны DataSource асиетіне алдында рылан DataSource1 компоненті атын береміз жне DataField асиетіні мніне керекті жолды тадаймыз. Егер ажет болса баса TQRDBText компоненттерін осуа болады жне есеп беруде крінетін кесте жолдарын басаша етіп тадауа болады /4.36-сурет/.


4.36-сурет. Кестелік есеп беруді модификациясы


Егер QuickReport компонентіні контекстті мзірінен Preview Report опциясын тадаса, модифицирленген кестелік есеп беруді круге болады.

Енді таырыпты есеп беру жне колонтитулды есеп беруді рып крейік. Ол шін есеп беруді ру кезінде TQRBand-ті бірнеше ртрлі компоненттерін олданамыз.

Таырыпты жне колонтитулдік есеп беруді ру кезінде жаа форма ру ажет, формаа трт TQRBand компонентін орналастырамыз (олар нсіздік бойынша QRBand2,...., QRBand5 атын алады) жне BandType асиетіне сйкесінше rbTitle, rbColumnHeading, rbDetail жне rbPageFooter орнатамыз. Ары арай формаа TTable компонентін осу ажет жне DatabaseName асиетіне BCDEMOS береміз, TableName асиетіне Customer береміз, сосын Active асиетіне true оямыз. Формаа TDataSource компонентін осу ажет жне DataSet асиетіне алдында осылан Table1 атын береміз жне QuickReport компонентіні DataSource асиетіне рылан DataSource1 атын береміз. Сосын есеп беру таырыбы жне сйкесінше TQRBand компоненттері баандары шін бірнеше TQRLabel компонентін осу керек, райсыны Caption асиетіне ажетті мндерін беру керек.

Сосын QRBand компонентіне ш QRDBText компонентін орналастыру керек, BandType асиетіне DetailBand меншіктеп жне оларды DataSource асиетіне DataSource1 меншіктейміз, ал DataField асиетіне Company, Phone жне Fax меншіктейміз. Бетті нмірі кріну шін TQRSysData компонентін (бл компонент мліметтер рамына туелсіз, бет нмірі, жыл, уаыт жне т.б. арналан) BandType асиеті rbPageFooter те TQRBand компонентіне орналастыру ажет жне оны Data асиетіне qrcPageNumber, ал Text асиетіне &ldquoСтр. &ldquo береміз.

Осыдан кейін форма 3-суреттегідей болады.

айтадан Preview Report опциясын тадап, жаа есеп беру мазмнын круге болады.


4.37-сурет. Таырыпты жне колонтитулды есеп беру


зіндік жмыса тапсырма


  1. "master-detail" есеп беруін ру

  2. Есеп беруде графикалы жне мемо-жолдарды крінуін амтамасыз ету

  3. Есеп беруді алдын-ала кру