Програмиране на събития

Страницата е създадена на:29 януари 2019 и редактирана на:29 януари 2019

Визуалните компоненти, които поставяме върху формите, са предназначени за използване от потребителите на програмата, която създаваме с Lazarus. Например: Бутоните (визуалните компоненти от тип TButton) се поставят за да щракват потребителите с мишката върху тях, полетата за въвеждане на текст (тип TEdit), за да въвеждат кратки текстове, числа или други данни.

Действията, които потребителите извършват върху визуалните компоненти се наричат събития. Събитията се означават с думи, започващи с предлога on: onClick - кликване с мишката, onKeyPress - натискане на клавиш върху клавиатурата и т.н.

Алгоритмите, за изпълнение на които е предназначена дадена програма, се стартират именно от събития, предизвикани от потребителите. Ето защо, работата на програмистите до голяма степен се състои в писане на процедури, които се стартират при определени събития.

За всеки тип визуални компоненти има множество от събития, които потребителят може да предизвика при използването й. Списък на тези събития се вижда в частта Events на прозореца Object Object, когато се маркира визуална компонента върху формата.

Процедура, която ще се изпълнява при възникване на събитие се създава чрез двойно щракване с мишката в полето срещу името на събитието. Така се отваря редактора за код, в който Lazarus автоматично вмъква необходимите декларации.

Както се вижда тази процедура представлява метод на обекта от тип TForm1 - прозорецът, върху който се изобразява визуалната компонента. Името на процедурата е образувано от името не визуалната компонента: Button1 и на събитието Click.

Между служебните думи begin и end; се вмъкват изпълними оператори, които да реализират алгоритъма, който се предвижда да се изпълни, когато потребителят щракне с мишката върху бутона. Например, ако това ще е бутон за затваряне на прозореца, пишем изпълним оператор, който извиква метода Close на прозореца.

Нека да обърнем внимание, че декларация procedure TForm1.Button1Click(Sender: TObject); се добавя автоматично от Lazarus и в декларацията на типа TForm1.

 

Направено с MyCMS. Copyright CC BY-ND 4.0.