2.7. Ввод и вывод данных. Функции преобразования типов данных
Для ввода данных часто используются окно редактирования Edit, позволяющее вводить одиночные текстовые ли числовые (после преобразования) данные (свойство Text).
Например, Fam := Edit1.Text;
Для ввода массивов данных удобно использовать таблицу StringGrid. Элементы таблицы нумеруются по столбцам и строкам, начиная с 0. Доступ к ячейкам производится через свойство Cells[col, row]. Таблица StringGrid по умолчанию содержит фиксированные строки и столбцы (свойство FixedCols и FixedRows), которые не перемещаются при использовании полосы прокрутки. При использовании для ввода массива их следует убрать - назначить свойствам FixedCols и FixedRows значение 0, а также разрешить редактирование данных в ячейках: назначить True свойству Option.goEditing. Нумерация строк и столбцов по умолчанию ведется с 0, поэтому первая ячейка таблицы: Cells[0,0].
Например, для ввода массива из 10 фамилий можно использовать следующий цикл:
For i:=1 to 10 do
Fam[i] :=StringGrid1.Cells[i-1,0];
Для ввода данных также используется функция InputBox(), выводящая заголовок, текстовое сообщение, поле ввода с указанным значением по умолчанию и кнопку ОК. Синтаксис:
InputBox( ACaption: String, APromt: String , ADefalt: String);
Где AСaption - заголовок окна, AProm - текстовое сообщение выводимое в окно, а ADefalt - значение по умолчанию, выводимое в поле ввода.
Пример:
Name:=InputBox('Окно ввода данных',' Введите имя', ' ' );
Переменной строкового типа Name присваивается значение, введенное пользователем в поле ввода (по умолчанию поле ввода пустое).
Или целой переменной b присваивается числовое значение, введенное в поле ввода диалогового окна:
b := StrToInt (InputBox('Окно ввода данных', ' Введите значение переменной b ', ' ' ));
Текст, вводимый пользователем в окно редактирования Edit, таблицу StringGrid, поле Memo, диалоговое окно InputBox и др. объекты представляет собой текстовую строку типа string. Поэтому при вводе в них чисел, над которыми предполагается выполнение арифметических операций, этот текст следует преобразовать к нужному числовому типу.
Для преобразования строки в числа используются функции:
StrToFloat() - преобразует тип данных String в действительное число;
StrToInt() - преобразует тип данных String в целое число;
Например, выражение StrToFloat(Edit1.Text) возвращает действительное число, получение в результате преобразования текста в окне Edit1.
Далее эти числа можно использовать в любых математических выражениях.
Для отображения результатов расчета часто используется функция ShowMessage(), отображающая диалоговое окно с текстовым сообщением. В качестве аргумента этой функции используется строка или совокупность строк соединенных знаком "+" типа String, поэтому числовые данные перед выводом их в окно следует преобразовать к строковому типу данных.
Также часто используется вывод данных в метку Label, свойству Caption которой присваивается нужный текст, в который включаются результаты расчета (путем преобразования их к типу String).
Итак, в эти элементы можно выводить только текст (данные типа String), поэтому все числа следует перевести в строковый тип данных, для чего используются функции:
FloatToStr() - переводит действительное число в строку
IntToStr() - переводит целое число в строку.
Например, вывод данных в диалоговое окно:
ShowMessage(' Дискриминант равен ' + FloatToStr(D));
Или в метку Label1, заранее созданную на форме:
Label1.Caption:= ' Дискриминант= ' + FloatToStr(D);
Для вывода надписи, используемой для вывода данных пользователем в несколько строк используется код клавиши Enter (13), осуществляющей переход на новую строку, следующим образом:
Label1.Caption:= ' Дискриминант= ' + FloatToStr(D) + #13 + 'Первый корень=' + FloatToStr(х1) + #13 + 'Второй корень=' + FloatToStr(х2) ;
Для формирования надписи Label на форме в несколько строк достаточно включить (поменять на True) свойство WordWrap метки. Выравнивание текста определяется свойством Alignment (например, по центру - taCenter)
Пример процедуры, вычисляющей при щелчке на кнопке Button1 произведение чисел a и b, вводимых пользователем в поля ввода Edit1 и Edit2 и использующей преобразование типов данных:
procedure TForm1.Button1Click(Sender: TObject);
var а, b, c: real;
begin
a := StrToFloat(Edit1.Text); // Первое число
b := StrToFloat(Edit2.Text); // Второе число
c := a* b; // Произведение
ShowMessage('Произведение чисел a*b = ' + FloatToStr(c));
Label1.Caption:='Произведение чисел a*b = ' + FloatToStr(c);
end;
- 1. Теоретические основы объектно – ориентированного программирования 5
- 2. Использование системы программирования Delphi для создания Windows-приложений 9
- 3. Лабораторный практикум 27
- Введение
- 1. Теоретические основы объектно – ориентированного программирования
- 1.1.Объектная модель и ее элементы.
- 1.2.Основные понятия объектно-ориентированного подхода - объект и класс.
- 1.3.Методы построения классов.
- 2. Использование системы программирования Delphi для создания Windows-приложений
- 2.1. Интерфейс интегрированной среды разработки Delphi
- 2.2. Синтаксические правила языка Object Pascal
- 2.3. Создание и структура пользовательских приложений в среде Delphi
- 2.4. Структура модуля (*.Pas)
- 2.5. Создание формы и написание откликов на события
- 1) Компоновка формы и задание свойств компонентов
- 2) Написание отклика на событие
- 2.6. Компиляция и исполнение программы
- 2.7. Ввод и вывод данных. Функции преобразования типов данных
- 3. Лабораторный практикум Лабораторная работа 1. Разработка приложения Калькулятор
- Лабораторная работа 2. Использование курсоров в приложениях Windows.
- Лабораторная работа 4. Создание простого текстового редактора.
- Лабораторная работа 5. Рисование мышью в форме
- Лабораторная работа 6. Применение графических компонентов
- Лабораторная работа 7.Создание числовых изображений
- Лабораторная работа 8. Создание текстурных заливок
- Лабораторная работа 9. Поддержка справочной системы. Создание всплывающих подсказок.
- Лабораторная работа 10.Создание видеопроигрывателя
- Лабораторная работа 12.Создание браузера
- Лабораторная работа 13. Работа с внешним файлом.
- Лабораторная работа 14. Работа с базами данных.
- Лабораторная работа 15. Создание многооконных приложений.
- Литература Основная литература
- Дополнительная литература