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. Есеп беруді алдын-ала көру

Наши рекомендации