Батырмалармен жұмыс.

 

Мақсаты: TButton  компоненттімен танысу, олардың қасиеті мен мәні білу.   

Батырма (TButton)

Батырма Delphi-да TButton объектісінен құралады. Берілген компонентті формаға орналастырғанда оған өз қалпы  бойынша Button1 атын меншіктейді.   Button компонентінің қасиеті:

 

Қасиет

Мазмұны

 

Name

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

 

Caption

Батырмада мәтін

 

Enabled

Батырмаға қол жеткізудің белгісі.Батырма қол жеткізілімді, егер қасиеттің мәні  True-ге тең болса және қол жеткізілмейді, егер қасиеттің мәні False-ке тең болса.

 

Left

Батырманың сол шегінен форманың сол шегіне дейінгі арақашықтық 

 

Top

Батырманың жоғарғы шегінен форманың жоғарғы шегіне дейінгі арақашықтық

 

Height

Батырманың биіктігі

 

Width

Батырманың ені

 

 

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

Батырманы таңдап және объектілер инспекторына көшеміз.  Мұнда батырманың қасиеттері көрсетілген. Батырманың  тақырыпшасын өзгертейік, батырманың тақырыпшасына Caption қасиеті жауап береді. Caption қасиетін табыңыз және сонда бар  «Мені бас» деген мәтінді өзгертіңіз. Батырмадағы  Name қасиетін кез келген компонентпен өзгертейік және формаларға түсінікті аттар берейік. Name қасиетін табыңыз және оны MyFirstButton-ке өзгертіңіз.

Программаны іске асырып көрейік (F9 пересіне басыңыз). Батырманы басуға болады, бірақ ештене болмай жатыр.

Мысалды қиындатайық және батырмаға басқан кезде оқиғаны ұстайық. Ол үшін Events бетіне көшейік. Батырма үшін тышқанның басуына  OnClick оқиғасы жауап береді. Оны тауып, оны екі рет шертіңіз.  Delphi кодтың редакторында процедураны құру тиіс -  OnClick оқиғасының өндеуі. Өз қалпы бойынша оған компоненттің аты түрінде ат қойылады (біздің батырмаларымыз) оған қоса,  On қойылымсыз оқиғаның аты. Біздің жағдайымызда өндеудің процедурасының аты MyFirstButtonClick болып шығады.

 

procedure TForm1.MyFirstButtonClick(Sender: TObject);

begin

end;

 

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

Кодтың редакторына оралайық және Delphi  MyFirstButtonClick  процедурасын құрастырғанын қарайық, оған TObject  объект типінің Sender параметрі көшіріледі. Процедураны орындай бастағанда Sender айнымалысында осы өндеуді шақырған объектіге көрсеткіш болады. Бұл өте маңызды, себебі бір процедура өндеу бір мезгілде бірнеше батырмаларды басылуы мүмкін немесе мүлдем әр түрлі типті компоненттер. Бұл айнымалының ішіндегі бойынша қандай компонент оқиғаны орындаған екендігін білуге мүмкіндік береді. Процедураның ішінде (begin мен end арасына) Close командасын жазайық. Бұл команда терезені жабады. Енді процедура былай болуы керек:

 

procedure TForm1.MyFirstButtonClick(Sender: TObject);

begin

Close;

 end;

 

Программаны іске асырып көрейік және батырманы басайық. Программа жабылады.

 

Батырманың қасиеті (логикалық операциялар)

Мысалы программаның бір батырмасы болады. Тышқанды оған апарсақ, батырма қашады.

Алдыңғы мысалды пайдаланып, оны жақсартайық. Алдымен форманы таңдап, формда автоматты түрде айналдырудың сызықтары пайда болмау үшін AutoScroll қасиетін False-ке өзгертейік..

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

 

procedure TForm1.MyFirstButtonMouseMove(Sender: TObject;   Shift: TShiftState; X, Y: Integer);

begin

end;

 

Процедурада келесілерді жазыңыз:


procedure TForm1.MyFirstButtonMouseMove(Sender: TObject;   Shift: TShiftState; X, Y: Integer); var index:integer;

begin  index:=random(4);  case index of

0: MyFirstButton.Left:=MyFirstButton.Left+MyFirstButton.Width;

1: MyFirstButton.Left:=MyFirstButton.Left-MyFirstButton.Width;

2: MyFirstButton.Top:=MyFirstButton.Top+MyFirstButton.Height;

3: MyFirstButton.Top:=MyFirstButton.Top-MyFirstButton.Height; end;

 if MyFirstButton.Left<0 then     MyFirstButton.Left:=0;

 if (MyFirstButton.Left+MyFirstButton.Width)>Form1.Width then      MyFirstButton.Left:=Form1.Width-MyFirstButton.Width;

 if MyFirstButton.Top<0 then   MyFirstButton.Top:=0;

 if (MyFirstButton.Top+MyFirstButton.Height)>Form1.Height then      MyFirstButton.Top:=Form1.Height-MyFirstButton.Height; end;

 

Программаны іске асыр және батырманы шертіп көр. Тышқанды оған апарсаң, батырма сенен қашады.

 Var тарауында бір бүтін сан типі  index  айнымалысы пайда болды. Осы айнымалының бірінші жолында random:  index:=random(4) функциясы көмегімен кездейсоқ сан меншіктеледі.

random  функциясы кездейсоқ санды қайтарады. Жалғыз параметр бойынша оған максималды мүмкін кездейсоқ санды білдіретін санды беру керек. Бұл жағдайда саны беріледі.  Бұл функция нөлден төртке дейінгі санды (0<=X<4) қайтаратынын білдіреді. Төрт санның өзі мүмкін мәндер диапазонына кірмейді, барлық кездейсоқ сандар одан кіші болады.

Содан кейін қандай сан random функциясын конструкцияның көмегімен орындалғаны тексеріледі:

 

case Айнымалы of

Мән1: Әрекет1;
Мән2: Әрекет2;



end;