- •1 Delphi ортасымен танысу
- •1.1 Негізгі ұғымдар. Бағдарлама құру кезінде шешілетін тапсырмалар
- •Зертханалық жұмыс № 1 «Delphi интерфейсінің элементтері»
- •Зертханалық жұмыс № 2 «Негізгі пішіннің жобасы мен модульінің бағдарламалық коды»
- •Interface
- •Implementation
- •Initialization
- •Зертханалық жұмыс № 3 ««Тест» қосымшасын құру»
- •2 Object pascal тіліндегі объектілі – бағытталған бағдарламалау
- •Mainform модулінің соңғы бағдарламалық коды
- •2.1 Класс және объект туралы түсінік
- •2.2 Инкапсуляция, туындау және полиморфизм
- •2.3 Кластың синтаксисі
- •Interface
- •Implementation
- •2.4 Кластың өрістері
- •2.5 Кластың әдістері
- •Implementation
- •2.6 Кластың қасиеттері
- •2.7 Кластың құрылымы. Кластың элементтерінің көріну аймағы
- •2.8 Кластарға операциялар қолдану. Is және as кілттік сөздері
- •2.9 Оқиға және меншіктеу
- •Бақылау сұрақтары:
- •Зертханалық жұмыс №4 «Полиморфизм және көрнекілік әдістер»
- •Interface
- •Implementation
- •Зертханалық жұмыс №5 "Қаситтер мен әдістер"
- •Өз бетінше орындауға арналған тапсырма
- •Зертханалық жұмыс №6 "Оқиғалар"
- •Interface
- •Implementation
- •Өз бетінше орындауға тапсырма
- •3 Терезелік қосымшаларды құру
- •3.1 Label, Edit, Memo мәтіндік құрауыштары. Button батырмасы
- •Зертханалық жұмыс №7 "Қарапайым Windows-қосымшасын құру"
- •3.2 Пернетақта арқылы берілген хабарламаны өңдеу
- •3.3 Тышқан арқылы берілген хабарламаны өңдеу
- •Зертханалық жұмыс №8 “tForm объектісі”
- •3.4 Басқару элементтерінің тасуын қамтамасыз ететін сипаттамалар (Drag & Drop тетігі)
- •Зертханалық жұмыс №9 "Экрандық объектілерді сүйреу"
- •3.5 Диалог терезелері. Dialogs парағындағы Delphi құрауыштары (Open Dialog, Save Dialog, Font Dialog және т.Б.)
- •Тәжірибелік жұмыс №10 «Мәтіндік редактор»
- •3.6 Delphi - дің кескінді құруға тағайындалған кластары мен құрауыштары. Timer – таймер құрауышы
- •Image құрауышы.
- •Зертханалық жұмыс №10 «Бейнелерді құру»
- •Interface
- •Implementation
- •Қарандаш және қылқалам
- •Қарапайым графиктерді сызу әдістері
- •Функциялардың графиктері мен диаграммаларын сызу
- •Interface
- •Implementation
- •5. Мультимедиалық мүмкіндіктер
- •5.1. Animate компоненті
- •Interface
- •5.2. MediaPlayer компоненті
- •5.3. Дыбысты шығару
- •Implementation
- •5.4. Видеороликтер мен анимацияны қарап шығу
- •Implementation
- •5.5 Анимацияны құру
- •Әдебиеттер тізімі
Interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms, Dialogs;
type
TForm1 = class(TForm) { TForm1 класын жариялау}
Button1: TButton; {өріс}
Button2: TButton; {өріс}
L1: TLabel; {өріс}
L2: TLabel; {өріс}
procedure Button1Click(Sender: TObject); {әдіс}
procedure FormActivate(Sender: TObject); {әдіс}
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
i: Integer;
Implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); {әдістің сипатталынуы}
begin
L1.Caption:= DateTimeToStr(Date);
L2.Caption:= TimeToStr(Time);
end;
procedure TForm1.FormActivate(Sender: TObject); {әдістің сипатталынуы}
begin
i:=125;
end;
end.
2.4 Кластың өрістері
Өріс деп кластағы инкапсуляцияланған берілгендерді айтамыз. Кластың өрістері жазбаның өрістері сияқты, бірақ айырмашылығы олар кез – келген типті болуы мүмкін, сонымен қатар кез – келген класс та бола алады, мысалы:
type
TChildClass = class(TObject) { TChildClass класын жариялау}
FOne: integer; {бүтін типтің өрісі}
FTwo: String; {жолдық типтің өрісі}
FThree: TObject; { TObject класс өрісінің типі}
end;
Ерер арғы тегі TObject класы болса, онда тақырыпта оны түсіруге болады.
Инкапсуляция принципі бойынша өрістерге қатынау кластың әдістері мен қасиеттерінің көмегімен жүзеге асырылады. Сонымен бірге Object Pascal - да өрістерге тікелей қатынауға да мүмкіндік берілген. Өріске қатынау үшін құрамды ат жазу қажеттігі туады, ол нүкте арқылы ажыратылған кластың аты мен өрістің атынан тұрады, мысалы:
var
MyObject : TChildClass;
begin
MyObject := 16;
MyObject := ’Некоторое строковое значение’;
end;
Ұрпақ – класының өзінің арғы – тегінің барлық өрістеріне қатынауға мүмкіндігі бар, бірақ оларға қол жеткізу мүмкін емес болғандықтан, оларды анықтауға болмайды. Мысалы:
type
TPredok = class {арғы тек класын жариялау}
Value: Integer;
end;
TPotomok = class(TPredok) {ұрпақ класын жариялау}
Value: String; {туындау өрісінің қабысуы}
end;
var
My1: TPredok; {класс айнымалысын жариялау (My1 –айнымалы-объект)}
My2: TPotomok; {класс айнымалысын жариялау (My2 – айнымалы-объект)}
begin
My1 := TPotomok.Create; { TPredok класының объектісін құрады }
My2 := TPotomok.Create; { TPotomok класының объектісін құрады}
My1.Value := 'Hello!'; {қате, TPredok өрісінің типі емес}
My2.Value := 'Hello!'; {дұрыс, Value: String өрісі жұмыс істейді}
My2.Value := 8; {қате: Value: Integer өрісі қалқаланған}
end;
Бұл мысалда екі класс сипатталған: TPredok – арғы тек және TPotomok – ұрпақ кластары. Әр класс біратты әртүрлі типті Value өрісінен тұрады.
Ары қарай var-секциясында әртүрлі class типті екі айнымалы - My1 және My2 жарияланған. Бір қарағанда My1:= TPotomok.Create объектісінің оператор – конструкторы TPotomок типті My1 объектісін құруы мүмкін (оны құруға жады бөледі). Бірақ My1 басқа типті болғандықтан , ол олай емес. Осы себептен конструктор аталық типті объект құрады, яғни TPredok типті объект. Енді келтірілген мысалдардағы бірнеше операторлардағы қателердің көзі түсінікті болды.
