Delphi для начинающих – Урок 2 — События

A

AngelOfLove

В прошлом уроке я показал в общих чертах про среду разработки Delphi и ее компоненты. Теперь мы разберем устройство событий в Delphi. События являются одним из ключевых понятий в программировании на Delphi. Все объекты из библиотеки визуальных компонентов (VCL) Delphi, как и объекты реального мира, имеют свой набор свойств и свое поведение — набор откликов на события, происходящие с ними. Список событий для данного объекта, на которые он реагирует, можно посмотреть, например, в инспекторе объектов во вкладке Events. Поведение объекта на то или иное событие называется обработчиком события. Создание приложений в среде разработки Delphi подразумевает создание компонентов, настройки их свойств и программирование обработчиков событий. Созданию компонентов и настройке их свойств мы уже научились из предыдущего урока. Главной задачей этого урока будет написание обработчиков событий.

В этом уроке все скриншоты будут представлены с Delphi 2010. Более старые и новые версии Delphi имеют аналогичный интерфейс, поэтому особых затруднений возникнуть не должно.




Все дальнейшие уроки рассчитаны на программистов, хорошо освоивших основы языка программирования Pascal.
Для того, чтобы задать обработчик событий, нужно выбрать объект на форме, например кнопку Button1, и в инспекторе объектов на вкладке Events дважды кликнуть левой кнопкой мыши, по текстовому полю, рядом с событием, которое вы хотите обработать. Создадим событие OnClick для компонента Button1. Откроется окно редактора программного кода:


Перед нами обработчик события OnClick компонента Button1. Обработчики в Delphi выглядят как процедуры в Pascal, поэтому нетрудно догадаться, что код обработчика нужно писать между ключевыми словами begin и end. Приведем простейший пример обработчика, добавив в него строку showmessage('Это сообщение должно быть выведено при нажатии на кнопку'); Должно получиться:





Процедура showmessage в Delphi выводит текстовое сообщение в виде окна. Теперь прокомпилируем, т.е создадим исполняемый файл нашей программы.



Компиляция — это процесс создания исполняемого файла, например с расширением *.exe, основываясь на указанном компилятору программном коде.


Прокомпилировать программу можно, нажав на кнопку , которая расположена на верхней панели инструментов. Если в вашем программном коде были найдены ошибки (синтаксические, фактические или просто опечатки), то во время компилирования в новых версиях Delphi откроется окно, в котором будет указано наличие ошибок в коде и их количество. Например, если вместо showmessage из нашего предыдущего примера, мы напишем showmmessage, то программа укажет нам на ошибку:





Новые версии Delphi способны обнаруживать типичные и частые ошибки еще до компиляции.

Если же ошибок найдено не было, то компиляция будет успешно завершена, в папке с сохраненным проектом и всеми другими файлами (*.pas, *.dpr и т.д) будет создан исполняемый *.exe файл, который при успешной компиляции автоматически запустится. В результате откроется окно созданного нами приложения:





Нажмем на кнопку Button1 и увидим наше сообщение:





При нажатии на кнопку OK окно с сообщением закрывается.

Далее я приведу другие примеры, которые обязательно рекомендую попробовать самим.

Пример 1. Закрытие окна приложения.

Кнопке Button1 задайте обработчик события OnClick close;

Пример 2. Изменение свойств компонентов.

Создайте компоненты Button1, Memo1, CheckBox1, Label1. Кнопке Button1 задайте обработчик события OnClick:

1 Button1.caption:='Эта кнопка была нажата';
2
3 Memo1.text:='Вы нажали на кнопку Button1';
4
5 Checkbox1.checked:=true;
6
7 Label1.caption:='Это простой пример обработчика события';
Пример 3. Добавление строки в ListBox1

Создайте компоненты ListBox1 и Button1. Кнопке Button1 задайте обработчик события OnClick:

Listbox1.items.add('Вы опять нажали на кнопку Button1');

Пример 4. Вывод содержимого текстового поля при условии

Создайте компоненты Button1, CheckBox1, Edit1. Кнопке Button1 задайте обработчик события OnClick:

if checkbox1.checked then showmessage(edit1.text);

В данном примере при нажатии на кнопку Button1, будет выведено содержимое текстового поля Edit1, только при том условии, что установлена галочка в поле CheckBox1. Условные операции мы рассмотрим в следующих уроках.

Пример 5. Вывод информации о местоположении окна приложения на экране.

Создайте компонент Label1 и Button1. Кнопке Button1 задайте обработчик события OnClick:

label1.caption:='x='+inttostr(form1.left)+' y='+inttostr(form1.top);

В результате программа выведет местоположение окна приложения по оси X и Y соответственно.
 
Похожие темы
A Delphi для начинающих. Урок 11. Процедуры и функции Программирование 0
A Delphi для начинающих. Урок 10. Циклы. Работа с массивами Программирование 0
A Delphi для начинающих – Урок 9 – Массивы Программирование 0
A Delphi для начинающих – Урок 8 – Условия. Оператор Case Программирование 0
A Delphi для начинающих – Урок 7 – Условия. Оператор IF Программирование 0
A Delphi для начинающих – Урок 6 – Пишем свой калькулятор Программирование 0
A Delphi для начинающих – Урок 5 – Работаем с компонентами Программирование 0
A Delphi для начинающих – Урок 4 – Работа с переменными Программирование 0
A Delphi для начинающих – Урок 3 – Создание переменных Программирование 0
A Delphi для начинающих — Урок 1 — Среда разработки Delphi Программирование 0
C Реверс-инжирниринг бота на Delphi, есть проблемы Свободное общение 0
M [Delphi] Работа VKAPI, на примере бота Программирование 3
T Пишем WinLocker на Delphi Программирование 0
D Нужна помощь по Delphi! ЗАПЛАЧУ! Программирование 1
A Потоки в Delphi. TThread Программирование 0
A Delphi. Урок 17. Типы Программирование 0
A Delphi. Урок 16. Исключительные ситуации Программирование 0
A Delphi. Урок 15. Математические операции Программирование 0
A Delphi. Урок 14. Работа со списками строк TStringList или «сложные» типы Программирование 0
A Delphi. Урок 13. Работа со строками Программирование 0
A Delphi. Урок 12. Преобразование числа в строку и строки в число Программирование 0
A Простые шутку в DELPHI Программирование 5
A Мои старые исходники на Delphi Программирование 1
A Несколько шпор по Delphi =) Программирование 3
L Загружаем компьютер другу. Delphi,rad studio Программирование 0
I Country IP Ranges Generator v1.0 [Source][Delphi] Программирование 3
B Помощь [Delphi] Программирование 0
B VK Post Grabber [Source][Delphi] Программирование 0
Admin [delphi] downloader winapi Программирование 0
Admin Статья Пентест Forti ВПН доступов. Еще один МАНУАЛ для новичков Уязвимости и взлом 0
Admin Интересно 300 вирусов в одном флаконе. OpenClaw стал раем для хакеров и адом для пользователей. Новости в сети 0
Admin Интересно OpenAI нашла критическую дыру в GnuPG. Ваш софт для шифрования нуждается в срочном обновлении. Новости в сети 0
Admin Интересно С такими помощниками и врагов не надо. Почему расширения для ChatGPT в Chrome могут быть опасны. Новости в сети 0
Admin Интересно 150 микросекунд против 12 — новое поколение Xeon медленнее предыдущего. Почему серверные процессоры Intel стали проблемой для realtime-систем. Новости в сети 0
Admin Статья Создание страницы для команды Django Полезные статьи 0
R Софт для добычи доступов Доступы: RDP, VPS, SQL inj, базы, сайты, shell's 1
Admin Статья Пишем собственный тулкит для точечных атак. Полезные статьи 0
Admin Статья Шифрование трафика MSF для предотвращения обнаружения Уязвимости и взлом 0
Admin Статья Настройка прокси для вашего сервера за 5 минут. Анонимность и приватность 0
Admin Интересно Секретные настройки браузера для боссов: как вычистить всё лишнее из Chrome и Firefox без сомнительных форков. Новости в сети 0
Admin Статья Часть 1; fuzzing для сбора скрытых endpoints и дальнейшей эксплуатации API Уязвимости и взлом 0
Admin Статья Подборка материалов по архитектуре V8\Chrome - для исследователей уязвимостей Уязвимости и взлом 0
Admin Интересно Права «бога» для хакеров. Российский исследователь нашел критические «дыры» в защите 30 версий Windows. Новости в сети 0
Admin Статья Исследование взлома Intel Management Engine (ME) для клонирования изображения экрана Уязвимости и взлом 0
Admin Статья Разбираем инциденты, анализируем honeypots через дашборды для поимки хищников, атакующих нашу инфраструктуру. [Part 2] Анонимность и приватность 0
Admin Статья Разбираем, расставляем honeypots для поимки хищников, атакующих нашу инфраструктуру. [Part 1] Анонимность и приватность 0
Admin Статья Настройки Mozilla Firefox для параноиков и тест Mullvad Browser Анонимность и приватность 0
Admin Статья Написание вредоносного ПО для Windows: для развлечения и прибыли Вирусология 1
Admin Интересно Когда бэкап превращается в тыкву. Veeam случайно создала идеальную точку входа для хакеров. Новости в сети 0
Admin Статья Как оставаться незаметным в 2025 году – простые правила оперативной безопасности для всех. Анонимность и приватность 0

Название темы