Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы по Информатике 2011.doc
Скачиваний:
6
Добавлен:
04.11.2018
Размер:
557.06 Кб
Скачать

3.2.2. Ввод данных

Программа может получить исходные данные из окна ввода, поля ввода диалогового окна или из файла.

3.2.2.1 Ввод из окна ввода

Ввод данных из окна ввода осуществляется вызовом функции InputBox, воз­вращаемым значением которой является строка, введенная пользователем. В общем виде инструкция для ввода данных с использованием функции InputBox выглядит так:

Переменная := InputBox(Заголовок, Подсказка, Значение);

где

Переменная имя переменной строкового типа, значение которой должно быть получено из окна ввода;

Заголовок текст заголовка окна ввода;

Подсказка текст поясняющего сообщения;

Значение текст, находящийся в поле ввода в момент появления окна ввода на экране.

Например, в программе пересчета веса из фунтов в килограммы инструкция ввода количества фунтов может выглядеть так:

s:=InputBox('Фунты-килограммы','Введите вес в фунтах','');

Выполняется эта инструкция следующим образом:

1. На экран монитора выводится окно ввода.

2. В поле ввода вводится (набирается на клавиатуре) число.

3. Затем необходимо нажать одну из командных кнопок окна ввода:

• Щелчок на кнопке ОК присваивает переменной s значение, соответ­ствующее введенной строке

• Щелчок на кнопке Cancel присваивает переменной s предопределен­ное значение, указанное при вызове функции inputBox в качестве ее аргумента (в данном примере переменной s будет присвоено '', т. е. пустая строка)

Следует еще раз обратить внимание на то, что значение функции InputBox строкового (string) типа. Поэтому, если программе надо получить значение числового типа, то введенная строка (изображение числа) должна быть пре­образована в число при помощи соответствующей функции преобразования.

s:=InputBox('Фунты-килограммы','Введите вес в фунтах','');

funt:=StrToFloat(s);

3.2.2.2. Ввод из поля диалогового окна

Ввод данных из поля ввода диалогового окна осуществляется обращением к свойству Text этого поля. Если Edit1 — имя поля, предназначенного для ввода коэффициента при второй степени неизвестного, тогда инструкция ввода значения коэффици­ента, для представления которого в программе используется переменная а типа real, будет иметь вид:

a:=StrToFloat(Edit1.Text);

В приведенной инструкции параметр Text — это имя внутренней перемен­ной (свойства) поля ввода, которая содержит текст, находящийся в поле.

3.2.3. Вывод данных

Программа может вывести результат в окно сообщения, в поле вывода диа­логового окна, в файл или на принтер.

3.2.3.1. Вывод в окно сообщения

Вывод в окно сообщения осуществляется вызовом процедуры ShowMessage или функции MessageDlg.

Процедура ShowMessage выводит на экран простое диалоговое окно с текстом и одной командной кнопкой ОК. В общем виде инструкция вызова процедуры ShowMessage выглядит так:

ShowMessage(Сообщение);

где Сообщение выражение строкового типа. Заголовок окна сообщения, выводимого про­цедурой ShowMessage, совпадает с именем исполняемого файла приложения.

Функция MessageDlg более гибкая. Она позволяет снабдить сообщение од­ним из стандартных значков Windows, например, значком "Внимание", а также задать количество и тип командных кнопок. Пример выполнения инструкции:

r:=MessageDlg('Дискриминант меньше нуля'+#13+'Уравнение не имеет действительных корней.', mtInformation, [nabOK], 0);

Функция MessageDlg возвращает результат — число, проверив значение ко­торого можно определить, выбором какой командной кнопки был завершен диалог.

В общем виде обращение к функции MessageDlg выглядит так:

Выбор:= MessageDlg(Сообщение,Тип,Кнопки,КонтекстСправки)

где

Сообщение — это текст выводимого сообщения;

Тип это тип сообщения. Сообщение может быть информационным, пре­дупреждающим или сообщающим об ошибке. Каждому типу сообщения со­ответствует определенный значок. Задается тип сообщения именованной константой. В таблице приведены именованные константы, определяющие тип сообще­ния, выводимого функцией MessageDlg.

Именованные константы, определяющие тип сообщения

Константа Тип сообщения

mtWarning Внимание

MtError Ошибка

Mtlnformation Информация

MtConfirmation Запрос подтверждения

MtCustom Обычное сообщение

Кнопки список, определяющий число и вид кнопок, отображаемых в окне сообщения. Список может состоять из нескольких разделенных запятыми именованных констант. Весь список заключается в квадратные скобки. Константы и соответствующий им текст на кнопках приведены в таблице:

Список именованных констант

Константа Текст на кнопке

mbУes Yes

mbNo No

mbOK OK

mbCancel Cancel

mbHelp Help

mbAbort Abort

mbRetry Retry

mbIgnore Ignore

mbAll All

Например, для того чтобы в окне сообщения появились кнопки ОК и Cancel, список кнопки должен состоять из следующих двух констант:

[mbOK, mbCancel ]

Кроме констант, приведенных в таблице, можно использовать константы:

mbOkCancel, mbYesNoCancel и mbAbortRetryIgnore. Эти константы определяют наиболее часто используемые в диалоговых окнах комбинации командных кнопок.

Контекст Справки параметр, определяющий номер экрана справочной сис­темы, который появляется при нажатии клавиши <F1> в тот момент, когда окно сообщения находится на экране. Если использование справочной сис­темы не предусмотрено, то при вызове функции MessageDlg в качестве пара­метра контекстСправки должен быть указан ноль.

Значение возвращаемое функцией MessageDlg, позволяет определить, какая из командных кнопок была нажата. В таблице приведен список констант, идентифицирующих нажатую кнопку.

Именованные константы, идентифицирующие нажатую кнопку

Константа Диалог завершен нажатием кнопки

mrAbort Abort

mrYes Yes

mrOk Ok

mrRetry Retry

mrNo No

mrCancel Cancel

mrIgnore Ignore

mrAll Аll