C помощью фунции MessageBox() можно также выводить диалоговые окна. По внешнему виду они практически ничем не отличаются от окон MessageDlg(), однако есть возможность указать и заголовок окна. Для формирования строки кода с использованием MessageBox() есть программа Master MessageBox. C помощью неё можно быстро создать нужное диалоговое окно. Проблема MessageBox() в том, что тип диалога и кнопки задаются немного необычным образом.
Ввод с помощью диалогового окна
Специальные окошки существуют не только для вывода на экран, но и для ввода. Примером такого окна является InputBox(). Функции передаётся 3 параметра: текст заголовка окна, текст пояснения и значение, находящееся в поле при показе окна на экран. Введённую в поле строку функция возвращает как значение-результат. Пример:
procedureTForm1.Button2Click(Sender: TObject); begin if InputBox('Загадка','Сидит дед, в сто шуб одет. Кто его раздевает - тот слёзы проливает. Кто это?','') = 'лук' then MessageDlg('Правильно!',mtInformation,[mbOk],0) else MessageDlg('Вы не угадали.',mtWarning,[mbOk],0) end;
Задания для самостоятельного выполнения:
Вариант № 1
Вывести на экран 1 или 0 в зависимости от того, имеют три заданных целых числа одинаковую четность или нет.
Вариант № 2
Найти сумму цифр заданного четырехзначного числа.
Вариант № 3
Определить число, полученное выписыванием в обратном порядке цифр заданного трехзначного числа.
Вариант № 4
Вывести на экран 1 или 0 в зависимости от того, равна ли сумма двух первых цифр заданного четырехзначного числа сумме двух его последних цифр.
Вариант № 5
Вывести на экран 1 или 0 в зависимости от того, равен ли квадрат заданного трехзначного числа кубу суммы цифр этого числа.
Вариант № 6
Вывести на экран 1 или 0 в зависимости от того, есть ли среди первых трех цифр дробной части заданного положительного вещественного числа цифра ноль.
Вариант № 7
Вывести на экран 1 или 0 в зависимости от того, есть ли среди цифр заданного трехзначного числа одинаковые.
Вариант № 8
Присвоить целой переменной k третью от конца цифру в записи положительного целого числа n.
Вариант № 9
Присвоить целой переменной k первую цифру из дробной части положительного вещественного числа.
Вариант № 10
Целой переменной S присвоить сумму цифр трехзначного целого числа k.
Вариант № 11
Идет k-я секунда суток. Определить, сколько полных часов (h) и полных минут (m)прошло к этому моменту.
Вариант № 12
Определить f – угол (в градусах) между положением часовой стрелки в начале суток и ее положением в h часов, m минут и s секунд (0<=h<=11, 0<=m, s<=59).
Вариант № 13
Определить h – полное количество часов и m – полное количество минут, прошедших от начала суток до того момента( в первой половине дня), когда часовая стрелка повернулась на f градусов(0<=f<360, f – вещественное число).
Вариант № 14
Пусть k – целое от 1 до 365. Присвоить целой переменной n значение 1,2,…6 или 7 в зависимости от того, на какой день недели ( понедельник, вторник,…, суббота или воскресенье) приходится k- й день невисокосного года, в котором 1 января - понедельник.
Вариант № 15
Поменять местами значения целых переменных x и y, не используя дополнительные переменные.
Вариант № 16
Составить программу, запрашивающую у пользователя три числа - длины сторон треугольника. При нажатии кнопки программа должна вычислить площадь треугольника с указанными сторонами, а если такой треугольник не существует, то выдать соответствующее сообщение
Вариант № 17
Дана строка символов, состоящая из букв, цифр, запятых, точек, знаков “+” и “-“. Выделить подстроку, которая соответствует записи вещественного числа с плавающей точкой
Вариант № 18
Дана строка символов, состоящая из произвольных десятичных цифр, разделенных пробелами. Вывести на экран числа этой строки в порядке возрастания их значений.
Вариант № 19
Дана строка символов, состоящая из произвольных десятичных цифр, разделенных пробелами. Вывести четные числа этой строки.
Вариант № 20
Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Вывести на экран слова этого текста в порядке, соответствующем латинскому алфавиту.
Вариант № 21
Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Вывести на экран порядковый номер слова, накрывающего k-ю позицию (если на k-ю позицию попадает пробел, то номер предыдущего слова).
Вариант № 22
Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Разбить исходную строку на две подстроки, причем первая длиной k-символов (если на k-ю позицию попадает слово, то его следует отнести ко второй строке, дополнив первую пробелами до k-позиций).
Вариант № 23
Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами.. Вывести на экран порядковый номер слова максимальной длины и номер позиции строки с которой оно начинается.
Вариант № 24
Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Вывести на экран порядковый номер слова минимальной длины и количество символов в этом слове.
Контрольные вопросы:
1. Какие 3 вида диалоговых окон ввода-вывода вы знаете?