15 сурет – Жазуды редакторлау
Логикалық типті өрісті тасу жағдайында формада автоматты түрде
DBCheckBox компоненті орнатылады. Ол әр кезде қолайлы емес.
Формаға Data Control бетбелгісінен DBRadioGroup компонентін
орнатайық. DataSource қасиетінде Source1 көрсетеміз. DataField қасиетінде
SSpec көрсетеміз.
Студенттер формасында «Өзгерту» батырмасының OnClick оқиғасы
үшін процедура мәтіні:
begin
Form3.ShowModal //Form3-ті шақыру
end;
Редакциялау формасында «Сақтау» батырмасының OnClick оқиғасы
үшін процедура мәтіні:
begin
if form1.Table1.Modified
then form1.Table1.Post; //кестедегі барлық өзгерістер
сақталады
close;
end;
Қолданушыда тура кестедегі жазуды редакциялауға мүмкіндігі бар.
Мұны болдырмау үшін DBGrid dgEditing компонентінің қасиеті
қолданылады. DBGrid1 ерекшелеу қажет және объектілер инспекторының
Options► dgEditing қасиетінде false қою [6].
Бақылау сұрақтары.
1. ДҚ рұқсат беру компоненттерінің тағайындалуы.
2. ДҚ басқару компоненттерінің тағайындалуы.
3. «Өзгерту» батырмасын басқанда OnClick оқиғасы үшін процедура
мәтінін түсіндіру.
4. «Қосу» батырмасының OnClick оқиғасы үшін процедура мәтінін
түсіндіру.
5. «Сақтау» батырмасын басқанда OnClick оқиғасы үшін процедура
мәтінін түсіндіру.
6. «Өшіру» батырмасын басқанда OnClick оқиғасы үшін процедура
мәтінін түсіндіру
7. Table компонентінің рұқсатын ұйымдастыру үшін негізгі әдістер.
8. Өрістер редакторының қандай қасиеттері бар?
3 Зертханалық жұмыс №3. Деректер қорында жазбалар іріктемесі.
Деректер қорында жазбаларды іріктеу және іздеу
Жұмыс мақсаты:
1) Деректер қорында жазуларды іріктеумен танысу.
2) Locate және Lookup әдістері көмегімен өрістерді іздеу.
Жалпы мағлұмат
Іріктеу.
ДҚ кестесіндегі жазулардың орналасу тәртібі белгісіз болуы мүмкін.
Бірден қабылданған тәртіп бойынша жазбалар іріктелмеген болады немесе
іріктеледі, мысалы, Paradox кестесі үшін кілттік өрістер бойынша, ал dBase
кестесі үшін олардың кесте файлына түсу тәртібі бойынша.
Іріктелген жазулармен мәліметтер жиыны әлдеқайда ыңғайлырақ
жұмыс жасайды. Ірктеу – жазуларды белгілі өріс бойынша ондағы
жазулардың өсу немесе кему ретімен реттеу.
TTable мәліметтер жиынының іріктелуі автоматты түрде ағымдағы
индекс бойынша орындалады. Индексті ауыстарғаннан кейін жазуларды
қайта реттеу іске асырылады. Осылайша, индекс құрылған өрістер бойынша
да мүмкін. Бірнеше өрістер бойынша іріктеу үшін осы өрістерді қамтитын
индекс құру қажет.
Жазулардың іріктелуі орындалатын индексті келесі қасиеттер арқылы беруге
болады:
1) IndexName – құрылу кезінде белгіленген индекс аты көрсетіледі;
2) IndexFieldName – лайықты индексті құратын өріс аттары көрсетіледі.
Іздеу.
Locate әдісі іздеу критерийлеріне сәйкес келетін бірінші жазуды іздейді,
және егер бұндай жазу табылса, оны ағымдағы жазу қылдырады. Бұл
жағдайда нәтиже ретінде True мәні қайтады. Егер жазу табылмаса False мәні
қайтады және курсор өзінің орнын ауыстырмайды.
function Locate (const KeyFields: String; const KeyValues: Variant;
Options: TLocateOptions): Boolean;
Іздеу жүргізілетін жолдар тізімі KeyFields параметрлерінде беріледі,
өрістер үтірлі нүктемен бөлінеді. Variant типті KeyValues параметрі іздеу
үшін өрістердің мәнін көрсетеді. Егер іздеу бір ғана өріс бойынша жүргізілсе,
параметр, іздеуге берілген өріс типіне сәйкес, бір мәннен тұрады.
Options параметрі, әдетте жолдарды іздеуде қолданылатын мәнді беруге
мүмкіндік береді. Бұл параметр TLocateOptions көптік типке жатады және
келесі мәндердің қиыстырылуын қабылдайды:
LoCaseInsensitive –әріптер регистрі ескерілмейді;
LoPartialKey – ішінара сәйкестік рұқсат етіледі [6].
А, Б тапсырмалары
Керекті нұсқаны таңдап, Delphi бағдарламалық ортасында Locate және
Lookup әдістерін қолданып жазуларды іріктеу формаларын құру (А
қосымшасы). Студенттер барлық тапсырмаларды екі нұсқа бойынша
орындаулары қажет (А, Б).
Әдістемелік нұсқаулықтар
Іріктеу.
1) «Студенттер» қосымшасын ашу.
2) Формаға ComboBox және Button компоненттерін қосу (16 сурет).
16 сурет – Формаға ComboBox және Button компоненттерін қосу
ComboBox компонентінің Items қасиетінде іріктеу параметрлерін
жазамыз: тегі, мамандығы, курс, дүниеге келу күні, сынақ кітапшасының
нөмірі.
Іріктеу шарттары екінші индекспен орнатылады. Дәлірек айтқанда, тегі
бойынша іріктеу IDFio екінші кілт бойынша өтеді, өйткені оған бірінші
болып SFio өрісі кіреді. Іріктеу таңдалған параметрлер бойынша өтуі үшін
тиісті өрістердің әр түрлі екінші кілттерге кіруі қажет.
Студенттер формасында «Іріктеу» батырмасының OnClick оқиғасы
үшін процедура мәтіні:
begin
Case ComboBox1.ItemIndex of
0: Table1.IndexFieldNames:=’Sfio’; // «Тегі» жолын таңдау кезінде
//іріктеу екінші индекс IDFio бойынша өтеді
1: Table1.IndexFieldNames:=’Sspec’;
2: Table1.IndexFieldNames:=’Skurs’;
3: Table1.IndexFieldNames:=’Sdata’;
4: Table1.IndexFieldNames:=’Snom’;
end;
end;
Ескерту:
IDFio екінші индексіне келесі өрістер кіреді: Sfio, Skurs, Sspec. Тегі
сәйкес келген жағдайда іріктеу курс бойынша жүреді және т.с.с. (17 сурет)
[6].
17 сурет – Іріктеу
Ақпаратты іздеу.
Формаға Edit компонентін қосу.
Студенттер формасында «Edit» компонентінің OnChange оқиғасы
үшін процедура мәтіні:
begin
table1.Locate(‘Sfio’,Edit1.Text,[loPartialKey]);
end;
Жазуды тегі бойынша іздеу ұйымдастырылды. Әріп үлкендіктері
ескерілмейді (18 сурет).
Достарыңызбен бөлісу: |