Зертханалық жұмыс №13

Тақырыбы: Есептеу нәтижелерін құру.

Мақсаты: Filter, FilterOptions, IndexName, IndexFieldName қасиеттерінің және ixDescending параметрінің қызметін меңгеру

 

Сүзу (фильтрация) - бұл мәліметтер жиынына алынатын жазбаларға шек қою. Сүзу (фильтрация) уақыты кезінде мәліметтер жиынындағы жазбалар құрамы анықталған шек қоюларға және сонымен бірге сүзгілерге де байланысты. Басында жазбаларға сүзу (фильтрация) жүргізілмейді, сондықтан Table мәліметтер жиыны мәліметтер қорының кестесімен байланысты барлық жазбалардан тұрады. Delphi жүйесі жазбаларды сүзуді (фильтрация) өріс атаулары бойынша және диапазоны бойынша жүргізуге мүмкіндік береді. Сүзгіні беру үшін Filter қасиеті қолданылады. Сүзу (фильтрация) параметрлері FilterOptions қасиетінің көмегімен беріледі. Мысал ретінде үлгерім кестесіне фамилия жэне емтихан тапсыру күні бойынша сүзуді (фильтрация) жүргіземіз.

Қадам 1. Форма бетіне келесі компаненттерді орнатыңыз: 3 RadioButton айырып қосқышын, бір Edit пен бір RadioGroup, 2 Data TimePicker компонентін (Win32 бетінде) және Button.

Сүзу (фильтрация) батырмасы үшін келесі кодты жазыңыз:

procedure TForm2.Button4Click(Sender: TObject); begin

Table1.FilterOptions:=[foCaseInsensitive]; Table1.Filtered:=true;

//

if RadioButton1.Checked then Table1.Filter:=TamU- ' '+Edit1.Text+' ' '

//

if RadioButton2.Checked then Table1.Filter:='DataStU >=' ' ' +DateToStr(DateTimePicker1.Date)+' ' ' and DataStU <=' ' '

+DateToStr(DateTimePicker2.Date)+' ' ' ';

if RadioButton3.Checked then Table1.Filter:=' end;

 

Қадам 2. Сорттауды (сортировка) индекс қойылған өрістерге жүргізуге болады, бірнеше өрістер бойынша сорттау (сортировка) жүргізу үшін сол өрістерге индекс қою қажет.

Сорттау (сортировка) бағытын ағымдағы индикстің ixDescending параметрі анықтайды, басында ол сөндірулі болады және реттеу мәндердің өсу реті бойынша орындалады. Ағымдағы индексті IndexName және IndexFieldName қасиеттерінің көмегімен беруге болады. Бұл қасиеттер бірін-бірі жоққа шығаратын болып табылады. IndexName қасиетінің мәні ретінде индекс аты көрсетіледі, ал IndexFieldName қасиетінің мәні ретінде, сәйкес индексті құрушы, өріс атаулары көрсетіледі.

Delphi-ді жауып, Database Desktop бағдарламасын жүктеп, Үлгерім кестесінің сынақ кітапшасының нөмірі, фамилия, пән, баға, дата өрістеріне сәйкес индекстерді indNZachet, indFamU, indPredU, indOcenkaU, indDataStU құрыңыз.

 

Қадам 3. Қайтадан Delphi жүйесін жүктеп, RadioGroup компонентіне String List Editor редакторының көмегімен суретке сәйкес мәндерді енгізіңіз және OnClick оқиғасының өңдеуішіне келесі кодты теріңіз:

procedure TForm2.RadioGroup1Click(Sender: TObject);

begin

case RadioGroup1.ItemIndex of 0: Table1.IndexName:='indNZachet'; 1: Table1.IndexName:='indFamU'; 2: TableUndexName:-indPredU'; 3: Table1.IndexName:='indOcenka'; 4: Table1.IndexName:='indDataStU'; end; end;

 

Тапсырма:

1. Жатақхана формасына жазбалар бойынша сүзуді ұйымдастырыңыз.

2. Жатақхана формасына жазбалар бойынша сорттауды ұйымдастырыңыз.

 

Тақырыпқа байланысты бақылау сұрақтары:

1. Сүзу дегеніміз не?

2. Сорттау дегеніміз не?

3. Сүзуді қалай ұйымдастырамыз?

4. Сорттауды қалай ұйымдастырамыз?