Автор работы: Пользователь скрыл имя, 17 Декабря 2013 в 17:39, реферат
Мәліметтер қорының әр кестесі өрістердің жиынтығынан тұратын жеке құрылымға ие болады. Әр өрстің мәліметтерінің жиынтығы мәліметтің типін сипаттайтын мазмұнынан тұрады, оған анықталған орында мән сәйкес келуі тиіс.
Delphi тіліндегі мәліметтер қорынының қосымшасындағы әр жинаққа өзіне сәйкес объект тура келеді. Өрістің негізгі объектісі болып Tfield классы табылады, ол абстрактілі өріспен жұмыс жасауға да негізделген. Ол мәліметтердің типіне сәйкес келеді. Осы базалық классқа басқа класстар сәйкес келеді.
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;
Стандартты компоненттер
Кестелік функцияны
Ескерту
Кейбір төменде келтірілетін қасиеттер мен тәсілдер әр компонентті тарату кезінде қолданыла бермейді.
Кесте компоненті
Кесте компоненті мәліметтер қорының кестесін толығымен қамтамасыз етеді, осының көмегімен мәліметтер жиынтығын, өрістің құрылымын құруға болады. Соған байланысты компонент қарапайым болып табылады, әрі қосымша қызметті мүмкіндіктермен ерекшеленеді.
Компонентпен жұмыс жасау
Бар индексті Объектілер инспекторында қасиеттерден таңдауға болады
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. Объектілі бағдарланған
модел дің құрылым қалай
Тақырыбы 11.7 Есеп беруді құру
Дәріс мақсаты: Delphi-де есеп беруде қолданылатын компоненттермен танысу.
Кілттік сөздер: есеп беру, есеп беру генераторы, QReport, QuickRep, есеп беру жолағы, есеп беру парағы.
Есеп берулермен жұмыс. Есеп берудің негізгі компоненті
Есеп беру – мәліметтер қорына сұраныс нәтижесінде алынатын мәліметтерді баспадан шығаратын құжат.
Есеп берулердің төмендегідей түрлерін атап өтуге болады:
- Қарапайым есеп беру;
- Мәліметтерді топтастыру арқылы құрылатын есеп беру.
- «Негізгі – бағынышты» байланысындағы кестелердегі мәліметтерден құралған есеп беру;
- әртүрлі есеп берулерді
біріктіретін құрама есеп беру.
Delphi-де есеп берулерді құруға мүмкіндік беретін компоненттер жиынынан тұратын QuickReport есеп берулер генераторы қолданылады.
QReport компоненттер палитрасында
есеп беруде қолданылатын жиырмадан
астам компонент орналасқан.
Олардың .шіндегі «негізгі»
компонент толығымен есеп беру
құрылымына жауап беретін
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 оқиғалар өңдегішінде
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 – есеп беру тақырыбын,
мәліметтер облысын және
• есеп беру тақырыбының облысы; • парақ тақырыбының облысы; • топ тақырыбының облысы; • есеп беру бағандары тақырыптарының облысы;
• мәліметтер облысы; • топталған
мәліметтердің қорытынды
• TQRSubDetail – МҚТ байланыстар негізінде анықталған Master-Detail байланысын жүзеге асыруда бағынышты кестенің мәліметтерін орналастыру облысы;
• TQRGroup – есеп беруде топтауды жүзеге асыру қолданылады;
• TQRLabel – Статикалық мәтінді есеп беру парағына орналастырады;
•TQRDBText – есеп беруде мәліметтер жиыны өрістерін орналастыруға мұмкіндік береді;
•TQRExpr - өрнекті есептеу
нәтижесінде алынған мәнді
• TQRSysDate – есеп беруде дата, уақыт, парақ номері, қандай да бір мәннің қайталанып шығарылу санын және т.б. шығару үшін қолданылады;
• TQRMemo – есеп беруде комментарий өрістердің мазмұнын шығару үшін қолданылады;
• TQRRich Text – есеп беруде форматталған
комментарий өрістерінің
• TQRDBRich Text – есеп беруде мәліметтер жиынынан алынған комментарий өрістердің мазмұнын шығару үшін қолданылады;
TQRShape – есеп беруде грфаиктік фигураларды шығару үшін қолданылады;
• TQRImage – есеп беруде мәліметтер жиынынан алынған графиктік ақпаратты шығару үшін қолданылады;
• TQRChwt – есеп беруге графикті кірістіру үшін қолданылады.