Батырмалармен жұмыс.
Мақсаты: 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;