Есептелетін және таңдау өрістерін құру

Автор работы: Пользователь скрыл имя, 17 Декабря 2013 в 17:39, реферат

Краткое описание

Мәліметтер қорының әр кестесі өрістердің жиынтығынан тұратын жеке құрылымға ие болады. Әр өрстің мәліметтерінің жиынтығы мәліметтің типін сипаттайтын мазмұнынан тұрады, оған анықталған орында мән сәйкес келуі тиіс.
Delphi тіліндегі мәліметтер қорынының қосымшасындағы әр жинаққа өзіне сәйкес объект тура келеді. Өрістің негізгі объектісі болып Tfield классы табылады, ол абстрактілі өріспен жұмыс жасауға да негізделген. Ол мәліметтердің типіне сәйкес келеді. Осы базалық классқа басқа класстар сәйкес келеді.

Прикрепленные файлы: 1 файл

ВТ-31 лекция.docx

— 1.19 Мб (Скачать документ)

property FieldValues[const FieldName: string]: Variant; default;

мұндағы FieldName параметрге өріс аты беріледі.

Бағдарламалау үрдісі кезінде өңдеуші  мәліметтер жиынтығының өрісіне  жиі талап жасайды. Егер мәліметтер жиынтығының өрісінің құрылымы қатаң  талаппен берілген болып және ол өзгермесе  оны былай жазуға болады:

for i := 0 to MyTable.FieldCount - 1 do

MyTable.Fields[i].DiplayFormat := '#.###';

Әйтпесе мына тәсілмен жазуға болады

function FieldByName(const FieldName: string): TField;

procedure GetFieldNames(List: TStrings); тәсілі List параметрін  қайтарады, осының көмегімен мәліметтер  жиынтығындағы өірстердің толық  атауын алуға болады.

TdataSet классы мәліметтердің жиынытығын  редакторлауды қамтамасыз ететін  қасиеттер мен тәсілдердің жиынтығынан  тұрады.

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

property CanModify: Boolean;

ол редакторланып жатқан объектінің True мәнін қайтарады. Мәліметтердің  жиынтығын редакторламас бұрын  оған

procedure Edit; тәсілін қолдана отырып, редакторлау режиімне алып келу  керек.

Жасалған өзгерісті сақтау үшін келесі тәсілді қолдануға болады

procedure Post; virtual;

Қажет деп ьабылған жағдайда барлық жасалған соңғы өзгерісті Post тәсілін  шақыра отырып жасауға болады

procedure Cancel; virtual;

Жаға бос жазба мәліметтер жиынытығының соңына келесі тәсілмен қосылады

procedure Append;

TDataSet класының тәлінің-өңдеушілер  оқиғаларды бақылап оытратын  кеңінен таралған мүмкіндікті  ұсынады. 

Тәсіл-өңдеушілерінің жұбында мәліметтер жиынтығы келесі оқиғаларды қарасытурдан тұрады:  

  • Мәліметтер жиынтығын ашудан және жабудан;  
  • Редакторлау режиміне өту;  
  • Жаңа жазбаны қою режиімне өту;  
  • Жасалған өзгерісті сақтау үшін;  
  • Жасалған өзгерісті қайтару үшін;  
  • мәліменттер жиынтығында жазбаны жылжыту үшін;  
  • мәліметтер жиынтығын жаңарту үшін.

Тәсіл-өңдеушіден режимді орнату ұщін қосымша тәсіл қолданылады

property OnNewRecord: TDataSetNotifyEvent;

 

Стандартты компоненттер

 

Кестелік функцияны инкапсуляциялайтын компонент барлық SQL компоненті мен  сақталатын компоненттен тұрады. Былай  алып қарасақ, барлық жақын аталар әртүрлі  қызметтік компоненттерден тұрады.

Ескерту

Кейбір төменде келтірілетін қасиеттер  мен тәсілдер әр компонентті тарату кезінде қолданыла бермейді.

 

Кесте компоненті

 

Кесте компоненті мәліметтер қорының  кестесін толығымен қамтамасыз етеді, осының көмегімен мәліметтер жиынтығын, өрістің құрылымын құруға болады. Соған байланысты компонент қарапайым  болып табылады, әрі қосымша қызметті мүмкіндіктермен ерекшеленеді.

Компонентпен жұмыс жасау кезінде  өңдеуші индексту басқаратын мүмкіндікті  іске асыра алады.

Бар индексті Объектілер инспекторында  қасиеттерден таңдауға болады

property IndexName: String;

немесе 

property IndexFieldNames: String;

қасиетін қолдануға болады.

Өрістердің атаулары нүтктелі үтір арқылы бөлінеді. Сондықтан IndexFieldNames қасиетінің көмегімен құрамды индекстерді  құруға болады.

IndexName және IndexFieldNames қасиеттерін бір  уақытта қолдануға болмайды.

Өріс сандары келесі қасиетті қолданады 

property IndexFieldCcunt: Integer;

Кесте және индекстерді орындау  үшін бірнеше тәсілдер қолданылады.

procedure CreateTable;

тәсілі мәліметтер қорында жаңа кестені құру үшін қолданылады. Осының көмегімен өрісті және TFieldDefs және TindexDefs қасиеттері арқылы индексті сипаттауға болады. Егер сондай атпен мәліметтер қорында кесте бар болса, онда мәліметтер құрылымынан сол кесте  алынып тасталып, жаңа кесте құрылады.

procedure EmptyTable;

тәсілі мәліметтер жинытығынан  және мәліметтер кестесінен барлық жазбаны  алып тастайды.

procedure DeleteTable;

тәсілі компонентпен байланысы  бар мәліметтер қорының кестесін алып тасайды. Мәліметтер жинынтығы  жабық тұруы керек.

Тәсіл

type

TIndexOption = (ixPrimary, ixUnique, ixDescending, ixCaselnsensitive,

ixExpression, ixNonMaintained);

TIndexOptions = set of TIndexOption;

procedure Addlndex(const Name, Fields: String; Options: TIndexOptions, const DescFields: String='');

мәліметтер қорынынң кестесіне  жаңа индексті қосу үшін қолданыды. Name параметрі индекстің атын береді. Fields параметрін нүктелі үтір арқылы жазу керек.

procedure Deletelndex(const Name: string);

тәсілі индексті алып тасайды.  

 

Талап компоненті

 

Талап компоненті SQL талаптарды құру үшін қолданылады.

Талаптың кез-келген компоненті мәліметтер жинытығының әр жолы мәліметтер қорының  кестесінің бір жолымен белгіленген  болады. Және редакторлауға болады. Мысалы, талап 

SELECT * FROM Country редакторланады.

Егер келтірілген ереже дұрыс  болмаса, онда мәліметтер жиынтығын  тек қана көру үшін қолдануға болады.

Талаптың жалпы қасиеті мен  тәсілдерін қарастырайық. Талап мәтіні келесі қасиеттен тұрады:

property SQL: TStrings; 

Келесі қасиетте

property Text: PChar;

серсерге талап жасалатын дайындалған  мәтін мазмұыны ұсынылады. Талапты  орындау үш тәсіл қолданылады:

Егер талап мәліметтер қорының  нәтижесін қайтаратын болса, онда

procedure Open;  қолданылады.

Немесе 

property Active: Boolean;  қасиетіне True мәні  меншіктеледі. Талапты орындағаннан  кейін компоненттердің мәліметтерінің  жиынтығы ашылады. Талап келесі  тәсілмен орындалады:

procedure Close;

 

Процедура сақталатын компонент

 

Процедура сақталатын компонент процедураны  анықтау, оның параметрін баптау, нәтижені қайтару үшін қолданылады.

Таңдалған технологияға байланысты мәліметтерге мүмкіндікті әр компонент өзінің серверіне қосылу тәсілі арқылы атқарады. Мәліметті қосқаннан кейін процедураның сақталатын мәнін келесі қасиетке меншіктеуге  болады

property StoredProcName: String;

Осы қасиеттен кейін 

property Params: TParams; жазуға болады. Осының  көмегімен процедураны сақтау  параметрі автоматты түрду орындалады.

Процедураны сақтау үшін параметрлерді  кіретін және шығатын деп бөлуге болады. Біріншісі бастапқы мәліметті  сақтайды, ал екіншісі процедарының орындалуын атқарады.

 

 

 

Бақылау сұрақтары:

1. Объектілі бағдарланған  модел дің құрылым қалай анықталады?

2. Кестені байланыстырудың  қажеттілігі?

3. Негізгі кесте  деп қандай кестені айтамыз?

4. Бағынышты кесте  деп қандай кестені айтамыз?

5. Алғашқы кілт, сыртқы кілттер не үшін анықталады?

 

Тақырыбы 11.7 Есеп беруді  құру

 

Дәріс мақсаты: Delphi-де есеп беруде қолданылатын компоненттермен танысу.

Кілттік сөздер: есеп беру, есеп беру генераторы, QReport, QuickRep, есеп беру жолағы, есеп беру парағы.

 

Есеп берулермен жұмыс. Есеп берудің негізгі компоненті

 

Есеп  беру  – мәліметтер  қорына  сұраныс нәтижесінде алынатын мәліметтерді  баспадан шығаратын құжат.

Есеп берулердің төмендегідей түрлерін атап өтуге болады:

- Қарапайым есеп беру;

- Мәліметтерді топтастыру  арқылы құрылатын есеп беру.

- «Негізгі  –  бағынышты»  байланысындағы  кестелердегі  мәліметтерден  құралған есеп беру;

- әртүрлі есеп берулерді  біріктіретін құрама есеп беру. 

Delphi-де  есеп  берулерді   құруға  мүмкіндік  беретін   компоненттер жиынынан тұратын  QuickReport есеп берулер генераторы  қолданылады. 

QReport  компоненттер  палитрасында  есеп  беруде  қолданылатын жиырмадан   астам  компонент  орналасқан.  Олардың  .шіндегі  «негізгі»  компонент толығымен есеп беру  құрылымына жауап беретін TquickRep болып табылады.

TQuickRep  компонентінің   негізгі  қасиеттері,  әдістері  мен  оқиғалары қарастырайық.

Қасиеттері:

property Bands: TQuickRepBands; - төмендегідей  мәндерді қабылдайды:

• HasColumnHeader – есеп беру бағандарының тақырыптары;

• HasDetail – нақты ақпарат;

• HasPageFooter – парақтың төменгі  бөлігі;

• HasPageHeader – парақ тақырыбы;

• HasSummary – есеп берудің  төменгі бөлігі;

• Has Title – есеп беру тақырыбы.

property  DataSet:  TDataSet; есеп  беру құрылатын  мәліметтер  жиынын көрсетеді.

property Frame: TQRFrame; есеп беру  шектерінің параметрлерін анықтайды:

• Color – шектеріндегі сызықтардың  түсі;

DrawBottom – төменгі сызықты  шығару;

DrawLeft- сол жақ сызықты  шығару;

DrawRight- оң жақ сызықты  шығару;

Draw Top- жоғарғы сызықты  шығару;

Style – сызық стилін  анықтау;

Width – пиксель түрінде  сызықтың ұзындығы.

property Page: TQRPage; парақ параметрлерін  анықтайды.

property  PrinterSettings:  TQuickRepPrinterSettings; принтер  параметрлерін анықтайды.

property PrintIfEmpty: Boolean; егер True мәні  көрсетілсе, мәліметтер болмаса  да парақты баспадан шығаруды  орындайды.

 

Әдістері

procedure  NewPage; Жаңа  параққа   көшуді  орындайды; BeforePrini  немесе  AfterPrint оқиғалар өңдегішінде қолданылады  және OnPrint, OnStartPage және OnEndPage оқиғаларында  қолданылмайды. 

procedure 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, компоненттерінен тұрады:

• есеп беру тақырыбының  облысы; • парақ тақырыбының облысы; • топ тақырыбының облысы; •  есеп беру бағандары тақырыптарының облысы;

• мәліметтер облысы; • топталған  мәліметтердің қорытынды облысы; • парақтың төменгі облысы; •  есеп берудің төменгі.

• TQRSubDetail – МҚТ байланыстар  негізінде анықталған Master-Detail байланысын жүзеге асыруда бағынышты кестенің мәліметтерін орналастыру облысы;

• TQRGroup – есеп беруде топтауды жүзеге асыру қолданылады;

• TQRLabel – Статикалық мәтінді  есеп беру парағына орналастырады;

•TQRDBText – есеп беруде мәліметтер жиыны өрістерін орналастыруға  мұмкіндік береді;

•TQRExpr - өрнекті есептеу  нәтижесінде алынған мәнді шығару үшін қолданылады; өрнекті есептеу  алгоритмі осы компоненттің өзінің формулалар редакторының көмегімен  құрылады;

• TQRSysDate – есеп беруде дата, уақыт, парақ номері, қандай да бір  мәннің қайталанып шығарылу санын және т.б. шығару үшін қолданылады;

• TQRMemo – есеп беруде комментарий  өрістердің мазмұнын шығару үшін қолданылады;

• TQRRich Text – есеп беруде форматталған комментарий өрістерінің мазмұнын шығару үшін қолданылады;

• TQRDBRich Text – есеп беруде мәліметтер жиынынан алынған комментарий  өрістердің мазмұнын шығару үшін қолданылады;

TQRShape – есеп беруде  грфаиктік фигураларды шығару  үшін қолданылады; 

• TQRImage – есеп беруде мәліметтер жиынынан алынған графиктік ақпаратты  шығару үшін қолданылады;

• TQRChwt – есеп беруге графикті кірістіру үшін қолданылады.

Информация о работе Есептелетін және таңдау өрістерін құру