Зертханалы жмыс №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. Сорттауды алай йымдастырамыз?