Ввод-вывод данных.                                                             2

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

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

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

где: переменная - имя переменной строкового типа, значение которой должно быть получено из окна ввода; заголовок - текст заголовка окна ввода; подсказка - текст поясняющего сообщения; значение - текст, находящийся в поле ввода в момент появления окна ввода на экране.

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

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

После того как в поле ввода будет введено число и выполнен щелчок по кнопке ОК, переменная S получит значение. Значение функции InputBox строкового типа. Если программе надо получить значение числового типа, то введенная строка должна быть преобразована в число при помощи соответствующей функции преобразования.

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

Функция

 

Значение

 

IntToStr(n)

Строка, являющаяся изображением значения целого n

FloatToStr(n)

 

Строка, являющаяся изображением значения вещественного n

 

StrToInt(s)

 

Целое, изображением которого является строка s

 

StrToFloat(s)

 

Вещественное, изображением которого является строка s

 

 

В Delphi имеются компоненты, обладающие фокусом ввода, например компонент Edit и компонент Memo. Компоненты, обладающие фокусом ввода, имеют специальное поле для ввода данных. Ввод данных из поля ввода компонента Edit осуществляется обращением к свойству Text(текст) этого компонента. В этом случае ввод данных из этого компонента может быть такой:

а := StrToFloat(Edit1.Text);

К содержимому компонента ТМеmо обращаются посредством свойств этого компонента Text и Lines (строки). Компонент ТМеmо представляет собой многострочный редактор. Текстовая информация в многострочных редакторах располагается в нескольких строках. К строке текста обращаются, используя свойство Lines. Свойство Text содержит весь текст целиком.

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

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

где сообщение - выражение строкового типа.

Функция MessageDlg позволяет снабдить сообщение одним из стандартных значков Windows, например значком "Внимание", задать количество и тип командных кнопок. Функция MessageDlg возвращает результат - число, проверив значение которого можно определить, выбором какой командной кнопки был завершен диалог. В общем виде обращение к функции Меззаде01д выглядит так:  Выбор := MessageDlg (сообщение, тип, кнопки, контекстсправки); Сообщение - это текст выводимого сообщения. Тип - это тип, вид сообщения. Сообщение может быть информационным, предупреждающим или сообщением об ошибке. Текст сообщения задается именованной константой. Именованные константы, определяющие тип сообщения, приводятся в таблице:

Константа

 

Тип сообщения  и  значок

 

mtWarning

Внимание, черный восклицательный знак в желтом треугольнике

MtError

 

Ошибка, белый крест в красном круге

 

MtInformation

 

Информация, синяя латинская 1 на фоне белого облачка

 

MtConfirmation

 

Запрос подтверждения, знак вопроса на фоне белого облачка

 

MtCustom

 

Пользовательское, обычное, сообщение без значка

 

 

г := MessageDlg ('Дискриминант равен нулю’ + #13+ ‘Уравнение не имеет действительных корней.’, MtInformation

, [mbOk], 0);

Сайт создан в системе uCoz