- •Дәрістік сабақтардың конспектісі
- •1 Дәріс. Кіріспе. Курстың мақсаты. Пәнді игеру негіздері, басқа пәндермен байланысы. Программалық жабдықтаудың даму тарихы Процедуралық бағдарламалаудан объектілі-бағытталған бағдарламалауға өту
- •Мұрагерлену
- •Полиморфизм және виртуалды әдістер
- •2 Дәріс. Объектілі бағдарланған визуальді программалаудың принциптері
- •2.1 Сурет – Интеграцияланған өңдеу ортасының түрі
- •2.2 Сурет – Жөндеудің диалогтық терезесі
- •2.3 Сурет – Компоненттер тақтасы қасиеттерінің сұхбаттық терезесі
- •3 Дәріс. Delphi программасының интегралданған өңдеу ортасы
- •2.4 Сурет – Компоненттің қасиеттеріне қатынау
- •Қосымшаның жұмыс істеу қабілетін анықтау
- •2.5 Сурет – Компонентке тиісті оқиғалар тізімі
- •4 Дәріс. Delphi программасындағы жобалар Object Pascal тілі
- •Негізгі түсініктер
- •Алфавит
- •Бағдарламаның құрылымы
- •Түсініктемелер
- •Мәліметтердің типтері
- •Операторлар
- •Компилятор директивалары
- •Дәрiс 5. Қосымша программалардағы қателерді жөндеу
- •Бүтiнсанды типтер
- •Литерлiк тип
- •Логикалық типтер
- •Мәлiметтердің нақты типтерi
- •Бақылау сұрақтары
- •Дәрiс 6. Delphi тіліндегі мәліметтердің типтері
- •Саналымды типтер
- •Интервалды типтер
- •Бақылау сұрақтары
- •Дәріс 7. Компоненттер палитрасындағы парақтар. Мәтіндік ақпараттарды енгізуге және бейнелеуге арналған компоненттер Деректердің құрылымдық типтері. Массивтер. Жиын.
- •Массивтер
- •Жиындар
- •Дәріс 8. Ақпараттардың басқа түрлерін бейнелеуге арналған компоненттер Деректердің структуралық типі. Жазбалар. Файлдар. Жазбалар.
- •Файлдар
- •9 Дәріс. Тақталар және сыртқы әрлеуге арналған компоненттер. Жүйелік диалогтар
- •10 Дәріс. Қолданушының графиктік интерфейсін жобалау Қарапайым операторлар.
- •11 Дәріс. Графика және мультимедиа
- •15. Дәріс Әртүрлі ақпараттық жүйелер класына арналған Delphi мүмкіндіктері.
Қосымшаның жұмыс істеу қабілетін анықтау
Интерфейстік бөлімді өндіру барысының кез-келген уақытында қосымшаны іске қосуға болады. Компиляциядан кейін экранда тура өндіру барысындағыдай қосымша формасы ашылады. Форманы экран бойынша жылжытуға, өлшемін өзгертуге, үлкейтуге және кішірейтуге, сондай-ақ бастиектегі жабу белгісін шерту арқылы немесе басқа да жолдармен жабуға болады. Яғни форма қарапайым Windows терезесіне ұқсайды.
Жоғарыда айтылған іс-әрекеттердің барлығы қосымшаның ерекшеліктері мен мағынасына тәуелсіз барлық формаларға тәуелді. Формада қосымшаның интерфейсін құрайтын компоненттер орналасқан, өндіруші сол компоненттерге қолданушының іс-әрекетіне жауап беретін, мысалы, батырманы басқан кезде немесе ауыстырғышты таңдағанда қажетті тағайындаулар енгізуі керек. Осы іс-әрекеттер қосымшаның жұмыс істеу қабілетін анықтайды.
Қосымшаның интерфейсін құрған кезде формада терезені жабуға арналған Button батырмасы орналассын делік. Келісім бойынша оның аты және бастиегі Button1 болады, алайда бастиегі (Caption қасиеті) Объектілер инспекторы арқылы – Жабу деп өзгертіледі. Қосымша іске қосылған кезде Button1 батырманы тышқанның немесе пернетақтаның көмегімен басуға болады. Батырманы басу экранда айқын байқалғанымен де форманы жабу әрекеті орындалмайды. Бұл батырма үшін қолданушы әсер еткенде немесе батырманы басқан кезде ешқандай тағайындалудың енгізілмегенін білдіреді.
Батырма қандай да бір оқиғаға жауап беруі үшін оқиға туындаған кезде шақырылатын оқиғаны өңдеу процедурасын құру немесе көрсету керек. Оқиғаны өңдеу процедурасын, немесе өңдеушіні құру үшін ең алдымен формадағы батырманы белгілеп, содан соң батырма үшін барлық оқиғалар берілген Объектілер инспекторының оқиғалар парағына өтеміз (2.5 сурет).
2.5 Сурет – Компонентке тиісті оқиғалар тізімі
Батырманы басқан кезде OnClick оқиғасы туындайтын болғандықтан, осы оқиғаға арналған өңдеуші құрамыз. Ол үшін OnClick оқиғасының мәндер облысында екі рет шертеміз, соның нәтижесінде Delphi форма модулінде өңдеуші процедураны автоматты түрде құрады. Сол кезде Код редакторы алдыңғы қатарда ашылып, ал курсор бағдарламалаушы Button1 батырмасына арналған процедура кодын жазатын жерде орнатылады.
Батырма терезені жабуға арналғандықтан ол жерде Form1.Close немесе жай ғана Close деп көрсету жеткілікті. Сонда форма модулінің коды келесі түрде болады:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Close;
end;
end.
Келтірілген мысалда бағдарламалаушы жазған код майлы бояумен ерекшеленген, қалғанын Delphi автоматты түрде өзі құрды, сонымен қатар өңдеуші-процедураның бастиегін Form1 формасының кластарын сипаттау бөліміне енгізді. TForm1.ButtonClick өңдеушінің аты компонент атының жанына On префиксін қоймай оқиғаның атын жазған кезде туындайды. Бұл атау оқиғаның мәні болып табылады, біздің жағдайымызда – OnClick батырмасын басу үшін қолданылады. Объектілер инспекторы арқылы батырманың атын өзгерткен кезде жобаның барлық файлдарында (DFM және PAS) осы процедураның аты сәйкесінше автоматты түрде өзгереді.
Басқа компоненттерге және басқа да оқиғаларға арналған өңдеушілер осыған ұқсас құрылады. Оқиғалар туралы олардың сәйкес компоненттерін талдаған кезде толығырақ тоқталамыз.
Өңдеуші процедураны жою үшін бағдарламалаушы өз ұйғарымымен енгізген кодты өшіру жеткілікті. Сонда модульді сақтау немесе компиляциалау кезінде өңдеуші процедура жобаның барлық файлдарынан автоматты түрде жойылады.
Ескерту. Қандайда бір компонентті жойған кезде оның бос емес өңдеушілері форманың модульінде қалып қояды.
Оқиғаға арналған жаңа өңдеушіні құру үшін алғашында пайдаланылған өңдеушіні таңдауға да болады, егер ондай бар болса. Ол үшін Объектілер инспекторында қасиеттің мәндер облысындағы бағыттауышты шерткенде ашылатын процедуралар тізімінен осы оқиғаға арналған өңдеуші процедурасын таңдаймыз. Объект оқиғасы да қасиет болып саналады және оның өзінің арнайы типі болады. Әрбір оқиға үшін сол типті өңдеушіні тағайындауға болады. Тізімнен қажетті процедураны таңдағаннан кейін ол оқиғаның өңдеушісі болып тағайындалады.
Бір ғана процедураны бірнеше оқиғамен, соның ішінде әртүрлі компоненттер үшін байланыстыруға болады. Мұндай процедура ортақ өңдеуші деп аталады және өзімен байланысты кез келген оқиға туындаған кезде шақырылады. Ортақ өңдеушінің денесінде қандай компонентке немесе оқиғаға процедураның шақырылғандығын және де, қандай іс-әрекеттер атқаратындығын да байқауға болады.
Беттері көрсетілген негізгі әдебиеттер
[C.23-25]
[C.68-86, 263-289]
Бақылау сұрақтары
Қандай компоненнтер визуалды деп аталады? Мысал келтіріңіз.
Қандай компоненнтер визуалды емес деп аталады? Мысал келтіріңіз.
Қосымша интерфейсі нені білдіреді және ол қалай құрылады?
Қосымшаның жұмыс істеу қабілеті қалай анықталады және ол қалай беріледі?
