«Программалау іі» ПӘнінің ОҚУ-Әдістемелік кешені



жүктеу 10,41 Mb.
бет6/29
Дата07.12.2017
өлшемі10,41 Mb.
#3507
1   2   3   4   5   6   7   8   9   ...   29

Оқиғалар мен делегирлеу


Программадағы нысандар өзара әрекеттесуі керек. Сонымен қатар олар сыртқы ортамен – пайдаланушымен операциялық жүйе арқылы әрекеттесуі керек. Олар өзара әрекеттескенде бұл әдетте әдістер арқылы жүзеге асырылады. Delphi –де Windows-пен әрекеттесу үшін оқиғалар механизмі қолданылады.

Оқиғалар – бұл нысанның сыртқы әсерге жауап қату мінез-құлқын жасауға арналған процедуралық типтің қасиеті.

Property OnMyEvent: TMyEvent read FOnMyEvent write FOnMyEvent

Мұндағы FOnMyEvent – қандай-да бір әдістің мекен-жайын қамтитын нысан өрісі. Осындай әдістердің мысалын Delphi-дің нысан инспекторындағы Events қалташасынан көруге болады, мысалы, onclick, OnMouseMove және т.б.

Осындай қасиетке мән беру – осы оқиға болған мезеттегі шақырылатын әдістің мекен-жайын нысанға беруді білдіреді. Осындай әдістерді оқиғаларды өңдеушілер деп атайды. Delphi-де оқиға өңдеушілерді шақыру әдетте программисттен жасырын болады. Тегіне және маңызына байланысты оқиғалардың параметрлерінің саны мен типі әртүрлі болады. Барлығы үшін ортақ параметр SendenTObject – ол оқиғаның нысан-көзіне сілтейді. Қарапайым жағдайда оқиға өңдеушінің басқа параметрлері болмауы мүмкін. Оқиғалар – бұл нысан қасиеттері болғандықтан, олардың мәндерін программаның орындалуы барысының кез-келген мезетінде өзгертуге болады. Бұл мүмкіндікті делегирлеу деп атайды. Делегирлеу – бұл программаның орындалуы кезінде бір нысанның оқиғаға жауап беру тәсілін алып, екінші нысанға меншіктеу (делегирлеу) механизмі. Нысандар қалып-күйімен және мінез-құлқымен сипатталады. Қалып-күй - өрістер, олардың жиынтығы тұрақты, мәндері өзгереді. Мінез-құлық - әдістер. Барлық алдында қарастырылған жағдайларда программаның орындалуы барысында нысандардың мінез-құлықтары өзгермейді. Делегирдеу программаның орындалуы барысында нысанның мінез-құлқының өзгеруіне мүмкіндік береді, жалпы тек оқиғаларды өңдеуден де кең қолданыла алады. Делегирлеу принципі әрбір өзгеше жағдай үшін қарапайым процедуралар қою арқылы жаңа ішкі класстар туындату үрдісінен құтылуға мүмкіндік береді. Мысал:

function CaIc{X,Y: Integer): Integer; - функция

var F: function (X,Y: Integer): Integer; - тура сол типті функцияға нұсқауыш

F := Calc;

A:=F(10,20);

A:=Calc{10,20);

Соңғы екі жол Calc функциясын шақыруды қамтидыбірінші жағдайда оған нұсқауыш, екіншісінде оның атауы арқылы нұсқауыш. Сонымен қатар классқа, яғни нысанға нұсқауыш типті айнымалылар сияқты процедураға нұсқауыш типі үшін оның пұсқауыш епкенін көрсететін арнайы белгілер қолданылмайды. Процедуралық типті айнымалыларды процедура параметрі ретінде беруге болады:




Дәріс №13. Delphi стандартты класстарының кітапханасы. "Негізгі-көмекші" және "үлкен-кіші" қатынастары.

Delphi –дің стандартты класстар кітапханасы VCL пайдаланушының өзі солардың базасында Windows қолданбаларын дайындай алатын жүздеген класстарды қамтиды.


Суретте VCL кітапханасының негізгі класстарының иерархиясы көрсетілген. Олардың базасында Delphi –дің қалған барлық класстары жасалған.


1-сурет. VCL кітпханасының негізгі компоненттерінің иерархиясы

Кітапхананың барлық компоненттері Tobject класының мұрагерлері, Tobject класы
Delphi-де программалауды едәуір жеңілдететін бірқатар арнайы әдістерге ие:

type TObject = class

constructor Create; {конструктор}

destructor Destroy; virtual; {деструктор}

procedure Free; {егер элемент жасалса, жою}

class Function InitInstance(Instance: Pointer): TObject; {нысанды жасау кезінде жадыны инициализациялайды}

class Function NewInstance: TObject; virtual; {нысанды орналастыру үшін жады бөледі}

^ Procedure CleanupInstance; {нысанды жою кезінде жолдармен және т.б. күрделі құрылымдармен жұмысты дұрыс аяқтауды жүзеге асырады }

Procedure FreeInstance; virtual; {нысанды орналастыруға арналған жадыны босатады}

^ Function ClassType: TClass;{нысанның класын қайтарады}

class Function ClassName: ShortString; {класс атауын қайтарады}

class Function ClassNameIs(const Name: string): Boolean; {нысанның көрсетілген классқа тиістілігін тексереді}

class Function ClassParent: TClass;{ата-баба типін қайтарады}

class Function ClassInfo: Pointer;{RTTI кестесіне нұсқауышты қайтарады

class Function InstanceSize: Longint;{нысанның байтпен өлшемін қайтарады}

class Function InheritsFrom(AClass: TClass): Boolean;{көрсетілген класс жанұясына класстың немесе нысанның тиістілігін тексереді}

^ Procedure Dispatch(var Message);{посылает сообщение объекту}

class Function MethodAddress(const Name: ShortString): Pointer; {жарияланған әдістің атауы бойынша мекен-жайын қайтарады }

class Function MethodName(Address: Pointer): ShortString;

{жарияланған әдістің атауын оның мекен-жайы бойынша қайтарады}



^ Function FieldAddress(const Name: ShortString): Pointer;

{жарияланған өріс атауын оның мекен-жайы бойынша қайтарады}



Function GetInterface(const IID: TGUID; out Obj): Boolean; {көрсетілген класс интерфейстренің сәйкестігін тексереді}

class Function GetInterfaceEntry(const IID: TGUID):

PInterfaceEntry; {арнайы класс интерфейсінің сипаттамасын қамтитын құрылымға нұсқауышты қайтарады}

class Function GetInterfaceTable: PInterfaceTable; {классқа арналған интерфейстің сиптаамасын қамтитын құрылымға нұсқауышты қамтиды}

^ Function SafeCallException(ExceptObject: TObject;

ExceptAddr: Pointer): Integer; virtual; {OLE алып тастауын қолдау әдісі
Procedure DefaultHandler(var Message); virtual;{үнсіз келісім бойынша хабарламаларды өңдейді}

end;

TObject класынан published секциялары бар болатын барлық класстардың текбасшысы - Tpersistent класы мұраланады. Бұл класс жарияланған әдістері бар Нысандар Инспекторының дұрыс жұмыс істеуін қакмтамасыз етеді (олардың форма файлдарында сақталуы, программа компиляциясы кезінде жарияланған қасиеттерді инициализациялау, және бір нысанның өрістерін екіншісіне көшіру).

TPersistent класынан TComponent (компонентте) кластары – барлық компонент-класстардың текбасшысы және бірқатар басқа да қосымша класстар мұраланады, мысалы: TStrings (жолдар), TCollection (коллекциялар), TCanvas («холсттар» - «сурет салуға» болатын өрістер), TGraphicObject (графикалық нысандар), TGraphic (графикалық элементтер), TPicture (бейнелер).

TComponent класынан қолданбаның барлық компоненттері , солардың арасында қолданбаның өзі де (TApplication класы) мұраланады. TComponent класстарының ұрпақтарының ерекшелігі нысан-компоненттер бір-бірімен «негізгі-қосалқы» қатынасында болатындығында.

Негізгі компонент қосалқы компоненттерді орналастыру кезіндегі жадыны басқару үшін жауап береді: компонентті жасау кезінде жады бөлу және оны жою кезінде жадыны босату. Формада (TForm) орналасқан барлық компоненттер үшін негізгі компонент форма болып табылады, ал форманың өзі үшін негізгі компонент қолданба (TApplication) болып табылады.

TComponent ұрпақтарының арасында TControl класы ерекше орын алады, одан формада орналасқан барлық басқару элементтері мұраланады. Сәйкесінше, бұл класс экрандағы формаға қатысты басқару элементтерінің орналасуын анықтайтын қасиеттерді қамтиды.

Кез-келген басқару элементі форма терезесі ішінде тіктөртбұрышты алады деп есептелінеді.
TControl класы тышқанның хабарламасын өңдейтін және сәйкес оқиғаларды генерациялауды қамтамасыз ететін әдістерді анықтайды (кәдімгі, екі рет шерту, басылған пернелермен жылжу, және т.б.).

TControl класынан TWinControl класстары мұраланады – терезенің басқару элементтері және TGraphicControl – графикалық басқару элементтері.



TWinControl класы терезелік басқару элементтерінің арасында «үлкен - кіші» қатынасын орнатады. Бұл қатынас терезелік басқару элементтерінің экрандағы бейнелерінің бағынуын анықтайды. Мысалы, егер форма экранда көрінбейтін болса, онда барлық кіші басқару элементтері де көрінбейтін болады.

2-сурет. Бірнеше компоненттері бар форма (жобалау кезеңінде)




3-сурет. «Негізгі - қосалқы» қатынасы



4-сурет. «Үлкен - кіші» қатынасы.

«Үлкен - кіші» қатынасын қолдана отырып, терезелік басқару элементтерінің біртипті мінез-құлқын анықтауға болады.

Дәріс №14. Delphi хабарламасы. Хабарламаларды өндеу әдістері. Хабарламаларды генерациялау.

Оқиға- программамен жұмыс істеу барысында обьект жағдайының белгілі бір әрекетке жауап ретінде өзгеруі. Мысалы: пайдаланушы программа құру үшін алдымен формаға компонент орнатуы, форманы не формада орналастырылған компонентті тышқан арқылы шерту мүмкін. Оның әр іс-әрекеті оқиға шығарады. Delphi -де әр оқиға атау беріліп қойылған. Әр обьектіге байланысты оқиғалар көп . Мысалы: формаға байланысты өқиғалар саны 35. Олар қасиеттер терезесінің Events қосымша бетіне еңгізілген. Терезеде оқиға атауларының алдына On прифексі (қосымшасы) тіркестіріліп жазылған. Ол-атаудың оқиға екендігін білдіретін белгі:

Delphi ортасында жиі кездесетін оқиғалар

OnClick-тышқан түймесін бір рет басу.

OnDblClick-тышқан түймесін екі рет басу.

OnKeyDown-клавишті басу.

OnGreatе-форманы екі рет шерту басу т.б.

Проект екі бөлімнен тұрады: автоматты түрде project1 атауы берілген проекті файлы

(негізгі модуль) және Unit1.pas атауы берілген модуль. Олар жеке терезелерде орналасқан. Модульге оқиғаларға сәйкес іс-әрекеттерді орындайтын программа мәтіні (процедуралар) еңгізіледі. Программа мәтінің программалық код деп , ол еңгізілетін процессі деп атайды. Формада код терезесіне өту және код терезесінен формаға өту үшін F12 клавишін басу жеткілікті.

Формасы екі рет шерткен кезде ол терезесіне еңгізілген процедура дайындамасы көрсетілген. Оқиғаға байланысты құрылатын процедура Оқиғаны өңдуіш не өңдеу процедурасы делінеді. Процедура дайындамасының жазылу түрі:



Procedure <атау> (Sender:TObject);

<сипаттау бөлімі>

begin

<процедура денесі>

еnd;

Мұндағы: Sender- құрылатын процедураның қай класқа тиістілігін анықтайтын параметр.

Терезенің сол бөлігінде –браузер терезесі.

Онда код терезесінде барлық жариялаулардың құрылым көріп шығуға болады.



- Берілгендерді еңгізу және шығару. InputBox функциясы ShowMessage процедурасы. Типті түрлендіру функциялары.

Delphi -де айнымалы мәнің еңгізу үшін меншіктеу командасын, еңгізу терезесін не форманың Edit компонентің өрісін пайдалану мүмкін.

Delphi -де нәтижені ShowMessage процедураның терезесіне шығаруға болады. Процедураның жазылу түрі:

ShowMessage(FloatStr(S));

ShowMessage(FloatTostrF(S,ffgeneral,7,3));

Жүйе соңғы операторды оқып шығып, 7 цифрдан тұратын нақты санды символдық типте



ShowMessage терезесінде көрсетеді.

Delphi-де хабарламаларды өңдеу тізбегі
Delphi-дің барлық класстарында хабарлама өңдеушілер деп аталатын кіріктірілген хабарламаларды өңдеу механизмі бар. Класс қандай-да бір хабарлама алады және алынған хабарламаға байланысты белгілі бір әдісті шақырады. Егер сәйкес әдіс анықталмаған болса, онда үнсіз келісім бойынша берілген өңдеушіні шақырады.

Хабарлама алынған соң VCL хабарламалар жүйесі оны өңдеу бойынша алдын ала үлкен жұмыстар атқарады.

Алдымен хабарлама TApplication.ProcessMessage әдісімен өңделеді, ол оны хабарламалардың негізгі циклынан таңдап алады. Мұнда FOnMessage өрісінің мазмұнын тексереді (OnMessage оқиғасында өңдеушінің бар-жоқтығын тексереді) және егер ол бос болмаса, онда осы оқиғаның өңдеушісін шақырадды, ал егер өріс бос болса (Nil), онда API DispatchMessage(Msg) функциясын шақырады. Хабарламаны өңдеу кезінде бұл болмайды.

Егер OnMessage хабарлама өңдеушісі анықталмаған болса, онда алынған хабарламаны өңдеу үшін API DispatchMessage функциясын шақырады, ол хабарламаны терезенің негізгі процедурасына береді.

Delphiде әрбір компонент терезесі үшін басты виртуалды емес әдіс MainWndProc(Var Message: TMessage) шақырылады. Ол Windows –тан хабарлама құрылымын WindowProc қасиетінде анықталған виртуалды әдіске бере отырып, ерекше жағдайларды өңдеу блогын қамтиды

Delphi компоненттерінің хабарламаларды өңдеуі

Барлық хабарламалар алғашқыда мекен-жайы WindowProc қасиетінде көрсетілген әдіс арқылы өтеді. Үнсіз келісім бойынша ол WndProc әдісі. Осыдан кейін олар өздерінің хабарламалар әдістері бойынша бөлініп, жөнелтіледі.

• WindowProc қасиеті келесі түрде жарияланған:

Туре TWndMethod=Procedure(Var Message: TMessage) Of Object;
Property WindowProc: TWndMethod;

Шындығында WindowProc қасиетін қолдана отырып, TWndMethod типті әдіс жасауға болады, және бастапқы әдісті жасалған әдіске уақытша ауыстыруға болады. Дегенмен, WindowProc қаситеніде әдістің мекен-жайы сақталмайтындықтан, онда алдын-ала WndProc бастапқы әдісінің мекен-жайын оны соңынан қалпына келтіру үшін сақтап қоюға болады.

OldWndProc: TWndMethod;
procedure NewWndProc(var Message: TMessage);
procedure TForm1.NewWndProc(var Message: TMessage);
var Ch: char;
begin
if message.Msg= WM_MOUSEMOVE then begin
Edit1.Text:=’x=’+inttostr(message.LParamLo)+’, y=’+inttostr(message.LParamHi);
end
else WndProc(Message);
end;

procedure TForm1.FormCreate(Sender: TObject);


begin
OldWndProc:=WindowProc;
end;

procedure TForm1.CheckBox1Click(Sender: TObject);


begin
If CheckBox1.Checked then WindowProc:= NewWndProc
else WindowProc:= OldWndProc;
end;
Дәріс №15. Оқиғаларды құру. VCL хабарламаларын өңдеу. Хабарламаларды өңдеу циклдарын басқару.

Хабарламалар мен оқиғалар арасындағы байланыс.


көптеген VCL оқиғалары Delphi-де тікелей Windows хабарламаларымен байланысты. Delphi-дің анықтамалық жүйесінде осы сәйкестіктер көрсетілген. Келесі кестеде олар көрстеіледі.

Кесте 1



VCL оқиғасы

Windows хабарламасы

VCL оқиғасы

Windows хабарламасы

OnActivate

WM_ACTIVATE

OnKeyPress

WM_CHAR

OnClick

WM_LBUTTONDOWN

OnKeyUp

WM_KEYUP

OnCreate

WM_CREATE

OnPaint

WM_PAINT

OnDblClick

WM_LBUTTONDBLCLK

OnResize

WM_SIZE

OnKeyDown

WM_KEYDOWN

OnTimer

WM_TIMER

Егер олар үшін алдын ала анықталған оқиға болмаса, хабарламла өңдеушілерін құруға болмайды. Мұндай жағдайларда оқиға өңдеуді қолдану керек, себебі оларға аз шектеу қойылады.
Дәріс №16. Алып тастаулар үзінділерінің құрылымы. Алып тастауларды кұру. Алып тастауларды генерациялау. Алып тастауларды өңдеу.
Қандай-да бір қолданба жасай отырып, сіз қойылған есепті шешетін код жазуыңыз керек және қателіктің бар-жоғын тексеретін код жазуыңыз керек. әдетте қателіктің бар-жоғын тексеретін код if операторының негізінде құрылады.  

Көбінесе if операторы пайдаланушы енгізген мәліметтерді тексеру үшін және функциялардың орындалуын тексеру үшін қолданылады. Қарапайым алгоритмдерде if операторын қолданумен шектелуге болар еді, дегенмен пайдаланушының графикалық интерфейстері бар программаларда, пайдаланушының толық әрекет еркіндігі болғандықтан қателік кез-келген жерден және кез-келген уақытта болуы мүмкін. Қолданбаны қорғау үшін тек if операторын қолдану жеткіліксіз.

 Қателіктерді табу және оларға жауап қатумен алып тастауларды өңдеу механизмдері жұмыс істейді. Егер  Delphi-дің көмегімен жазылған қолданбаларда қателік туындаса, онда қолданба автоматты түрде алып тастауды генерациялайды. Алып тастау – туындаған қателікті сипаттайтын нысан болып табылады. 

Алып тастауды генерациялау қолданбаның алып тастау нысанын жасап, қателікті болық сипаттағанын білдіреді.

Егер біз алып тастауды өңдемесек (яғни қателікті табу үшін арнайы код дайындалмаса), онда қолданба мұны автоматты түрде өзі жасайды.  Delphi-де қорғалған блок төмендегідей көрінеді:

try


 Оператор (-ы) ;

except


end;

 

алып тастауларды генерациялайтын операторлар try блогында жазылады, ал алып тастауларды өңдеушілерде алып тастауларды өңдеумен айналысатын код жазылады, алып тастауларды өңдеуші қорғалған блоктың бөлігі болып табылады, жәнеDelphi-де except резервтелген сөзінен басталады. в Delphi



Листинг 1. Delphi-де алып тастауларды тосып алу

01.procedure TForm1.Button1Click(Sender: TObject);

02.var

03.x: Integer;



04.begin

05.try


06.x := StrToInt(Edit1.Text);

07.except

08.ShowMessage('An error occurred.');

09.end;


10.end;

Листинг 2. Екі санды бөлу

01.procedure TForm1.Button2Click(Sender: TObject);

03.var


04.Num1: Integer;

05.Num2: Integer;

06.begin

07.Num1 := CustomStrToInt(Edit1.Text);

08.Num2 := CustomStrToInt(Edit2.Text);

09.ShowMessage(IntToStr(Num1 div Num2));

10.end;
Листинг 3. Арнайы алып тиастауларды өңдеу
procedure TForm1.Button1Click(Sender: TObject);

var


Num1: Integer;

Num2: Integer;

begin

try


Num1 := StrToInt(Edit1.Text);

Num2 := StrToInt(Edit2.Text);

ShowMessage('Result: ' + IntToStr(Num1 div Num2));

except


{ Handle the EConvertError exception }

on EConvertError do

ShowMessage('One of the values is invalid.');

on EDivByZero do

begin

ShowMessage('This value can''t be 0.');



Edit2.Text := '1';

Edit2.SetFocus;

end; // Завершение конструкции

on EDivByZero do end;

end;

ЗЕРТХАНАЛЫҚ ЖҰМЫСТАРДЫ ЖҮРГІЗУГЕ

АРНАЛҒАН ӘДІСТЕМЕЛІК НҰСҚАУЛАР
Зертханалық жұмыс №1
Тақырыбы: Delphi программалау ортасымен танысу
Мақсаты: Delphi ортасының жұмысына жалпы сипаттама
Қолданылатын материалдар мен құрал- жабдықтар:

Компьютер, Delphi программалау ортасы
Теориялық түсініктеме:

Delphi ортасы-программист жұмысының өте жоғары тиімділігін қамтамасыз ететін орта.



Delphi ортасын шақырғаннан кейін ортаның жұмысын басқаратын алты негізгі терезе шығады. (1.1.-сурет).

  1. негізгі терезе;

  2. объектілер тармағының терезесі;

  3. объектілер инспекторының терезесі,

  4. броузер (көру) терезесі;

  5. формалар терезесі;

  6. программа кодының терезесі.

Программа кодының терезесін көру үшін Ғ12 клавишін басу жеткілікті. Delphi-ді алғаш шақырғаннан кейін «Delphi» терезесі барлық терезесінің үстіне шығады. Осы терезенің көмегімен Inprise коорпарациясының WEB –беттеріне кіруге мүмкіндік туады.

1

4


2
5

3

6
1.1–сурет. Delphi ортасының интерфейсі.



Негізі терезе. Негізгі терезе құрылатын программаның жобаларын басқаратын негізіг қызметті атқарады. Бұл терезе экранда барлық уақытта болады және ең жоғарғы бөлігінде орналасады. Негізгі терезеде . Delphi ортасының бас менюі, пиктографиялық командалық батырамалар жиынтығы, компоненттер палитрасы орналасқан.

Бас меню жобаны басқаруға арналған барлық қажеті командалардан тұрады. Бас менюдің барлық опциялары екінші деңгейде ашылатын опциялар тақырыбын қамтиды.

Бас терезенің барлық элементтері арнайы панельдерінде орналасқан, оның сол жақ бөлігінде басқару батырмалары бар. Бас менюден басқа кез келген панельді терезеден алып тастауға болады.

Панельде көрінетін батырмалардың құрамын өзгерту үшін оған курсорды келтіріп, тышқанның оң жақ батырмасын басу жеткілікті. Бұдан кейін ашылған көмекші меню терезесінде барлық паенльдердің аттары келтірілген және олардың статусы көрсетілген (жалаушалар). Олардың ішінен Customize –ды (настройка, баптау) таңдағанан кейін баптау терезесі пайда болады. Енді қажет емес батырмаларды алып тастауға да болады, Commands терезесіндегі тізімнен қажетті батырмаларды таңдап, оны экранға тасып апаруға болады.

Негізгі терезеге жиі пайдаланатын пиктограммаларды ораластырған ыңғайлы: Project\Syntax Chek -программа командаларының синтаксисін тексеру; View\Debug Windows\Watches –отладкалық режимді бақылау терезесіне кіру және т.б.

Пиктографиялық батырмалар

Пиктографиялық батырмалар бас менюдің негізгі опцияларына жылдам кіруге мүмкіндік береді. Олар басқару белгілері бойынша 7 топқа бөлінген. әрбір топ панельге орналасады:



  1. Standard тобы;

  2. View тобы;

  3. Debug тобы;

  4. Custome тобы;

  5. Desktops тобы;

  6. Internet тобы.

Галерея компоненттерінің тобы жеке қарастырылады.

Терезелерді түзету

Delphi ортасының 5-нұсқаларынан бастап, үш жаңа интерфейстік элементтерден толықтырылған, олар Desktops тобында орналасқан.осы инструменттің көмегімен программист Delphi-дің қалған терезелерінің орналасуының бірнеше варианттарын дайындап, оны түзету файлына сақтап қоюына болады. Әдетте екі немесе үш терезенің негізіг конфигурациясы таңдалынады: форма жасау режимі, кодтау режимі және отладка. Форма жасау кезінде экранда форманың өзі, объектілер тармағы мен объектілер инспекторы терезелері көрініп тұруы тиіс.

Терезелердің сәйкес өлшемі мен оны орналастырудың кейін келтірілгенннен кейін, оны мысалы, “Design desk” деген атпен сақауға болады. Кодтау режимін түзеткеннен кейін “Code desk” отладкалық режимді “Debug desk” деген атпен сақауға болады.

Delphi ортасының компоненттер палитрасы

Компоненттер палитрасы- Delphi ортасының ең басты байлығы болып табылады. Ол негізгі терезенің оң жақ бөлігінде орналасқан және онда қажетті компонентті жылдам іздеуді қамтамасыз ететін ашылатын беттері бар. Компонент деп белгілі бір қасиеті бар, програмист формалар терезесіне орналастыра алатын қандай да бір басқару элементін түсінеміз. Компоенттердің көмегімен программаның сүлбесі (каркасы) жасалады, жалпы жағдайда экранда көрінетін терезелер, батырмалар, таңдаулар тізімі және т.б.

Батырмалар паенлі тәрізді, компоенттер палитрасы да түзетіледі. Ол үшін арнайы компоненттер палитрасындағы кез келген пиктограммаға курсорды келтіріп, тышқанның оң жақ батырмасын басқанда және Properties опциясын таңадағанда пайда болады.

Формалар терезесі

Формалар терезесі Windows жобасы - болашақта програма жазатын терезе болып саналады. Басында бұл терезе бос болады. Дәлірек айтсақ, ол Windows -дің интерфейстік элементтері үшін стандартты жүйелік менюді шақыру батырмаларын, терезені үлкейту, кішірейту, жабу батырмаларын және тақырып жолынан тұрады. Әдетте, терезенің жұмыс алаңы нүктелік координаталық тормен толықтырылған, ол формадағы компоенттердің орналасуын ретеу қызметін атқарады (бұл нүктеерді алып тастау үшін Tools/Environment Options меню командаларының көмегімен, Preferences қоймтасындағы Display Gird ауыстырып қосқышындағы жалаушаны алып тастау қажет).

Объектілер тармағының терезесі

Бұл терезе екпінді формада немесе мәліметтердің екпінді модулінде орналасқан жеке компоенттер арасындағы байанысты көрнеі бейнелеуге арналған. Терезедегі кез келген компонетті белгілеу формалар терезесіндегі сәйкес компонентті екпінді жасайды және объектілер инспекторы терезесінде осы компоненттің қасиеті бейнеленеді. Екі рет тышқанмен белгілеу Code Insight механиімінің жұмыс істеуіне әкеледі, ол On Click оқиғкасын өдеу үшін дайындалғанды код терезесіне орналастырады.



Объектілер инспекторының терезесі

Формаға орналасатын кез келген компонент бірқатар параметрлер жиынымен сипатталады: орналасуы, өлшемі, түсі және т.б. Мысалы, компоненттің орналасуы мен өлшемін программист формалар терезесінде компоентті басқара отырып, өзгерте алады. Ал, объектілер инспекторы терезесі қалған өзгертулерді орындауға арналған. Бұл терезеде екі бет бар: Properties (Қасиет) және Events (Оқиға). Properties беті-компоенттің керекті қасиеттерін тағайындау қызметін атқарады, Events беті-қандай да бір оқиғаға компоенттің жауабын анықтайды.

Объектілер инспекторы терезесінің кез келген беті екі бағанды кесте түрінде беріледі, сол бағанда қасиеттің нақты мәні немесе сәйкес оқиға өдейтін қосалқы программаның аты болады.

Кесте жолының оң жақ бағанын тышқанмен белгілеу ондағы көрсетілген қасиеттің мәнін екпінді жасайды, бұдан жолдың оң жақ шетінде үш нүкте (...) немесе батырмаларының бірі пайда болады. Үш нүкте (....) батырмасын белгілеу күрделі қасиеттің мәнін тағайындайтын сұхбат терезесін экранға шығарады, батырмасын белгілеу қарапайым қасиеттің мүмкін болатын мәндердің тізімін шығарады. Объектілер инспекторы терезесінің жоғарғы бөлігінде формада орналасқан барлық компонентерінің ашылатын тізімі орналасады. Форманың өзі де компонент болғандықтан, оның аты да осы тізімде болады.

Тышқанның оң жақ батырмасын басқанда ашылатын терезенің контекстік менюінде терезені түзетуге мүмкіндік беретін опциялар бар. Мысалы, Stay On Top командасын таңдағаннан кейін, Объектілер Инспекторы терезесі, оның екпінділігіне тәуелсіз басқа терезелердің үстінде «қалықтап» жүреді.

Программалар коды терезесі

Код терезесі –программа мәтінін құрып, жөндеуге арналған. Бұл мәтін арнайы ереже бойынша құрылады және программаның жұмыс алгоритмін сипатайды. Мәтінді жазу ережелерінің жиынтығы программалау тілі деп аталады. Delphi жүйесіне Объект Pascal программалау тілі пайдаланылады. Ол кеңнен таралған PascaІ тілінің кеңейтілген, жетілдірілген нұсқасы, оны алғаш рет швецариялық ғалым Н.Вирт 1970 жылы ұсынған және оны Borland коорпорациясының қызметкерлері жетілдірілді (олардың құрған тілдері Turbo Pascal, Borland Pascal және Object Pascal деп аталады).

Ең алғашында Код терезесіне толыққанда Windows терезесі ретінде бос форманы басқаруды қамтамасыз ететін алғашқы шағын мәтін шығады. Жобамен жұмыс барысында программист оған программаны басқаруды жүзеге асыратын алғашқы толықтырулар жасайды.

Тіпті қарапайым программа құру үшін программа кодын құрып өзгертуге, жөндеуге тура келеді, төменде код терезесімен жұмыс істеудің негізгі тәсілдері келтіріледі. Жаңа жобаны ашқаннан кейін төмндегідей жолдар көрінеді:

Unit Unit1;

Interface

Uses Windows, Messages, SysUtils, Classes, Graphics,

Controls, Forms, Dialogs;



Type

TForm1=class(Tform)



Private {Private Declartions}

Public{Public Declarations}

End;

Var Form1:TForm1;



Implementation

{SR*.DFM}

End.

Delphi бұл жолдрды жаңа форма үшін код терезесіне авторматты түрде қояды. Код терезесі программаның жұмысы басталғаннан кейінгі жағын қарастырады. Ал форма терезесі оның сыртқы көрінісі. Екі терезе бір-бірімен тығыз байланысты, Delphi ортасы



Unit Unit1;

және


Implementation

жолдрының арасына қажетті жолдарды қояды.

Әзір бұл мәтін бөлігіне өзгеріс енгізбейміз. Кейінірек программаның мәтін терезесіне

{SR*.DFM}

Және

End.


жолдарының арасына қажетті мәтінді енгіземіз. Терезеге жаңа жол енгізу үшін қажеті орынға курсорды келтіріп, клавиатурадан мәтін енгіземіз. Программадағы кеткен қатені жөндеу BS және Delete клавиштарының көмегімен жүзеге асырылады. Егер толық жолды өшіру қажет болса, онда CTRL+Y клавиштер комбинациясы басылады. Мәтіндегі соңғы өзгерісті алып тастау үшін (отмена) CTRL+Z немесе менюден Edit/Undo командадлары пайдаланылады. Код терезесімен бірге әдетте, Code Exploler броузер терезесі де екпінді болады, ол терезеде кодтың жолдары көп болған жағдайда керекті элементті іздеуді жеңілдету үшін пайдаланылады.

Броузер терезесіндегі элементті тышқанмен екі рет белгілеу сәйкес объектіні сипаттау үшін код терезесіне курсорды орналастырады немесе оны алғашқы сақтау кезінде орындалады.

Аса күрделі емес оқу програманларын құруда броузер терезесін жауып қоюға болады. Броузер терезсін шығару үшін View Explorer терезесін таңдаймыз.

6-нұсқада код терезесінің «Code» және «Diagram» еген бетері бар. Алғашқыда бұл бет бос болады, оны толтыру үшін Инспектор терезесінен компоненттік байланыстыратын тышқанмен тасымалдап әкелу қажет. Диаграммалар өрісіне компенттрді тасымалдауда SHIFT клавишін басып ұстап тұрып, қажетті орынға қойғаннан кейін, тышқанның сол жақ клавишін басу жеткілікті. Диаграммалар бетін басып шыаруға болады.


Тапсырма:

Келесі әрекеттерді орындайтын программа құру:



  1. Программаны жүктегеннен кейін келесі терезе ашылу керек


2. Программадан шығу үшін тыщқан батырмасын ЗАКРЫТЬ батырмасына шертіңіз
Тапсырманы орындауға әдістемелік нұсқаулар:

1. Жаңа жоба құрыңыз

2. Формаға келесі компоненттерді орналастырыңыз: Label және Button.

3. Келесі әрекеттерді орындаңыз:



Объект

Object Inspector терезесінің қатпары

Қасиет атауы/ оқиға атауы

Әрекет

Form1

Properties

Caption

Форма атауын тағайындаңыз «Проект1»

Label1

Properties

Caption

«Моя первая программа» мәтінің шығару

AutoSize

Қасиетке TRUE мәнің тағайындау

Font->Color

clPurple түсін таңдау

Button1

Properties

Events


Caption

Батырма атауын «Закрыть» деп тағайындау

OnClick

Close;

4. Жобаны сақтаңыз, жүктеңіз, тексеріңіз.


Ұсынылатын әдебиеттер: [1-9]
Бекіту сұрақтары:

    1. Delphi ортасының жұмысы қалай басқарылады?

    2. Негізігі терезенің атқаратын қызметі қандай және ол қандай бөлімдерден тұрады?

    3. Пиктографиялық батырмалардың қызметі қандай және олар қаншаға бөлінген? Қалай аталады?

    4. Компонент дегеніміз не?

    5. Delphi ортасының компоенттер палитрасының қызметі қандай?

    6. Форма терезесінің міндеті не?

    7. Объектілер тармағы терезесі қандай қызмет атқарады?

    8. Объектілер инспекторы терезесі қандай қызмет атқарады?

    9. Программалар коды терезесінің қызметі қандай ол форма терезесімен қалай байланысады?

    10. Программалар коды терезесі ашылғанда Delphi ортасы қандай жолдары авторматты түрде шығарады?

    11. Броузер терезесінің қызметі не және ол қалай шақырылады?


Зертханалық жұмыс №2
Тақырыбы: Визуалды программалау негіздері
Мақсаты: Delphi ортасының жұмысына жалпы сипаттама
Қолданылатын материалдар мен құрал- жабдықтар:

Компьютер, Delphi программалау ортасы
Теориялық түсініктеме:

Delphi – де программалау екі процестің өзара тызыз әрекеттесуінен тұрады: прогамманың визуалдық көрінісін құру және программаға толық қажетті басқаруды беру үшін программа кодын жазу процесі. Код жазу үшін клд терезесі пайдалынылады, программа құру үшін қалған терезелер, оның ішінде форма терезесі пайдалынады.

Форма мен код терезесінің мазмұның арсында үздіксіз байланыс болады. Формаға компонентті орналастыру программа кодының автоматты өзгеруіне әкеледі және керісінше автоматты немесе қолмен қойылған код фрагменттерін өшіру сәйкес компоненттерді өшіруге әкеледі. Сондықтан програмистер алдымен форма құрады, қажет болған жағдайда код фрагментін жазуға көшеді. Сондықтан, біз Delphi – де программалауды формалар терезесінен бастаймыз.
Бос форма және оны түрлендіру

Біз формалар терезесі, прогаммалар терезесі Windows жобасыннан тұратынын айттық. Сөйтіп File/New/Application опциясын таңдағаннан кейін қарапайым программа дайын болды. Дегенмен, бұған дейін: өзіңіз жұмыс істейтін каталогты құрып, Delphi – дің күйін келтіру (баптау) қажет.


Delphi – ді баптау

Программалар жобасымен жұмыс істеу процесінде сізге формалар мен модульдер жиындығын құру қажет. Бұл мәліметтерді жеке папкада файлдар түрінде сақтаған дұрыс. Оның ішінде өзініздің жұмыс папканызды құруға болды. «My_fist_program» деген атпен папка құрыңыз, оның ішіне өздерініздің программанызды сақтайтын папка құрыңыз.

Екіншіден, Delphi ортасының стандартты келтірілген күйіне өзгеріс енгізу қажет. Бұл сіздің құрған программаңыздың соңғы нұсқасының автоматты түрде сақталу үшін керек.

Ол үшін Tools/Environment Options менюін таңданыз, пайда болған сұхбат терезесінде Preferences бетінің екеніне назар аударыңыз. Осы беттің сол жақ жоғарғы бұрышында Autosave Options тобында “Editor Files”және “Desktop” деген ауыстырып қосқыштары бар. Ауыстырып қосқыштары екпінді жасау- программа коды терезесінің мәтінін және Delphi терезесінің жалпы орналасуын автоматты түрде сақтайды. Бұл программаны жоғалудан қорғайды. Тышқанмен белгілеу арқылы осы ауыстырыа қысқыштарды екпінді жасаймыз. Компиляция барысын қадағалап отыру үшін Compiling және Running тобындағы Show Compiler Progress ауыстырып қосқышын екпінді жасаңыз. Сондай –ақ, программа кодына түсіндірмені – мәтін фрагменттерін сақтауға болады, ол программа жұмысына әсер етпейді, бірақ оның мәтінін түсінікті етіп көрсетеді. Мәтін шығару үшін шрифті тағайындау қажет:

Tools/ Editor Options Display бетінде Editor Font–қа Times New Roman шрифт түрін тағайындау қажет.

Енді алғашқы программаны жүргізуге бәрі дайын болды. Негізі  терезеден батырмасын немесе F9 басқару клавишын басыңыз. Сонымен, Delphi ортасындағы программа үш кезеңнен өтеді: компиляция – компоновка – орындау.

Компиляция кезеңінде код терезесінде дайындалған программа мәтіні Object Pascal тіліне ауыстырылады; комппоновка кезеңінен дайын программа жедел жадыға шақырылып, орындалуға жіберіледі.

F9 клавишін басқаннан кейін Save Unit1 As сұхбат терезесі пайда болады, яғна Delphi Unit1.pas модулі үшін файлдфң аты мен ол орналысатын папканың атын сұрайды, сондай-ақ, модульдің де атын өзгерту қажет (немесе әрбір есепке жеке папка ашып, Save All командасы арқылы бәрін сақтаған дұрыс).



Delphi- дегі атаулары. Delphi- дегі атау латын әріптерінен басталатын әріптер, цифрлар және сызғыш болуы тиіс, атау цифрдан басталуы керек, ұзын атау бере беруге болады.
Форманың қасиеттерін өзгерту

Алдымен модуль ұғымына тоқталайық. Әрбір жаңа форма құрғанда модуль құрылады. Программаны компиляциялау кезінде Delphi заты .PAS, .DFM және .DCU болып келген файлдарды әрбір модуль үшін құрады: .PAS файл- программа коды терезесіндегі мәтін көшірмесінен тұрады; заты -.DFM файылында форма терезесінің мазмұны сақталады; ал файылында – екі файлдан алынған мәтінді машиналық нұсқауға түрлендіру нәтижесі сақталады. .DCU файлдары компилятормен құрылады және ол компоновщиктің жұмысы үшін қажетті базаны береді. Одан кейін ол заты .EXE болып келген біртұтас шақырылатын файлға түрленеді. Енді программаны түрлендіру көрейік, алдымен терезе тақырыбын өзгертейік. Алғаш Delphi жүйесіне кіргеннен кейін, терезе тақырыбы форма тақырыбына сәйкес келеді. Тақырыпты өзгерту үшін Объектілер Инспекторы терезесіне беру қажет. Form1 программасының терезесін жабыңыз. Объектілер Инспекторы терезесінің Caption жолын тышқанмен белгілеңіз. Осы жолдың оң жағында жыпылықтаған курсор болады. Клавиатураны кириллицияға ауыстырып, «программа» деп жазыңыз, одан кейін F9 ды басыңыз. Программаның бұл орындалуы – тақырыбы «программа» деп аталатын терезе құру. Объектілер Инспекторы терезесі арқылы программалар терезесінің бір қасиетін – тақырыбын өзгертейік. Дәл осылай формалардың кез келген қасиетін өзгертуге болады.


Формаға жаңа компоненттер орналастыру
Формаға жаңа компонент орналастыруды қарастырайық. Ол үшін алдымен орналасатын компонентті таңдау қажет, одан кейін форма терезесіндегі компонент орналасытын орынды тышқанмен белгілеу жеткілікті.

Енді программалар терезесіне әртүрлі жазуларды, түсініктемелерді орналастыруға арналған Label(белгі) компонентін орналастырайық. Алдымен, компоненттер политрасынан Standard бетінің ашылғанына көз жеткізу қажет. Курсорды әрбір компоненттің үстінен жүгізгенде оның аты жазылады. Компоненттер политрасына курсорды келтіріп, тышқанмен белгілейміз, одан кейін форма терезесінде белгінің орнын көрсетеміз.

Жаңа компоненттің стандартты аты Label1, батырмадағы жазудың да аты осындай болады. Объектілер Инспекторы терезесіндегі жолының көмегімен бұл жазуды оңай өзгертуге болады: «программа N1» деп енгіземіз. Бұл енгізілген жазу формадағы компоненттен көрінеді.

Енді жазудың түсі мен шрифті өзгертейік. Ол үшін Объектілер Инспекторы терезесіндегі Font қасиетін тышқанмен белгілейміз, батырманың көмегімен жолдың оң жақ бөлігінен шрифті түзететін сұхбат терезесі ашылады. Size тізімінен шрифтің өлшемін 24, Color тізімінен қажетті түсті таңдаймыз. ОК батырмасымен терезені жабамыз. Форма терезесіндегі компоненттегі жазу өзгеруге сәйкес қасиетін өзгертеді.


Оқиғаны жауапты қалыптастыру

  1. Формаларды түрлендіру. Алғашқы программаға кезекті түрлендіруді жасайық: формаға тағы бір компонент орналастырайық. Мысалы, батырманы алайық, ол тышқанның оң жақ батырмасын басуға байланысты басуға байланысты оқиғаға жауап беретін болсын. Батырма компоненті Standard бетінде компоненттер политрасында пиктограммасымен бейнеленеді. Бұл компоненті форма терезесіне белгінің төмен жағына орналастырайық.

  2. OnClick оқиғасын өндеуші. Тышқанның сол жақ батырмасын басқанда жұмыс істеп тұрған программада OnClick оқиғасы пайда болады. Әзір бұл оқиға программамен ешқандай өнделмейді, сондықтан батырманы басу ешқандай нәтиже бермейді. Батырма басылғанда жауап беруді жүзеге асыру үшін Object Pascal тілінде программа фрагментін жазу қажет, ол оқиғаны өндеуші деп аталады. Бұл фрагментте программист батырма басылғанда программаның не істейтін мәтіндік жолдар тізбегі жазылады. Фрагмент Object Pascal–дің арнайы қосалқы программасы – процедура түрінде өрнектеледі.

Delphi OnClick оқиғасын өңдеу процедурасына дайындықты өз бетімен жасау үшін компонетті тышқанмен жылдам екі рет белгілеу қажет. Нәтижесінде Код терезесіндегідей мәтін фрагменті болады:

Procedure Tform1.Button1Click (Sender:Tobject);

Begin
End;
Енді фрагметті талдайық. Procedure сөзі компиляторға қосалқы программа – процедурасының басы жөнінде хабарлайды. Delphi ортасында сондай-ақ, қосалқы программа – функция пайдалануы мүмкін, бұл жағдайда Function сөзі пайдалынады. Одан кейін: Tform1.Button1Click процедураның аты жазылған. Атау құрама сөзден тұрады: Tform1-класс атауы; Button1Click процедураның атауы. Енді класс дегеніміз не? Delphi ортасына класс деп өзіне ұқсас экземпляр (көшірмесі) құрудың үлгісі қызметін атқараты, аяқталған программа фрагменттін айтады. Программист класс құрғаннан кейін оны бірнеше программаға немесе бір праграмманың бірнеше жеріне қоюға болады. Delphi – дің құрамына Borland коорпорациясының программистері құрған стандартты класстар деп аталатын бірнеше жүз класстар кіреді. Стандартты кластар жиындығы осы программалау жүйесінің қуаты мүмкіндіктерін анықтайды. Әрбір компонент белгілі бір класқа жатады, ал формаға қойылатын компоненттердің барлық нақты экземпляры сандық индексі бар класс атауын алады. Пайдаланып отырған Delphi ортасында кластардың барлық атауларын Т әріпінен бастау келісілген. Сөйтіп, Tform атауы Tform стандартты класс үлгісі бойынша құрылған кластың атын білдіреді. Код терезесіндегі мәтіннің басына назар аударыңыздар, төмендегідей жолдар көрінеді:

Type Tform1=class(Tform)

Button1:Tbutton;

Label1:Tlabel;

Procedure Button1Click (Sender:Tobject);

Private


{Private declarations}

Public


{public declarations}

End;


Var

Form1:Tform;


Tform1=class(form) жолы Tform стандартты класынан туған (үлгі бойынша құрылған) Tform1 жаңа класын анықтайық. Ал, Form1:TForm1 жолы осы кластың Form1 атты экземплярын (көшірмесін) құрады. Стандартты TForm класы бос Windows терезесін сипаттайды, сонымен бірге TForm1 – белгі және батырма компоненттері қойылған терезені сипаттайды. Бұл компоненттерді сипаттайтын жолдар:

Button1:TButton;

Label1:TLabel;

Мұндағы Button1 компоненті TButton стандартты класының экземпляторы; ал Label1 компоненті Tlabel стандартты класының экземпляторы.

TForm1.Button1Click процедура атауынан кейін дөңгелек жақшаға параметірді шақыру сипатталған:

Sender:Tobject;


«Sender» атты параметр Tobject класына жатады. Sender параметрі Delphi ортасына барлық жағдай үшін қойылған: оның көмегімен Button1Click қосалқы прогаммасы OnClick оқиғасы қандай компонент құрғанын анықтап береді. Жол толығымен

Procedure Tform1.Button1Click (Sender:Tobject);

процедураның тақырыбы деп аталады. Object Pascal типінде «;» белгісі тілдің сөйлемнің аяқталғандығын компиляторға хабарлайды. Программа мәтіні жеке сөйлемдерден құралады. Әрбір сөйлемнің сонына нүктелі үтір қойылады. Төмендегі үш жол процедура денесін анықтайды:

Begin


End;

Begin сөзі компиляторға процедураның жұмыс алгоритмін сипаттайтын сөйлемдер тізбегінің бастамасы екені туралы белгі береді, ал End сөзі осы тізбектің соңын білдіреді. Біздің жағдайда процедура денесінде ешқандай сипаттама жоқ: Delphi процедура жазуға дайындықты құрып береді. Программист процедура денесін қажетті сөйлемдермен толтырады. Button1 батырмасын әрбір басқан сайын басқару процедура денесіне беріледі, яғни Begin және End сөздерінің арасына оқиғаға жауап ретінде орындалатын программа фрагменті жазылады. Біздің жағдайда батырма қандай да бір дыбыс шығару үшін Begin ... End сөздерінің араларына төмендегі сөйлемді жазайық:

MESSAGEBEEP(MB_OK);

Компьютердің дыбыстық жүйесі алдын-ала қосып, прграммасын орындайық. Сонымен, Button1 батырмасын басқанда компьютер дыбыстық сигнал береді, яғни процедура денесіне қойылған жол стандартты процедураны орындайды.



Компонент қасиеттерінің динамикалық өзгерісі

Біздің програмадағы Button1 батырмасы дыбыс шығаратын болғандықтан, Button1 – ге «дыбыс» сөзін меншіктедік. Мұны фромалалар терезесімен объектілер инспекторы терезесінің көмегімен орындауға болады, яғни форма құру кезегінде (Объектілер Инспекторы терезесінде Button1 компонентінің Caption қасиетін өзгерту жеткілікті) жүзеге асыруға болады. Бірақ Delphi ортасымен толығырақ танысу үшін басқа тәсілді – программаны жүргізу кезенінде жазуды динамикалық түрде өзгертуді қарастырайық. Ол үшін формаға арналған OnCreate оқиғаны өндеушіні құрамыз да, ондағы қасиетті өзгертеміз.



OnCreate оқиғасы Windows терезесі құрғаннан кейін пайда болады. Оқиға өндеушіні құру үшін Объектілер Инспекторы терезесінің жоғарғы бөлігіндегі компоненттер тізімін ашыныз. form1 компонентін таңдап, Events бетінде осы компоненттің OnCreate қасиетін жылдам екі рет тышқанмен белгілеу қажет (OnCreate жолының оң жақ бөлігін белгілеу қажет). Delphi бұған жауап ретінде код терезесін екпінді жасап, Tform1.formCreate процедурасына арналған дайындығын ұсынады. Процедураға төмендегідей өзгеріс еңгізейік:

Procedure Tform1.formCreate (Sender:Tobject);

Begin

Button1.Caption:=’дыбыс’;



End;

Бұл программа фрагментіне еңзізген жолымыз Object Pascal тілінің меншіктеу операторы. Оператордың сол жақ бөлігінде Button1. Caption қасиеті көрсетілген ал оның оң жақ бөлігінде – «дыбыс» мәні көрсетілген. Оператордың екі бөлігін меншіктеу белгісі «:=» байланыстырып тұр.

Button1.Caption құрама атауы қандай қасиет туралы айтылып жатқаның компиляторға дәл көрсету үшін қажет: біздің программада үш компонент пайдалынады олардың әрқайсысының Caption қасиеті бар. Button1 прификсі батырманың қасиетін өзгертеді. Қасиетке меншіктелетін мән мәтіндік жол болып табылады. Object Pascal тілінің ережесі бойынша мәтіндік жол апострофқа алынып жазылады. Апостроф ішіне кез – келген синволдар тізбегін жазуға болады, ол батырмадағы жаңа жазуды анықтайжы. Программаның кезекті орындалуынан кейін батырмадағы жазудың өзгергенің көреміз. Бұдан шығатын қорытынды: кез келген компонентің кез келген қасиетін программаның орындалуы барысында динамикалық өзгертуге болады.

Қорта келгенде, Delphi – де программа құру процесі екі кезеңге бөлінеді: форма құру және кодтау.

Форма құру палитрадан компоненттерді таңдап, оны формаға орналастырудың көмегімен жүзеге асырады.

Програмист формаға орналасқан кез келген компоненттің орның және тышқаннның көмегімен өлшемін өзгертуге болады.

Компонетке қажетті қасиетті беру үшін Объектілер Инспекторы терезесінің Properties беті пайдалынады. Компонент қандайда бір оқиғаға жауап беру үшін програмист оқиғаны өндеушіні құруы қажет және оның аты Объектілер Инспекторы терезесінде Events бетінде көрсетілуі тиіс.

Оқиғаны өндеуші құрама атауы бар процедура түрінде бейнеленеді. Атаудың бірінші бөлігі формаға арналған класс атын білдірсе, екінші бөлігі атаудың бірінші бөлігінен нүкте арқылы бөлінеді және ол еркін болуы мүмкін.

Процедура денесі Begin ... End сөздерінің арасында орналысады және Object Pascal тілінің жеке сөйлемдерінен (операторларынан) тұрады. Әрбір оператор соңына нүктелі үтір қойылады.

Компоненттің қасиеттері программаны жүргізу кезеңінде де өзгеруі мүмкін.


Тапсырма:

Тапсырма №1.

Келесі әрекеттерді орындайтын программа құр:



  1. Программаны жүктегеннен кейін «Брось кубик» жазуы көріну керек



  1. «Бросок кубика» батырмасына басқаннан кейін, 0-6 диапазонындағы кездейсоқ сан көріну керек.


жүктеу 10,41 Mb.

Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   29




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау