- •Введение
- •Рекомендуемая литература:
- •Цели и задачи курсовой работы
- •Постановка задачи курсовой работы
- •Задание на выполнение
- •Требования к оформлению
- •Курсовая работа по дисциплине «Высокоуровневые методы информатики и программирования» Табличный и графический способ представления данных на языках высоко уровня
- •Вопросы к защите
- •Методические рекомендации
- •6.1. Представление данных
- •6.1.1. Функции преобразования.
- •6.1.2. Ввод данных
- •6.1.3. Вывод данных
- •6.1.4. Использование компонента StringGrid.
- •6.1.5. Элементы управления программой
- •6.2. Графические возможности ide
- •6.2.1. Вывод иллюстраций и графиков на форму
- •6.2.2. Создание изображений в виде битовых матриц и пиктограмм
- •6.2.3. Создание рисованных изображений
- •6.2.4. Инструменты для рисования
- •6.2.5. Методы вычерчивания графиков
- •6.2.6. Рекомендации по созданию графического интерфейса
- •6.3. Запись инструкций программы
- •6.4. Компьютерное моделирование в Simulink
- •6.5. Оформление пояснительной записки в текстовом редакторе
- •6.6. Создание оглавления
6.1.2. Ввод данных
Ввод данных в Delphi можно осуществить с помощью окна ввода (InputBox) или поля редактирования (компонент Edit).
Окно ввода – стандартное диалоговое окно, которое появляется на экране в результате вызова функции InputBox(), имеющей следующий формат:
Переменная:= InputBox(Заголовок, Подсказка, Значение),
где Переменная – переменная строкового типа, значение которой должно быть получено от пользователя; Заголовок – текс заголовка окна ввода; Подсказка – текст поясняющего сообщения; Значение – текст, который будет находиться в поле ввода, когда окно появится на экране. На рисунке 2 приведено окно ввода, появляющееся в результате выполнения следующей строчки кода:
St:=InputBox('Стоимость', 'Введите стоимость в рублях', ' ');
InputBox
Рис.2. Пример использования окна ввода данных
Если в качестве поля редактирования использовать компонент Edit (однострочный редактор), то ввод данных осуществляется через свойство Text.
Например, Cena:=StrToFloat(Edit1.Text), где переменная Cena предварительно объявляется в разделе переменных.
6.1.3. Вывод данных
Наиболее просто можно вывести результат работы в окно сообщения или в поле вывода метку Label. При выводе информации в поле метки содержимое вывода определяется значением свойства Caption, которое можно изменить как во время разработки формы приложения, так и при выполнении программы.
Свойство Caption символьного типа. Поэтому для вывода в него числового значения, нужно преобразовать число в строку с помощью функций FloatToStrF или IntToStr.
Например:
Label1.Caption:= 'S= ' + FloatToStrF(S,ffFixed,8,2)+' руб.';
В качестве примера приведен обработчик события Button1Click, реализующий ввод данных в поля редактирования Edit1 и Edit2, расчет суммы оплаты за приобретенный товар, и вывод результата вычисления в метку Label1:
procedure TForm1.Button1Click(Sender: TObject);
var
Cena, S:real; //цена и стоимость товаров
Kol :integer; //их количество
begin
Cena:=StrToFloat(Edit1.Text);//ввод данных в поля редактирования
Kol:=StrToInt(Edit2.Text);
S:=Cena*Kol;
Label1.Caption:= 'S= ' + FloatToStrF(S,ffFixed,8,2)+ ' руб.';
end; // вывод результата в поле метки.
Интерфейс проекта, реализующий пример, приведен на рис. 3.
Рис.3. Пример использования полей Edit1 и Edit2 для ввода
данных и Label1 для вывода результата вычисления.
Окна сообщения при выводе информации используется для привлечения внимания пользователя. При этом программа может проинформировать об ошибке в исходных данных или запросить подтверждение выполнения необратимой операции, например удаление файла.
Вывести на экран окно с сообщением можно при помощи процедуры ShowMessage() или функции MessageDlg().
Процедура ShowMessage() выводит на экран окно с текстом и командной кнопкой ОК. Формат вызова процедуры:
ShowMessage(Сообщение),
где Сообщение – текст, который будет выведен в окне. В заголовке окна сообщения, выводимого процедурой ShowMessage, указывается название приложения или имя исполняемого файла, в случае если название не задано. На рис. 4 приведен вид окна сообщения, полученного в результате выполнения кода:
п
ShowMessage('
Сумма к оплате: '+ chr(13)
+
' S=
'+FloatToStrF(S,ffFixed,8,2)+' руб.');
Рис. 4. Пример окна сообщения
Функция MessageDlg() более универсальна. Она позволяет поместить в окно с сообщением один из стандартных значков, задать количество и тип командных кнопок и определить, какую из кнопок нажал пользователь. В общем случае, формат вызова функции выглядит:
Выбор:=MessageDlg(Сообщение, Тип, Кнопки, КонтекстСправки);
где Сообщение – текст сообщения;
Тип – тип сообщения (информация, предупреждение, ошибка – каждому сообщению соответствует свой значок);
Кнопки – список кнопок, отображаемых в окне сообщения (весь список кнопок заключается в квадратные скобки, например, [mbOK, mbCancel] вызывает кнопки ОК и Cancel);
Контекст справки – параметр, определяющий раздел справочной системы, который появится на экране, если пользователь нажмет клавишу <F1>. Если вывод справки не предусмотрен, то значение параметра Контекст справки должен быть равен нулю.
На рис. 5 приведены окна, выводимые в результате выполнения следующих строчек кода:
if MessageDlg(' Рассчитать сумму к оплате?: ' ,mtConfirmation, [(mbYes),(mbNo)],0)=mrYes //если в MessageDlg нажата кнопка ОК, то
then ShowMessage('Сумма к оплате:' +chr(13)+ ' S=' + FloatToStrF (S,ffFixed,8,2)+' руб.') //выводится результат вычисления
else Label1.Caption:= 'Расчет производиться не будет!' ;
//иначе выводится сообщение в метку Label1.
Рис. 5. Пример использования окна сообщения
Тип сообщения задается именной константой, приведенной в табл. 5. Разные типы сообщения имеют разные значки.
Таблица. 5
Константа |
Тип сообщения |
Значок |
mtWarning mtError mtInformation mtConfirmation mtCustom |
Внимание Ошибка Информация Подтверждение Обычное |
! х i ? без значка |
Список именованных констант-кнопок и значения, возвращаемые функцией MessageDlg() при нажатии соответствующей кнопки, приведены в табл. 6.
Таблица. 6
Константа |
Кнопка |
Значение функции |
mbYes mbNo mbOK mbCancel mbHelp mbAbort mbRetry mbIgnore mbAll |
Yes //да No //нет OK //подтвердить Cancel //отменить Help //помощь Abort //прерывание Retry //повтор Ignore //пропуск All //всё |
mrYes mrNo mrOK mrCancel mrHelp mrAbort mrRetry mrIgnore mrAll |