Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Зертханалық жұмыс 15-16 и 17-18.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
329.91 Кб
Скачать

5.2. TQuickRep және tqrBand компоненттері көмегімен

қарапайым есепті құру әдісі.

TQuickRep және TQRBand компоненттері ешқандай топтық ақпараты сақталмаған қарапайым есепті құру үшін минималды қажеттенген болып табылады.

Prihod.DB кестесінде қоймаға әкелінген материалдар туралы мәліметтер сақталады. МҚК құрамына кіретін МҚ келесі өрістер кіреді:

  • N_Prih - материалдың келу оқиғасының уникалды номері;

  • DataPrih – әкелінген күні;

  • MATERIAL – материалдың аты;

  • KOLVO – әкелінген материалдың жалпы саны.

№6 формаға TTable (аты Table1) компонентасын орналастырайық, Prihod.DB МҚ кестесімен байланыстырайық және оны ашайық (Active = True). Формаға компоненттер политрасының QReport бетінен TQuickRep (аты QuickRep1) компонентасын орналастрайық. Есептің DataSet қасиетіне Table1 мәнін қоямыз. Есепке TQRBand (аты QRBand1) компонентасын қосайық. QRBand1 компонентінің BandType қасиетіне rbTitle мәнін қоямыз. Есептің QRBand1 компонентасы орналасқан кеңістікте QRLabel1 атымен TQRLabel (статикалық мәтін) компонентасын орналастырайық.. Осы компоненттің Caption қасиетіне ' Қоймаға әкелінген материалдар ' мәнін қояйық, Font қасиетіне қалың қисайған биіктігі 16 пунктті қаріпті қояйық. (36-сурет).

36-сурет – Есеп беруде тек оның тақырыпшасы ғана анықталған

Енді Prihod кестесінің жазбасына сәйкес есепке мәліметтерді орналастырайық. Ол үшін есепке TQRBand (аты QRBand2) жаңа компонентін орналастырайық және оның BandType қасиетіне rbDetail мәнін қояйық. Одан кейін топта QRDBText1 ... QRDBText4 атымен TQRDBText төрт компонентасын орналастырайық. Берілген компоненттерді сәйкесінше МЖ өрісімен байланыстырайық - N_Prih, MATERIAL, DataPrih, KOLVO. Ол үшін әр бір QRDBText компонеттің DataSet қасиетіне Table1 мәнін қоямыз, ал DataField қасиетіне сәйкес өрістің атының мәнін қоямыз. (37-сурет).

37-сурет –. Есеп берудің бөлшектенген ақпараттың тақырыпшасы және тобы

Шыққан есепті көру үшін оның үстінен тышқанның оң жақ батырмасын басып және шыққан мәзірден Preview элементін таңдаймыз. Есепті алдын-ала қарау терезесі ашылады (38-сурет).

38-сурет – Алдын-ала қарау тереземіндегі есеп берудің құрамы.

Алдын-ала қарау терезесін ашу №4 формадан «Просмотр» батырмасын басу арқылы жүзеге асырылады.

Ол үшін №4 формаға TButton компонентін қосамыз. Бұл батырманың тақырыпшасын объектілер инспекторын қолданумен «Просмотр» деп өзгертеміз,. OnClick батырмасына оқиғаларды өңдеу анықтайық:

Form6. QuickRep1.Preview;

TqrBand компоненті көмегімен бағандардың тақырыпшаларын көрсету.

TQRBand компоненті BandType қасиетінде rbColumnHeader мәні қойылған бағандар тақырыпшаларын көрсету үшін қолданылады. Бағандардың тақырыпшалары TQRLabel компоненті көмегімен анықталады.

Есепке TQRBand (аты QRBand3) компонетасын қосайық және BandType қасиетіне rbColumnHeader мәнін қоямыз. QRBand3 деп анықталатын есеп беру кеңістігінде TQRLabel (аттары QRLabel2 ... QRLabel5) төрт компонентін орналастырайық және бұл компонентттердің Caption қасиетіне сәйкесінше «Әкелу №», «Материалдың аты», «Күні», «Саны» мәндерін қоямыз. Берілген компоненттердің Font қасиетіне асты сызылған шрифт режимін орнатамыз және шрифттің өзін көлденең деп анықтаймыз.

Есептің алдын-ала қарау терезесіне кірейік. Есептің әр бір бетіне беттің жоғарғы бөлігінде бағандардың аттары шығады(39-сурет).

39-сурет – Есеп беруде бағандардың тақырыпшалары шығады

TQRBand компоненті көмегімен есептің тақырыпшаларын және подвалдарын безендіру.

BandType қасиетінде rbPageHeader мәні қойылған TQRBand компоненті беттің тақырыпшасын көрсету үшін қолданылады. Ол әр бір жаңа бет үшін басқа ақпарат шығар алдында шығады. BandType қасиетінде rbPageFooter мәні қойылған TQRBand компоненті беттің подвалын көрсету үшін қолданылады. Ол әрбір жаңа бет үшін кез келген басқа ақпарат шыққаннан кейін шығады.

Есепке TQRBand (аты QRBand4) компонентін орналастырамыз және оның BandType қасиетіне rbPageHeader мәнін қоямыз. Беттің тақырыпшасына ешқандай мәтін орналастырмаймыз, тек беттің жоғарғы бөлігіне сызық сыза саламыз. Ол үшін Frame. DrawTop компонентінің беттің тақырыпшасы қасиетіне True мәнін қоямыз. Ол жоғары бойынша орналасқан сызықты сызады.

Дәл сондай тәсілмен есептегі парақ подвалын (аты QRBand5) анықтаймыз және BandType қасиетін rbPageFooter мәніне, ал Frame. DrawBottom қасиетін Тrue деп орналастырамыз. Ол сызықты төменгі жағында орналасуын қамтамасыз етеді.

Алдын-ала қарау режиміне кірген кезде біз әрбір беттің басында және аяғында сызық бар екенін көреміз.

TQRSysData компоненті көмегімен есепте

қосымша және жүйелі ақпараттың көрсетілуі.

TQRSysData компоненті қосымша және жүйелік ақпараттың көрсетілуі үшін қолданылады. Көрсетілген ақпараттың түрі келесі қасиеттермен анықталады:

property Data : TQRSysDataType;

Бұл қасиеттің мүмкін болатын мәндері келесідей:

  1. qrsColumnNo - есеп берудің ағымдағы бағанның номері (бірбағандық есеп беру үшін үнемі 1).

  2. qrsDate – ағымдағы мерзім.

  3. qrsDate Time – ағымдағы мерзім мен уақыт.

  4. qrsDetailCount - МЖ-да жазылатын жазулардың саны;

  5. qrsDetaUNo - МЖ-да ағымдағы жазылатын жазулардың номері

  6. qrsPageNumber - есептің ағымдағы беттің номері;

  7. qrsPageCount - есеп беттерінің жалпы саны;

  8. qrsReport Title – есептің тақырыпшасы.

  9. qrsTime – ағымдағы уақыт.

Есептің QRBand5 подвалының компонентасына екі TQRSysData (аттары QRSysDatal... QRSysData2) компонентін орналастырамыз. Оның Data қасиетінің біріншісіне qrsDate (ағымдағы күн) мәнін орналастырамыз, ал екіншісіне qrsPageNumber(есептің ағымдағы беттің номері) мәнін орналастырамыз. Есептің нәтижелерін алдын-ала қарау режиміне көрейік. Енді есептің әр беттің соңғы жағында беттің номері және ағымдағы мерзім шығады.