☰ Содержание · Информатика

Управляющая кнопка

Уроки 39–40 · 2 урока · Н. И. Тайлаков (общий редактор), А. Б. Ахмедов, М. Д. Пардаева, А. А. Абдуганиев, У. М. Мирсанов. Информатика и информационные технологии, 10 класс, 1-е издание. «Extremum-Press», Ташкент, 2017
39

Управляющая кнопка

Учебник: с. 90–92
ЦельРазмещает на окне кнопку Button, задаёт её свойства и пишет простые операторы в процедуре OnClick, которая выполняется при нажатии кнопки.
Новые слова
Button: управляющий элемент, который пользователь нажимает, чтобы запустить действие · Buttonсобытие: что-то происходящее, например щелчок, на что программа может отреагировать · hodisaOnClick: событие щелчка по элементу управления · OnClickприсваивание :=: вычисляет правую часть и сохраняет значение в левой части · :=
Объяснение

Первое приложение ничего не делает; перетащите на него кнопку Button с вкладки Standard. У кнопки есть собственные свойства: Caption (текст), Left, Top, Width, Height и Font (шрифт, например Font.Size). Чтобы дать кнопке задачу, дважды щёлкните по ней: Delphi сам запишет в окне кода процедуру TForm1.Button1Click, а вам останется набрать только операторы между begin и end. Такая процедура отвечает на событие: когда кнопка нажата (OnClick), эти операторы выполняются. На этом сайте код из нескольких строк записан в одну строку: знак ⏎ обозначает начало новой строки (в этом месте кода нажмите Enter), пробелы после ⏎ – это отступ в начале строки (2 пробела на уровень); сам знак ⏎ в код не вводится. Например, оператор Form1.Width := Form1.Width + 16; сначала вычисляет правую часть, а затем сохраняет результат в свойстве слева, поэтому с каждым щелчком окно становится шире на 16 пикселей.

Примеры
Окно имеет размер 300×200. Button1.Caption := '+'; у кнопки Font.Size = 14. В OnClick: procedure TForm1.Button1Click(Sender: TObject); ⏎ begin ⏎  Form1.Width := Form1.Width + 20; ⏎  Form1.Height := Form1.Height + 10; ⏎ end; После пяти нажатий: ширина 300+5·20 = 400, высота 200+5·10 = 250.
Вторая кнопка сдвигает окно вправо: procedure TForm1.Button2Click(Sender: TObject); ⏎ begin ⏎  Form1.Left := Form1.Left + 10; ⏎ end; При Left = 100 и 4 нажатиях кнопки Left = 100+4·10 = 140.
Работа в классе

«Какая кнопка что делает?»: пара создаёт приложение с двумя кнопками, где вторая делает обратное первой; они заранее вычисляют размер окна после 5 нажатий и проверяют его клавишей F9.

Упражнения
1
Как называется нажатие кнопки как событие?
2
Окно имеет ширину 300 пикселей. С каждым щелчком ширина растёт на 20. Какова ширина после 3 щелчков?
3
В какую сторону Form1.Left := Form1.Left - 10; сдвигает окно?
4
Почему в Form1.Width := Form1.Width + 16; сначала вычисляется правая часть?