Зертханалық жұмыс №12.
Тақырыбы: Жазбаларды іздеу.
Мақсаты: SetKey және GotoKey әдістерінің қызметтерін меңгеру.
Индекстелген жазбалар бойынша іздеуді жүзеге асыру үшін SetKey және GotoKey әдістерін қолданамыз. Біздің жағдайымызда индекстелген жол Сынақ кітапшасының №.
Қадам1. Форма бетіне Label, Button және Edit компоненттерін орнатып, Button компонентінің Caption қасиетіне келесі сәйкес мәнді беріңіз: Жазбаны іздеу. Label компонентінің Caption қасиетіне келесі сәйкес мәнді беріңіз: Сынақ кітапшасының №. Button компоненті үшін OnClick оқиғасының өңдеуішін құрып, оған төмендегі кодты жазамыз:
procedure TForm1.Button8Click(Sender: TObject); begin
Table1.SetKey;
Table1.FieldByName('Nzachet').AsString:=Edit7.Text;
Table1.GotoKey;
end;
Қадам2. Белгілі бір аралықтағы Сынақ кітапшасының №-мен жұмыс жасау үшін ApplyRange, SetRangeStart, SetRangeEnd, CancelRange әдістерін қолданамыз.
SetRangeStart - аралықтың басын анықтайды;
SetRangeEnd - аралықтың соңын анықтайды;
ApplyRange - фильтрді қолдану;
CancelRange - фильтр әрекетін тоқтату.
Магистранттер формасының бетіне Label9, Button12 және Edit8, Edit9 компоненттерін орнатып, Button компонентінің Caption қасиетіне келесі сәйкес мәнді беріңіз: Фильтрді қолдану. Label компонентінің Caption қасиетіне келесі сәйкес мәнді беріңіз: Диапазон. Button компоненті үшін OnClick оқиғасының өңдеуішін құрып, оған төмендегі кодты жазамыз:
procedure TForm1.Button12Click(Sender: TObject);
begin
Table1.CancelRange;
Table1. SetRangeStart;
if Edit1.Text<>' ' then
Table1.Fields[0].AsString:=Edit8.Text;
Table1.SetRangeEnd;
if Edit2.Text<>' ' then Table1.Fields[0].AsString:=Edit9.Text;
Table1.ApplyRange; end;
ҚадамЗ. Үлгерім формасына өтеміз. Үлгерім формасының бетіне ComboBox, Label, Button және Edit компоненттерін төмендегі суреттегідей орнатамыз. Үлгерім кестесін толтыруды жеңілдету үшін Сынақ кітапшасының № жолының мәнін, Магистранттер кестесіндегі бар мәліметтердің негізінде, автоматты түрде толтыруға болады. Ол үшін форманың OnActivate оқиғасының өңдеуішіне келесі кодтты жазамыз:
procedure TForm2.FormActivate(Sender: TObject);
var i:integer;
begin
Form1.Table1.First; ComboBox1.Clear;
for i:=1 to Form1.Table1.RecordCount do begin
ComboBox1.Items.Add(Form1.Table1.FieldByName('NZachet').AsString);
Form1.Table1.Next;
end;
end;
Қадам4. Таңдалған сынақ кітапшасының №-не байланысты Фамилия, Аты, Әкесінің аты жолдары автоматты түрде толтырылуы үшін ComboBox1 компонентінің OnClick оқиғасының өңдеуішіне келесі кодты жазыңыз: procedure TForm2.ComboBox1Change(Sender: TObject); begin
Form1.Table1. SetKey;
Form1.Table1.FieldByName('NZachet').AsString:=ComboBox1.Text; Form 1.Table1. GotoKey;
Edit2.Text:=Form1.Table1.FieldByName('FamS').AsString; Edit3.Text:=Form1.Table1.FieldByName('NameS').AsString; Edit4.Text:=Form1.Table1.FieldByName('PatS').AsString; end;
Қадам5. Жазбаларды енгізу батырмасының OnClick оқиғасының өңдеуішіне келесі кодты жазыңыз:
procedure TForm2.Button1Click(Sender: TObject); begin
Table1.Insert;
Table1.FieldByName('NZachet').AsString:=ComboBox1.Text;
Table1.FieldByName('FamU').AsString:=Edit2.Text;
Table1.FieldByName('NameU').AsString:=Edit3.Text;
Table1.FieldByName('PatU').AsString:=Edit4.Text;
Table1.FieldByName('PredU').AsString:=Edit5.Text;
Table1.FieldByName('OcenkaU').AsString:=ComboBox2.Text;
Table1.FieldByName('DataStU').AsString:=MaskEdit1.Text;
Table1.Post;
end; end.
Тапсырма:
Жатақхана формасына жазбалар бойынша іздеуді ұйымдастырыңыз.
Тақырыпқа байланысты бақылау сұрақтары:
1. SetKey және GotoKey әдістері қандай қызмет атқарады?
2. SetRangeStart нені анқытайды?
3. ApplyRange нені анқытайды?
4. CancelRange нені анқытайды?