Цель работы. Создать форму для решения задачи табулирования функции. Для ввода начального и конечного значений аргумента функции и шага, с которым изменяется аргумент, использовать поля редактирования (Edit). Предусмотреть возможность вывода результатов на экран, в текстовый файл и на график. Для вывода на экран использовать многострочное поле редактирования (объект типа Memo). Направление вывода задать с помощью трех флажков (объектов типа CheckBox), расположенных на панели группы объектов (типа GroupBox). Предусмотреть на форме наличие трех кнопок: «Вычислить», «Обновить», «Выход».
Теоретические сведения. Объект Form используют для создания окна программы-приложения. Рассмотрим такие свойства формы:
Свойство | Описание свойства | Примеры значений |
ActiveControl | Для задачи активного объекта (фокуса) в форме | Button1, Edit2 |
AutoScroll | Наличие в форме полос прокручивания | True, False |
BoderStyle | Возможность менять размеры окна | bsSizeable (окно с произвольными размерами), bsDilog, bsNone (окно с фиксированными размерами) |
Width, Height | Ширина и высота окна в пикселях | 503б 224 (числовые значения) |
Font | Шрифт | Комплексное свойство, задается в диалоговом окне |
HorizScrollBar, VertScrollBar | Параметры полос прокручивания | Комплексное свойство |
Name | Имя формы | Form1 (идентификатор) |
Caption | Заголовок формы | Произвольная строка символов |
Color | Цвет фона | clGreen, clRed |
Cursor | Вид курсора на свободном месте окна на этапе выполнения | crDrag, crCross, crHelp, crArrow (перечислимый тип) |
Enabled | Доступность для действий над объектами в форме во время выполнения | True, False |
Left, Top | Координаты левого верхнего угла окна в пикселях | 200, 108, (числовые значения) |
Position | Размещение и размеры окна в момент запуска программы | poScreenCenter, poDesigned |
WindowState | Состояние окна в момент запуска программы | wsNormal, wsMinimized, wsMaximized |
Объект текстовое поле (Label) используют для создания текстов (надписей) в окне программы. Крому аналогичных к выше приведенным в предшествующей таблице свойств Width, Height, Font, Name, Caption, Color, Cursor, Enabled, Left, Top, он владее еще и такими:
|
Свойство | Описание свойства | Примеры значений |
Align | Выравнивание поля относительно объекта, который его содержит (формы) | alBottom, alTop, alLeft |
Alignment | Выравнивание текста в границах поля | taCentre, taLeftJustify, taRightJustify |
AutoSize | Приведение границ поля к границам текста | True, False |
Visible | Видимость объекта | True, False |
WordWrap | перенесение слов текста в новую строку | True, False |
Объект кнопка Button используют для размещения элемента управления – кнопки на форме. Кнопки имеют такие свойства: Width, Height, Font, Name, Caption, Cursor, Enabled, Left, Top, Visible и др.
Объект поле редактирования Edit используют для ввода строки символов с клавиатуры. В случае необходимости для преобразования полученной строки (свойство Text) в число и наоборот применяют стандартные функции. Кроме уже известных вам свойств, поля редактирования обладают такими:
Свойство | Описание свойства | Примеры значений |
CharSet | Вид символов, которые будут вводит в поле редактирования | ecNormal (обычные), ecUpperCase (прописные буквы), ecLowerCase (строчные буквы) |
PasswordChar | Символ для ввода пароля | #0 (обычное отбражение текста), * (текст будет отображаться звездочками) |
ReadOnly | Возможность менять текст (доступность поля) | True (текст нельзя менять), False (тест можно менять) |
Hint | Текст подсказки, который появляется при наведении указателя мыши | Произвольная строка символов |
ShowHint | Показывать / Не показывать подсказку | True, False |
Text | Текст поля редактирования | 0.001 (произвольная строка символов) |
Объект CheckBox используют для создания независимого двух или трех позиционного флажка: включен / выключен (/ серый). Для этого объекта определены такие свойства:
|
Свойство | Описание свойства | Примеры значений |
Checked | Состояние переключателя | True (выбранный), False (невыбранный) |
TabOrder | Порядок выбора объекта клавишей Tab | 0 (первый), 4 (пятый) |
TabStop | Доступ к данному объекту табулятором | True (доступный), False (недоступный) |
AllowGrayed | Наличие третьей позиции | True (трехпозиционный флажок), False (двухпозиционный флажок) |
State | Состояние флажка | cbGrayed (серый), cbUnchecked (отключен), cbChecked (включен) |
Панель группы объектов GroupBox предназначена для размещения на ней группы из нескольких объектов. Панель группы используют для улучшения дизайна окна программы. свойства этого объекта аналогичны описанным выше.
Объект Memo применяют для создания многострочного редактора текста. Страница палитры компонентов: Standard. Текстовый редактор Memo может содержать в отличиие от строки ввода Edit не одну строку, а любое число строк.
Рассмотри некоторые свойства этого объекта.
Свойство | Описание свойства | Примеры значений |
Lines | Задает список строк помещенных в редактор | Комплексное свойство (задается в диалоговом окне) |
ScrollBars | Задает наличие линеек скроллинга: ssNone – нет линеек, ssHorizontal – только горизонтальная линейка, ssVertical – только вертикальная линейка, ssBoth – обе линейки. | ssNone (отсутствует), ssHorizontal (горизонтальная), ssBoth (обе) |
MaxLength | Максимально возможное количество введенных символов | Например, 50 – пятьдесят символов, 0 – без ограничений |
Объект Chart позволяет строить диаграммы и графики. Этот компонент находится на вкладе Additional.
|
Ход работы
1. Загрузите среду визуального программирования Delphi.
2. Поменяйте заголовок формы на «Табулирование функции» (без кавычек).
3. Расположите на форме поля редактирования и соответствующие им текстовые поля «Левая граница», «Правая граница», «Шаг», а также текстовое поле для задания вида данной функции y = sin(x) (см. Рис. 1). Надписи в текстовых полях должны быть выровнены по центру.
4. Вставьте в форму панель группы объектов (объект типа GroupBox).
Поменяйте значение свойства Caption (подпись) этого объекта на слово «Вывод» (без кавычек). Размер, стиль и цвет шрифта выберите на свое усмотрение.
5. Вставьте на панель три флажка (Объекты типа CheckBox). Поменяйте значения свойства Caption этих объектов – «На экран», «В файл» и «На график». Размер, стиль и цвет шрифта выберите на свое усмотрение.
6. Вставьте в форму многострочное поле редактирования (объект типа Memo).
Значение свойства ScrollBars (наличие полос прокрутки) этого объекта задайте как ssBoth (наличие двух полос – вертикальной и горизонтальной).
7. Вставить на форму три кнопки (компоненты типа Button). «Вычислить», «Очистить», «Выход».
8. Сохраните проект. (File Þ Save all). Перед сохранением необходимо создать папку под это приложение.
9. Очистить свойство Text компонентов типа Edit.
10. Удалить из многострочного поля редактирования слово Memo1.
Для этого в окне Оbject Inspector смените значение свойства Lines (строки) объекта Memo1. Вызовите окно редактирования этого свойства (окно String list editor – редактор многострочного поля), нажав на кнопку. Удалите слово Memo1 и для завершения работы с этим окном щелкните на кнопке Ok.
11. Вставьте на форму объект Chart, закладка Additional (см. рис. 3а).
Щелкаем по этому объекту два раза. Выбираем закладку Series (рис. 3б). Нажимаем кнопку Add. Выбираем тип графика (рис. 3в). Снимаем флажок 3D. Нажимаем на кнопку Ok. На вкладке Titles задаем заголовок графика. На вкладке Legend снимаем метку у свойства Visible, тем самым убираем список обозначений. Затем нажимаем на кнопку Close.
12. Запрограммируйте команду “Вычислить”.
Для этого дважды нажмите на одноименную кнопку левой клавишей мыши. В результате активизируется окно текста программы с заголовком процедуры Button1Click, которая будет обрабатывать событие щелканья на кнопке Button1:
procedure TForm1.Button1Click(Sender: TObject);
begin
end;
В заготовку необходимо вставить текст программы, реакции на это событие.
Для преобразования строк в числовые типы и обратно использовать функцию StrToFloat, для преобразования в обратном направлении – FloatToStrF.
Свойство Lines объекта типа Memo комплексное, т.е. оно также является объектом со своими свойствами и методами. Результат работы данной программы – это таблица, которая состоит из нескольких строк. Чтобы добавить в поле Memo1 новую строку таблицы, надо поменять значения комплексного свойства Lines (строки) с помощью его метода Add (добавить) с одним аргументом – символьной строкой: Memo1.Lines.Add(строка символов). Вывод в поле Memo1 осуществляется, если выбран соответствующий флажок на форме (Например, if CheckBox1.Checked then оператор;).
Необходимо написать код, задающий данные, которые вы хотите отображать.
Для задания и отображения значений, надо использовать методы серий Series. Рисует графики метод AddXY:
function AddXY(Const AXValue, AYValue: Double; Const AXLabel: String; AColor: TColor): Longint;
Он позволяет добавить новую точку в график функции. Параметры AXValue, AYValue соответствуют аргументу и значению функции. AXLabel – метка, которая будет отображаться на графике и в легенде, AColor – цвет. AXLabel – не обязательный, его можно задать пустой строкой – ‘ ’.
Вывод на график осуществляется, если выбран соответствующий флажок. При запуске программы компонент Chart должен быть не видимым.
Вывод в файл осуществляется, если выбран соответствующий флажок.
13. Запрограммируйте команду “Очистить”.
Метод Clear; – очищает график (очищает серию от занесенных ранее данных). Также этот метод очищает и многострочный редактор.
Изменение свойства Checked компонента CheckBox на false – очищает флажок.
Изменение свойства Text компонента edit на ' ' (пустую строку) – очищает редактор.
14. Запрограммируйте команду “Выход”.
15. Сохраним проект.
Рис 1.
Рис. 2
Рис. 3 а
Рис. 3б
Рис. 3в