Уроки 41–42 · 2 урока · Н. И. Тайлаков (общий редактор), А. Б. Ахмедов, М. Д. Пардаева, А. А. Абдуганиев, У. М. Мирсанов. Информатика и информационные технологии, 10 класс, 1-е издание. «Extremum-Press», Ташкент, 2017
41
Окно ShowMessage
Учебник: с. 93–95
ЦельПоказывает пользователю сообщение с помощью ShowMessage, задаёт ограничение с помощью if…then…else и использует IntToStr, чтобы присоединить число к тексту и записать его в заголовок.
Новые слова
ShowMessage: процедура, показывающая небольшое окно с текстовым сообщением · ShowMessageIntToStr: преобразует целое число в текстовую строку · IntToStrif … then … else: выполняет один оператор, если условие истинно, и другой, если оно ложно · if … then … elseстрока: последовательность символов, записываемая в одинарных кавычках · satr
Объяснение
Если окно увеличивается без ограничения при каждом нажатии кнопки, оно уходит за пределы экрана; нужно задать условие. Условный оператор: if Form1.Width < 700 then … else … – если условие истинно, выполняется первая часть, а если ложно – часть после else. Чтобы сообщить пользователю причину, используется ShowMessage('text'): она показывает отдельное небольшое окно, и приложение ждёт, пока не будет нажата кнопка OK. Внутри строки пишите только латинские буквы и обычные знаки; узбекский знак ‘ можно спутать с одинарной кавычкой. Чтобы показать размер окна в заголовке, число преобразуют в текст: Form1.Caption := 'Eni: ' + IntToStr(Form1.Width); без IntToStr запись 'Eni: ' + Form1.Width является ошибкой, потому что число нельзя прибавить к тексту. Сначала проверяйте условие и только потом изменяйте, чтобы приложение не выходило за предел.
Примеры
procedure TForm1.Button2Click(Sender: TObject); ⏎ begin ⏎ if Form1.Width > 300 then ⏎ begin ⏎ Form1.Width := Form1.Width - 20; ⏎ Form1.Height := Form1.Height - 10; ⏎ end ⏎ else ⏎ ShowMessage('Oyna yetarlicha kichik'); ⏎ end; Кнопка «Уменьшить». Начальный размер 500×350: после 10 щелчков ширина равна 500–10·20 = 300, а высота – 350–10·10 = 250; при 11-м щелчке условие 300 > 300 ложно, поэтому появляется сообщение.
Размер в заголовке: Form1.Caption := 'Olcham: ' + IntToStr(Form1.Width) + ' x ' + IntToStr(Form1.Height); Если окно имеет размер 600×350, заголовок становится Olcham: 600 x 350. Эту строку нужно записывать после изменения размера, чтобы в заголовке были новые числа.
Работа в классе
«Страж границы»: пара пишет приложение с ограничением 500 пикселей и заранее вычисляет, при каком щелчке появится сообщение.
Упражнения
1
Какая функция преобразует число в текст перед присоединением его к тексту?
IntToStr
2
Ширина начинается с 500 и уменьшается на 20 за щелчок при условии Width > 300. При каком щелчке появится сообщение?
11
3
Что делает ShowMessage('Salom') с приложением?
Она показывает окно сообщения, и приложение ждёт, пока не будет нажата кнопка OK.
4
Почему 'Eni: ' + Form1.Width – ошибка?
Текст и целое число – разные типы; число нужно преобразовать в текст с помощью IntToStr.