Класс деп Delphi ортасындағы үлгi ретiнде қолдануға болатын функционалды толық программаның үзiндiсiн атайды. Алдын-ала класты құрып алып, сол кластың көшiрмелерiн әртүрлi программаларға немесе бiр программаның әртүрлi үзiндiлерiне орналастыруға болады.
Delphi құрамына Inprise корпорациясының жүздеген стандартты кластары кiредi. Delphi ортасындағы барлық компоненттер белгiлi бiр кластың құрамына жатады. Ал формаға орналастырылған нақты бiр компоненттiң аты алғы буынның аты және сандық индекстен тұрады. Delphi ортасындағы барлық кластардың аты Т әрпiнен басталады, мысалы TForm кластың туындыларының атаулары TForm1, TForm2 және т.с.с. болып келедi. Егер код терезесiндегi мәтiндi басынын қарап шықсақ, онда келесi қатарларды көруге болады:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs;
type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
TForm1 = class(TForm) қатары TForm1 деген жаңа класты TForm -ның туындысы ретiнде анықтайды. Стандартты TForm - Windows -тiң бос терезесiн анықтайды, ал TForm1 - формаға орналастырылған екi компоненттi сипаттайды, олар:
Label1: TLabel; - белгi компонентi;
Button1: TButton; - батырма компонентi;
Бұл анықтамалар Label1 - TLabel, ал Button1 - TButton кластарының туындылары екенiн көрсетедi.
TForm1.Button1Click процедураның атынан кейiн жақшада нақты параметрi ретiнде (Sender: TObject); тұрады. Мұнда Sender - процедураны шақыру параметрi TObject деген класқа жатады деп анықталған. Процедурадағы көрсетiлген шақыру параметрi алгоритмдi процедурадағы анықталған нақты жұмысты орындауға икемдейдi. Осы параметр арқылы Button1Click процедурасы OnClick оқиғасын қай компонент қҰрғанын анықтай алады. Процедураның тақырыбы “; “ таңбасымен аяқталады.
Процедура тақырыбынан кейiн тұрған Begin …end; қатарлары процедураның денесi деп аталады. Ендi Begin мен end аралығында Button1 батырмасын басқандағы орындалатын операторлардың жиынтын жазуға болады. Операторлар бiр бiрiнен “; “ таңбасымен ажыратылады.
Компоненттiң қасиетiн программа орындалу барысында өзгерту
Жоғарыдағы формаға орналастырылған Button1 - компоненттiң атын Label1 сияқты бiрден Объектiлер бақылаушы терезесiнен өзгертуге болады.
Сонымен бiрге, осы әрекеттердi динамикалық түрде, яғни программаның кодын өзгерту арқылы орындауға болады.
Динамикалық түрде компоненттiң атын өзгерту үшiн OnCreate (құрастыру барысындағы) оқиғаны өндейтiн программаның үзiндiсiн келтiрейiк.
Объектiлер бақылаушысының терезесiндегi компоненттер тiзiмiн ашыңыз (16-сурет). Тiзiмдегi TForm1 қатарын таңдап, Events бағанасындағы OnCreate қатарының оң жағын үзiлiссiз екi сырт еткiзiңiз
.
16- сурет. Объектiлер бақылаушысының терезесi
Delphi ортасының шығарған дайындамасына бiр қатарды енгiзiңiз:
procedure TForm1.FormCreate(Sender: TObject);
begin
Button1.Caption: =’ ДЫБЫС’;
//: = меншiктеу операторы, таңбалар арасында бос орын //қалтырмай жазылады. Апостофқа алынған таңбалар жолы; //таңбалар саны шектелмейдi. Батырманың аты осы жолдың
// таңбаларынан тҰрады
end;
Ендi программа қайтадан iске қосылғанда, Button1 батырмасының аты ДЫБЫС - қа өзгертiлгенiн көруге болады.
2.2.7 DELPHI тіліндегі программаның құрылымы
Delphi ортасының негiзгi құралы ретiнде Object Pascal программалау тiлi қолданылады. Программалау тiлiнiң негiздерiн келтiру қарапайым мысалдарды қарастырумен iске асады. Аталған қарапайым әрекеттердi программалау үшiн әртүрлi интерфейстiк (қарым-қатынастық) элементтер орнатылған форма құрастырайық. Бұл форманы кез-келген оқулық программалардың үлгiсi ретiнде қолдану үшiн, оны жаңа программалардың баяндамалар архивiне орналастыру керек.
Delphi ортасын iске қосып, File => New Form орындалғандағы шыққан бос терезеге келесi компоненттердi 18 –суреттегiдей орналастыруға болады. Формаға панель-Рanel1, екi батырма- BitBtn1 және BitBtn2, енгiзу жолы –Еdit1, белгi-Label1, көпжолдық редактор-Memo1 элементтерi орналастырылған.
18-сурет. Example формасы
Формадағы екi батырманы, енгiзу жолын және белгi компоненттерiн бiрiктiру және әрдайым терезенiң төменгi жағына (тiптi терезе толық қкрандық тәртiпте ашылса да) орналастыру үшiн Рanel1 элементi контейнер ретiнде қолданылған.
Сол жақтағы OK батырмасы программаға енгiзу жолындағы берiлгендердiң даярлығы туралы хабарлайды. Осы батырма басылғандағы программаның өндеушi үзiндiсiн жазу- бiздiң мақсатымыз.
Екiншi батырма –Close терезенi жауып, программаның жұмысын тоқтатады.
Батырмалардың төменгi жағында белгi орналасады және де ол көрiнбей тұрады. Белгiде программаның қалыптастырған шағын хабары орналасады.
Көпжолдық хабарлар TMemo аймағына шығарылады.
құрастырған форма File =>Save as… => Example деп сақталады.
Жобаның файлын File=>Save project as …=> Project1 түрiнде қалдырамыз.
Delphi тiлiндегi программаның құрамына келесi файлдар кiредi: . dpr кеңейтiлуi бар жобаның файлы және . pas кеңейтiлуi бар бiр немесе бiрнеше модульдер файлы.
Жобаның құрылымы
Жобаның файлы - Object Pascal тiлiнде жазылған және компилятормен өңделетiн программа. Бұл программаны Delphi автоматты түрде құрастырады (19-сурет) және ол бiрнеше жолдардан тұрады.
Delphi ортасын iске қоссақ, Project=>View Source опцияларын орындау арқылы келесi терезе шығады:
19- сурет. Жобаның құрылымы
Программада арнайы сөздер жуандатылып жазылған, программа Program сөзiмен басталып, End сөзiмен және одан кейiн қойылған нүктемен (терминатормен) аяқталады. Object Pascal тiлiнде көптеген арнайы сөздер әртүрлi нұсқау ретiнде қолданылады, компилятор оларды солдан оңға және жоғарыдан төмен қарай оқиды. Жүйелi жақшаға алынған таңбалар түсiнiктеме ретiнде қолданылады. Сонымен қатар, түсiнiктеменi көрсету үшiн “(* *)” немесе “// “ белгiлерiн қолдануға болады.
Бiрақ {$R *.RES} жолы (жақшадан кейiн бiрден “$” белгi тұрған) түсiнiктеме емес, бұл жол компиляторға берiлген нұсқау. Мысалы, жоғарыда келтiрiлген {$R *.RES} жолы программаны ресурстар файлымен қоса компиляциялау керек екендiгi туралы баяндайды.
Program сөзi және онан кейiн анықталған программаның атауы программаның тақырыбы деп саналады.
Uses (пайдалану) сөзiмен басталған сөйлем программаны осы сөзбен анықталған, басқа файлдарда орналасқан модульдердi қоса компиляциялау туралы хабарлайды. Осындай нұсқаудан соң программаның денесi орналасады, ол Begin сөзiмен басталып, End және одан кейiн қойылған нүктемен (терминатормен) аяқталады. қарастырылып отырған программаның денесi орындалатын үш операторлардан құралады.
Әр оператор Application объектiмiнiң белгiлi бiр әдiсiн шақыру жұмысын атқарады.
Object Pascal-да объект деп арнайы даярланған берiлгендер мен оларды өңдеуде қолданылатын, iшкi программалардың жиынтығынан тұратын және бiртұтас болып саналатын программаның үзiндiсiн айтады. Объектiнiң берiлгендерiн өрiстер деп атайды және олар кез-келген түрде анықталуы мүмкiн. Объектiнiң iшкi программаларын әдiстерi деп атайды.
Объектiлік типтердiң негiзгi ерекшелiгi - объектiнiң өрiстерiмен бiрге оларға қолданылатын әртүрлi iс-әрекеттердiң жиынын iшкi программалар (процедура және функциялар) арқылы анықтауға болатындығы. Берiлгендердiң осындай қасиетiн инкапсуляция дейдi. Инкапсуляция- ол, берiлгендердi және оларды өңдеудегi алгоритмдердi бiр бүтiн құрылымға бiрiктiру деген тұжырым.
Объектiк типтердiң негiзгi қасиеттерi – функционалдық толықтығы және өрiстер мен әдiстердiң бiр-бiрiнен ажыратылмауы, оларды программаның бөлек бiр тәуелсiз бөлiгi ретiнде қолдануға болады. Мұндай объектiлердi бiр программадан екiншiге оңай алмастыруға болады. Бұл принциптi объектiге бағытталған программалау тәсiлдерi деп атайды.
Жалпы Delphi ортасы кез-келген жаңа жобаның Application объектiлiк программасын автоматты түрде құрастырады.
Initialize әдiсi арқылы программа Windows-тiң басқаруымен әртүрлi көмекшi жұмыстарды орындайды. Application.Initialize әдiсi шақырылғанда компилятордың құрастырған коды процессордан Delphi ортасының даяр бiр үзiндiсiн орындауын сұрайды. Осы үзiндi орындалғаннан кейiн (немесе iшкi программадан шыққаннан кейiн) келесi жолдағы CreatForm әдiсi орындалады және т.с.с.
CreatForm әдiсi негiзгi терезенi құрастырып, оны экранда көрсетедi. Ал Run әдiсi берiлгендердi және оларды өңдеу туралы Windows - тан келген хабарларды қабылдайды. Close батырмасы басылғанда программаға Windows - тан жұмысты тоқтату және жүйелi ресурстарды (жадыны және процессорды) босату туралы нұсқау берiледi.
Жобаның коды, жоғарыда айтылғандай, Delphi ортасымен құрастырылады және көптеген жағдайларда бұл кодқа араласуға тиым салынған. Егер программалаушы осы кодқа әртүрлi өзгерiстердi енгiзiп, араласса, онда Delphi ортасы осы өзгерiстердi алып тастауға тырысады. Сондықтан жобаның файлында ерекше кеңейтiлу қолданылады және әдетте бұл код көрiнбей тұрады.
Модульдың құрылымы
Модульдер- программаның үзiндiсiн орналастыру үшiн қолданылатын программалық бiрлiк. Модуль деп программаның белгiлi бiр тәуелсiз бөлiгiн атайды және олар стандартты және бейстандартты болып екi топқа бөлiнедi. Модульдiң коды программаның бет алысын анықтайды.
Модульдер келесi бөлiктерден тұрады:
Unit ‹ модульдiң аты ›;
Interface‹интерфейстiк бөлiгi немесе көрiнетiн (ашық) объектiлердiң анықтамасы ›
Implementation
‹орындалатын бөлiгi, немесе көрiнбейтiн объектiлердiң анықтамасы ›
Достарыңызбен бөлісу: |