
- •Зертханалық жұмыс №7
- •5.1.Есеп беруді құрудың компоненттері
- •5.2. Қарапайым есеп беруді құру
- •Сурет 42. Жуықтап қарау терезесіндегі есепберудің мазмұны
- •Беттердің подвалының және тақырыпты көруде tqrBand қолдану
- •5.3. Есепберуде топтық мәліметтер
- •Сурет 44. Формулалар орналастыру
- •5.4. Фильтрді қолдану арқылы есепберуді қалыптастыру
- •Қортынды
Зертханалық жұмыс №7
DELPHI- де ЕСЕП БЕРУ ФОРМАСЫН ҚҰРУ
Сабақтың мақсаты: есептік форманы құрудың негізгі әдістері
1.НЕГІЗГІ БӨЛІМ
Жүйенің жұмыс нәтежесін принтерден шығару немесе файл түрінде сақтауқажет . Бұл мақсатта есеп беру формасы құрылады.
Есеп беру формадағы жіне процедураның есеп беруін ұйымдастыруын құру экрандық формадағы процедураны құрудан өзгеше сондықтан ол туралы материалдарды жеке қарастырамыз.
Экрандағы жуық бейнелеумен есеп беруді құрудың әртүрлі варианттары бар:
экранда кестені бейнелеу содан кейін есеп беру үшін жазбаны таңдау;
экранда таңдалған жолмен есеп беруді бейнелеу;
- есеп беруді бейнелеу .
5.1.Есеп беруді құрудың компоненттері
Delphi 3 есеп беруді құру үшін QReport компонентінің палитра беттерінде жиырмадан астам компанент орналасады. "Басты " компонент болып есеп берудің тәртәбән толығымен анықтайтын TQuickRep,, компаненті есептеліненді. Басқа компаненттер есеп берудің қосыша бөлңктерңн анықтайды:
TQRBand – мәліметтердің , тақырыптардың , титулдардың орналасуына дайындық, есеп беру негізінен TQRBand компанентінен құрылады :
есеп берудің таұырып ауданы;
есеп берудің беттер ауданы;
есеп берудің топтар ауданы;
есеп берудің бағандар атының ауданы;
дитализацияның ең соңғы деңгейінің бейнесңн құру үшін детальді құру ауданы;
подвалдың есептеу ауданы ;
подвалдың беттер ауданы ;
подвалдың топтар ауданы;
TQRSubDetail - ТБД арасындағы қатынастар арқылы Master-Detail есеп берудегі бағынышты кестелердің ауданын анықтайды; TQRGroup – есеп беруде топтастыруды құру үшін қолданылады;
TQRLabel – есеп беруде статикалық текстң орналастыруға мүмкіндік береді;
TQRDBText – есеп беруде мәліметтер жиыннының алаңын орналастыруға мүмкіндік береді;
TQRExpr - өрнектің мәндер қортындысын шығару үшін қолданылады, берілген компаненттің формалар редакторының көмегімен нәтежелер аргоритмі құрылады.
TQRSysDate – есептегіштің , нөмірлердің , беттердің, даталардың басқа да мәндерін шығару үшін қызмет етеді;
TQRMemo – комментари берілген алаңның есеп беруін шығару;
TQRRichText – форматталған комментари алаңының есеп беруін шығару ;
TQRDBRich Text – мәліметтердің құру алаңы болып табылатын форматталған коментари берілген алаңның есеп берун шығару;
TQRShape – есеп беруде графикалық фигураларды шығару үшін қызмет етеді, мысалы тіктөртбұрыш;
TQRImage – есеп беруде мәліметтер алаңының жиынын болып табылатын графикалық ақпараттарды шығару үшін қолданылады;
TQRChart – есеп беруде графиктерді құру үшін қолдану.
TQuickRep компонент
TQuickRep компоненті есеп берудің сипаттамасын толығымен анықтайды. Бұл компанентті формаға орналастырғанда есеп берудің торы пайда болады. (сур. 38). Содан кейін бұл торда қосымша бөліктер орналасады, мысалы, TQRBand тобы (сур. 39).
TquickRep компоненттерінің негізгі тәсілдерін және оқи,аларын қарастырайқ.
Қасиетті
property Bands: TQuickRepBands;
Көптеген логикалық мәндерден (False/True) тұрады ;
HasColumnHeader – есеп беру бағанының тақырыбы;
HasDetail – детальдік информация;
HasPageFooter –беттердің подвалы;
HasPageHeader –беттердің тақырыбы;
HasSummary – есеп берудің подвалы;
HasTille –есеп берудің тақырыбы.
Сурет.38. Есепберудің бос торы. Формеға TQuickRep компонентін орналастырғанан кейін құралады
Сурет 39. Есепберу компанентін орналастырғанан кейінгі есепберу торы
property DataSet: TDataSet;
мәліметтер жиынына сілтейді, осының арқасында есеп берулер құрылады. Есеп беруді үлестіру үшін жалғыз НД қолданылады.
Бірнеше БДкестелеріне байланысты ақпараттарды шығару қажет болса, SELECTоператорының көмегімен жалғыз НД да біріктіріледі.Бұл жағдайда есеп беру үшін НД орынына TQUERY компанентін қолдануға болады.
Бірнеше байланысқан НД ақпараттарын есеп беруге қосуға болады, егер бұл мәліметтер жиыны Master-Detail қатынасымен байланыста болса . Бұл жағдайда НД орынына Master-набор көрсетңледі, ал Detail-наборына сәйкес келетін сілтеме TQRSubDetail компанентінде жүзеге асады .Егер есеп беруді мәліметтер наборының байланыс баған ақпаратына қосу керек болса , онда компазитті есеп берудң қолданамыз , ол дегеніміз басқа топтардан құралған есеп беру.
property Frame: TQRFrame;
есеп беру параметрлерінің рамкаларын анықтайды;
Color – рамка сызығының түсі;
DrawBottom – астыңғы сызықты шығару керек пе жоқ па соны анықтайды;
DrawLeft- сол жақтағы сызықты шығару керекпе жоқ па соны анықтайды ;
DrawRight-оң жақтағы сызықты шығару керекпе жоқ па соны анықтайды ;
DrawTop-үстінгі жақтағы сызықты шығару керекпе жоқ па соны анықтайды ;
Style – сызық стилін анықтайды;
Width • пиксельді сызық енін анықтайды.
property Page: TQRPage;
Беттердің параметрлерін анықтайды
property PrinterSettings: TQuickRepPrinterSettings;
принтер параметрлерін анықтайды
property PrintIfEmpty: Boolean;
мәліметтер жоқ болса да есеп беруді басу керектігін көрсетеді (True), Әдістер
procedure NewPage;
Жаңа бетке көшуді орындайды BeforePrint немесе AfterPrint есеп беруде компаненттерді өңдеуде қолдануға болады, .ал OnPrint, OnStartPage және OnEndPage қолдануға болмайды.
procedure Preview;
есеп беруді терезеге жуықтап шығарады
Есеп беруді өңдеу уақытында жуықтап көру терезесңнде баспаға шығрғымыз келсе онда төмендегілер қажет;
Есеп беруді тышқан көмегімен таңдау;
Тышқаннығ оң шертпесін басу;
всплывающи меню інде Preview элементін таңдау.
Ескеретін жағай осы уақытта кейбір мәліметтер мысалға, мәліметтер алаңының жиынын шығару мәні көрінбейді . Олар тек орындалатын уақытты ғана шығарылады.
procedure Print;
есеп беруді принтерде шығару;
procedure PrinterSetup;
обеспечивает установки принтера параметрлерін орнатуды қамтамасыз етеді .
Оқиға
property AfterPreview : TQRAfterPreviewEvent;
есеп беруді жуықтап көретін терезе жабылған кезде орнайды.
property AfterPrint: TQRAfterPrintEvent;
есеп беруді баспадан шығарғаннан кейін кіріседі .
property BeforePrint: TQRBeforePrintEvent;
есеп берудің генерация моментінде кіріседі , есеп берудің жуықтап көру терезесіне берілмейді және есеп беруді шығармай тұрып.
property OnEndPage : procedure(Sender : TObject);
есеп берудің соңғы бетін генерация үшін дайындау моментінде кіріседі property OnStartPage : procedure(Sender : TObject);
есеп берудің бірінші прағын генерацияға дайындау моментінде кріседі.
Компонент TQRBand
TQRBand компоненты есеп берудің негізгі қосымша бөлігі болып табылады және оларға статикалық текстерді және мәліметтерді орналастыру үшін. Есеп беруде компаненттердің орналасуы және тәртіп қасиеттерімен анықталады.
property BandType : TQRBandType;
Төменде осы қасиеттердің жуық мәндері :
rbTitle – есеп берудің тақырып компанентін анықтайды. TQRBand, компанентінде орналасқан ақпарат есеп берудің барлық басқа бөліктерінде орналасады. Бұл TQRBand компанент түрі bi есеп берудің ақпарат тақырыбында қолданылады.
rbPageHeader – беттердің тақырып компанентін анықтайды. Осы қасиет және мәндер Band орналасқан компанентте ақпарат есептеудің әр жаңа парағы шығарылады.
rbDetail – детальді информация компаненті НД есеп беруіндегі жаңа жазбаға өту үшін әркез шығарылады. Есеп беру барлық НД жазбалары үшін басылады, DataSet, есеп беру қасиетімен анықталған біріншісінен бастап соңғысына дейін TQuickRep автоматты түрде.
rbPageFooter – беттер подвалының компоненті. Есеп берудің барлық беттері үшін шығарылады.
rbSummary – есеп берудің подвал компоненті. Выводится на пост странице отчета после всей иной информации, но перед под последней страницы отчета.
rbGroupHeader – топтың тақырып компоненті . Есеп беруде ақпаратты топтастыру пайдаланылады, әр жаңа топ енгізген кезде шығарылады.
rbGroupFooter – топ подвалының компоненті. Есеп беруде ақпаратты топтастыру үшін пайдаланады , топтың барлық мәліметтерінен кейін топ аяқталғанда шығарылады.
rbSubDetail – бағынышты мәліметтер жиынында детальді ақпарат алу үшін қолданылатын компанент, Master-Detail көмегі арқылы қосымшада есеп беруде екі немесе оданда көп ақпаратты шығару үшін қолданатын компонент. . Бұл мән компанентке TQRBand формаға TQRSubDetail компанентін орналастырған кезде автоматты түрде меншіктеледі. BandType қасиетінде бұл мәнді программа орналастырмау керек .
rbColumnHeader – бағанға тақырыпты орналастыру компаненті Есеп берудің беттердің тақырыбынан кейін әрбір бетте орналасады.
rbOverlay – есеп берудің алғашқы версияларын сәйкестіру үшін қолданылады.
Қасиеті
property Enabled: Boolean;
TQRBand компонентінде есеп беруде ақпарат басу керек пе (True)немесе жоқ па (False) көрсетеді .
Қасиет
property ForceNewPage: Boolean;
TQRBand құрамындағы ақпарат жаңа беттен басылуы керек пе (True) әлде жоқ па (False) екендігін көрсетеді .
Оқиға
property BeforePrint: TQRBeforePrintEvent;
TQRBand компонентінің ауданында орналасатын ақпаратты басу алдында туындайды.