Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
254
Добавлен:
02.05.2014
Размер:
3.54 Mб
Скачать

Организация ввода-вывода данных

Ввод значений переменных можно осуществить:

  • С помощью функции InputBox, которая при выполнении программы выводит на экран свое собственное диалоговое окно.

  • С помощью текстового окна Edit. В этом случае в событийной процедуре должен быть записан программный код, в котором используется свойствоТextэтого объекта:

Поскольку возвращаемое функцией InputBoxзначение, также как и свойствоTextимеют типString, то, при вводе числовых данных необходимо использовать следующие функции или процедуры преобразования типов:

Обращение к функции

Описание

StrToInt(S)

Преобразование строки Sв целое число

StrToFloat(S)

Преобразование строки Sв вещественное число. В качестве разделителя используется запятая.

Обращение к процедуре

Описание

Val(S,F,Code)

Преобразование строки Sв переменнуюF, согласно объявленному типу.Code – типInteger. В качестве разделителя используется точка. Значение параметраCode равно нулю, если преобразование прошло успешно

Замечание. Строка S не должна содержать недопустимые для типа символы. В противном случае возникает сообщение об ошибке.

Вывод результатов можно оформить:

  • В текстовое окно Edit, изменяя его свойствоText;

  • На метку Label, изменяя ее свойствоCaption;

  • С помощью процедуры ShowMessage(), которая при выполнении активизирует свое собственное окно сообщений на экране.

Поскольку свойство Text, Caption и параметр ShowMessage имеют типString, то, при выводе числовых данных необходимо использовать следующие функции или процедуры преобразования типов длябезформатного вывода:

Обращение к функции

Описание

FloatToStr(x)

Преобразование вещественного числа xв строку

IntToStr(x)

Преобразование целого числа xв строку

Пример программного кода ввода/вывода числовых данных:

Procedure TForm1.Button1Click(Sender: TObject);

Var

s:real;

s1: integer;

Begin

{Ввод числовых данных}

s:=StrToFloat(Edit1.Text);

s1:=StrToInt(InputBox('Ввод данных','Введите s',''));

{Вывод числовых данных}

Edit2.Text:=FloatToStr(s);

Label1.Caption:=IntToStr(s1);

ShowMessage(FloatToStr(s))

End;

Для вывода чисел по форматуиспользуются:

  • Процедура Str(F[:Width[:Decimals]], S), которая преобразует числоFв форматированную строку символовSсогласно объявленному типу переменнойF. (Width – общее количество десятичных цифр, выделяемых числу,Decimals – количество цифр в дробной части (только для вещественных чисел).

Например:

Str(F:20:10,S);

Label1.Caption:=S;

  • Функция FloatToStrF (x,Format,Precision, Digits), которая преобразует вещественное числоxв форматированную строку.

Правила использования параметра FormatфункцииFloatToStrF.

Значение Format

Описание

ffExponent

Отображает число в экспоненциальной форме

Precision-общее количество цифр в мантиссе;

Digits-количество цифр в десятичном порядке

ffFixed

Отображает число в формате с фиксированной запятой.

Precision-общее количество цифр;

Digits-количество цифр в дробной части

ffNumber

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

Примеры строк программного кода с выводом чисел по формату:

Строка программного кода

Результат

Edit1.Text:=FloatToStrF(s,ffExponent,8,3);

1,0000780E+004

Edit1.Text:=FloatToStrF(s,ffFixed,8,3);

10000,780

Edit1.Text:=FloatToStrF(s,ffNumber,8,3);

10 000,780