Разработка проекта «Табулирование функции» средствами Delphi 7.0
Оценка 5

Разработка проекта «Табулирование функции» средствами Delphi 7.0

Оценка 5
doc
математика
07.05.2020
Разработка проекта «Табулирование функции» средствами Delphi 7.0
11. Разработка проекта «Табулирование функции» средствами Delphi 7.0.doc

Практическая работа № 3

 

Тема: Разработка проекта «Табулирование функции» средствами Delphi 7.0.

Объекты Memo, MainMenu, PopupMenu, CheckBox, GroupBox. Программирование циклов

Цель работы. Создать форму для решения задачи табулирова­ния функции. Создать главное меню (объект типа MainMenu), содержащее команды: выйти из программы, табулировать функ­цию, очистить поля вывода результатов, а также контекстное ме­ню (PopupMenu) с командой для очистки поля вывода. Результа­ты табулирования вывести в многострочное поле редактирования (объект типа Memo). Предусмотреть возможность вывода результатов на экран, в файл, в массив. Направление вывода за­дать с помощью трёх флажков (объектов типа CheckBox), распо­ложенных на панели группы объектов (типа GroupBox) (см. рис. 9).

Теоретические сведения. Объект Memo применяют для созда­ния многострочного редактора текста. Кроме обычных свойств, поле редактирования Memo обладает еще такими:

Свойство

Описание свойства

Примеры значений

HideSelection

Сохранение выделения фрагмента текста в мо­мент потери фокуса

True (выделение не со­храняется), False (со­храняется)

Lines

Ввод начального текста в поле редактирования

Комплексное свойство (задается в диалоговом окне)

MaxLength

Максимально возможное количество введенных символов

Например, 50 - пятьде­сят символов, 0 - без ограничений

ScrollBars

Наличие полос прокрутки

ssNone (отсутствуют), ssHorizontal (горизон­тальная), ssBoth (обе)

 

 

Объект CheckBox используют для создания независимого двух- или трёхпозиционного флажка: включен/выключен(/серый). Для этого объекта определены такие два новых свойства:

 

Свойство

Описание свой­ства

Примеры значений

AllowGrayed

Наличие третьей позиции

True (трёхпозиционный флажок), False (двухпозиционный флажок)

State

Состояние флажка

cbGrayed (серый), cbUnchecked (отключен), cbChecked (включен)

 

 

Панель группы объектов GroupBox предназначена для разме­щения на ней группы из нескольких объектов. Панель группы используют для улучшения дизайна окна программы. Свойства этого объекта аналогичны описанным выше.

С помощью объекта MainMenu создают главное меню програм­мы. Вот некоторые свойства главного меню:

Свойство

Описание свойства

Примеры значений

Items

Команды меню

Комплексное свойство (зада­ется в диалоговом окне)

Tag

Вспомогательная пе­ременная, использует­ся в тексте программы

0; 8 (целое число)

 

С помощью объекта PopupMenu создают контекстное меню не­которого компонента. Для «связывания» контекстного меню с конкретным объектом необходимо свойству PopupMenu этого объекта присвоить значение имени (Name) соответсвующего контек­стного меню. Рассмотрим некоторые свойства контекстного меню:

 

 

Свойство

Описание свойства

Примеры значений

Alignment

Выравнивание меню относительно точки щелчка по правой кла­више мыши

paCenter (по центру), paLeft (слева), paRight (справа)

AutoPopup

Автоматический вы­зов контекстного меню

True (вызовется при щелчке по правой клавише), False (вызовется с помощью мето­да Popup)

Конкретная команда меню (главного или контекстного) может иметь такие свойства:

 

Свойство

Описание свойства

Примеры значений

Break

Разбивка меню в гори­зонтальном направле­нии

mbNone (без разбивки), mbBarBreak (разбивка с вер­тикальной черточкой), mbBreak (разбивка без верти­кальной черточки)

Shortcut

Комбинация "горячих" клавиш для вызова ко­манды меню

Ctrl+A, F8,

Ctrl+FlO,

 Shift+F3,

 Shift+Ctrl +F11, Ctrl+Del

Ход работы

1.       Загрузите среду визуального программирования Delphi.

2.       Поменяйте заголовок (Caption) формы с «Forml» на «Табу­лирование   функции»   (без   кавычек)   и   увеличьте   размеры формы в вертикальном направлении.

3.       Смените пиктограмму в левом верхнем углу формы, указав конкретный файл с рисунком пиктограммы в поле значения свойства Icon (пиктограмма) формы.

Щелкните в строке Icon на Я, а потом на кнопке Load окна Picture Editor, чтобы получить окно Load picture. Откройте папку С: \ Program Files \ Borland \ Delphi x.O \ Images \ Icons, выбери­те графический файл с любой пиктограммой => Open => Ok.

4.       Сохраните выполненную на данный момент форму в своей папке (File=>Save All).

5.       Расположите   в   форме   поля   редактирования   Editl,   Edit2, Edit3 и соответствующие им текстовые поля «Левая граница», «Правая граница», «Шаг», а также текстовое поле для задания вида данной функции  y=sin(x) +1 (см. рис. 9).

 

 

Замечание. Чтобы быстро вставить в форму несколько одно­типных объектов, щелкните на пиктограмме этого объекта, удерживая нажатой клавишу Shift, а потом — на форме необ­ходимое количество раз. Если случайно вставите лишний объ­ект, то удалить его можно с помощью клавиши Delete. Для от­каза от режима вставки щелкните на изображении стрелки на палитре компонентов. Размер, стиль и цвет шрифта выберите на своё усмотрение так, чтобы форма выглядела как можно лучше. Save all.

6. Выровняйте вставленные поля редактирования к левому краю первого объекта и отцентрируйте текстовое поле с ука­занием функции, воспользовавшись окном выравнивания Alignment.

Выделите группу полей редактирования вместе с подписями к ним и выполните команды Edit (редактировать) => Align (выров­нять) => Horisontal - Left sides (горизонтально - левые границы) •=> Vertical - Space equally (вертикально - равномерно) =» Ok. Вы­делите текстовое поле с выражением для функции и выполните

Команды Edit => Aling Horizontal — Center in Window (горизонтальнок центру окна => Ok. Save All.

 

 

7.Вставьте   в   форму   панель   группы   объектов   (объект   типа GroupBox).

Компонента GroupBox  находится на закладке Standard. По­меняйте значение свойства Caption (подпись) этого объекта на слово «Вывод» (без кавычек). Размер, стиль и цвет шрифта выбе­рите на своё усмотрение. Увеличьте панель группы.

8.   Вставьте на панель три флажка (объекты типа CheckBox).

Для этого используйте компоненту CheckBox  закладки Standard палитры компонентов Delphi. Выровняйте флажки, вы­делив их заблаговременно (см. п. 6). Поменяйте значения свойст­ва Caption (подпись) этих объектов, как показано на рис. 9. Стиль и цвет шрифтов выберите на своё усмотрение.

9.   Установите   флажки   «На   экран»   и   «В   массив»   в   режим «включен».

Для этого выделите эти объекты и смените значения их свойств Checked (контроль выбора) на True.

10. Вставьте в форму многострочное поле редактирования (объ­ект типа Memo).

Компонента Memo  находится на закладке Standard. Уве­личьте размеры поля. Значение свойства ScrollBars (наличие по­лос прокрутки) этого объекта задайте как ssBoth (наличие двух полос - вертикальной и горизонтальной). File => Save All.

11. Задайте начальные значения для полей редактирования ле­вой и правой границ аргумента функции и для шага изменения аргумента, как на рис. 9.

Для этого поменяйте значения свойства Text этих объектов. Для ввода символа десятичной точки примените символ, преду­смотренный операционной системой компьютера.

12. Удалите   из   многострочного   поля   редактирования   слово
Memol.

Для этого в окне Object Inspector смените значение свойства Lines (строки) объекта Memol. Вызовите окно редактирования этого свойства (окно String list editor - редактор многострочного поля), нажав на кнопку . Удалите слово Memol и для заверше­ния работы с этим окном щелкните на кнопке Ok.

 

13. Вставьте в форму главное и контекстное меню (объекты ти­па MainMenu и PopupMenu).

Компоненты MainMenu  и PopupMenu  находятся на за­кладке Standard. Расположите их пиктограммы в произвольном месте формы (на этапе выполнения программы они будут невиди­мыми).

14.  Введите названия команд главного меню формы (см. рис. 11 и рис. 12).

 

 

 

 

 

 

 

 


                 Рис.11                                                                      Рис. 12

Выберете объект MainMenul и дважды щелкните на значении его свойства Items. Другой способ - дважды щелкните на самом объекте. Закройте окно создания команд главного меню Forml .MainMenul.

15. Введите названия команд контекстного меню формы.

Для этого аналогично как для главного меню поменяйте значения свойства Items объекта PopupMenul в окне Forml.PopupMenul (как вызвать это окно см. п. 14). В окне Object Ispector введите значение свойства Caption - «Очистить поле вывода» (без кавычек, рис.13). Можете придумать и задать еще несколько команд. Закройте окно Forml .PopupMenul. Сохраните форму (Save All).

 

 

                                Рис. 13        

16. Запрограммируйте команду «Очистить поле вывода» главно­го меню с помощью метода Clear объекта Memol.

Методы объекта - это набор процедур и функций, которые ана­логично свойствам применяют к объекту. Как и в случае свойства, имя объекта от имени метода отделяется точкой. Щелкните по ко­манде меню «Очистить поле вывода». Появится заготовка процеду­ры реакции на событие вызова этой команды. В нее запишите ко­манду вызова метода Clear для очистки поля вывода объекта Memol:

procedure TForml.N3Click(Sender: Tobject);

{Здесь N3 - имя команды «Очистить поле вывода», у Вас может быть другой номер, его не исправляйте}

begin

{Вызовем метод объекта Memol, очищающий}

Memol.Clear  {многострочное поле редактирования}

end;               (Теперь щелкните на форме}

 

17. Запрограммируйте команду «Выход»  главного меню, воспользовавшись стандартной процедурой Close.

procedure TForml.N6Click(Sender: Tobject);

{Здесь N6 - имя команды «Выход»}

begin

Close          {Закрываем окно программы}

end;            {Теперь щелкните на форме}

Сохраните выполненную на данный момент форму в своей пап­ке (File=>Save All).

18. Запрограммируйте команду «Очистить поле вывода» контек­стного меню.

Дважды щелкните на команде контекстного меню «Очистить поле вывода» в окне Forml.PopupMenul (вызов этого окна см. в п. 14). Текст процедуры очистки такой же, как и для команды главного меню: Memol.Clear (см. п. 16).

19. «Свяжите» контекстное меню PopupMenul с формой Forml.

Щелкните на форме и задайте свойство формы PopupMenu как PopupMenul.

Замечание. Значение свойства формы Menu автоматически ус­танавливается как MainMenul в момент создания главного ме­ню (п. 13).

20. Запустите созданную на этот момент программу и исследуй­те ее работу.

Поупражняйтесь с многострочным полем редактирования Memol, вводя и корректируя в нем некоторый текст. Обратите внимание на то, что в этом окне можно выполнять такие же дей­ствия с текстом, как и в текстовом редакторе: выделять фрагмент текста, копировать, переносить или удалять этот фрагмент. Выберите текст с помощью команды главного меню «Очистить поле вывода». Еще раз введите текст и выберите его с помощью кон­текстного меню (для вызова контекстного меню формы нужно щелкнуть правой клавишей мыши на свободном месте формы). Закончите работу программы, щелкнув на кнопке «Выход».

21. Запрограммируйте команду «Табулировать».

Свойство Lines объекта типа Memo комплексное, то есть оно также является объектом со своими свойствами и методами. Ре­зультат работы данной программы - это таблица, которая состоит из нескольких строк. Чтобы добавить в поле Memol новую строку таблицы, надо поменять значения комплексного свойства Lines (строки) с помощью его метода Add (добавить) с одним аргумен­том — символьной строкой: Memol.Lines.Add('cтpoкa символов'). Щелкните на команде «Табулировать» из главного меню один раз. Появится заготовка к процедуре, которую заполните так:

procedure Tforml.N2Click(Sender: TObject);
var        x, у, h, a, b   :      real;

cod                :        integer;

str1, str2       :       string;

begin

{В объект Memol вставляем строку с подписями столбцов

значений аргумента и функции}
Memol. Lines.Add('     X       F(X)');

{Получаем числовое значение левой границы.}
Val(Editl.Text, a, cod);
{Получаем числовое значение правой границы}
Val(Edit2.Text, b, cod);
{Получаем числовое значение шага}
Val(Edit3.Text, h, cod);
х:=а;
           {Табулируем функцию}

while x<=b+h/2 do {пока аргумент х не превысит }
begin                    {правую границу с определенным запасом}

y:=sin(x)+1;       {Вычисляем значения функции}

{Формируем символьные строки из значений }

Str(x:8:2,strl);     { аргумента и функции}

Str(y:8:3,str2);

 if CheckBoxl.Checked then {Вставляем строку в поле Memol} Memol .Lines.Add(str1+str2);

x:=x+h; {Увеличиваем аргумент на величину шага} end

end;

22.   Выполните программу и поупражняйтесь с разными значениями левой, правой границы и шага аргумента. Закройте окно программы «Табулирование функции».

23.  Сохраните созданную программу в своей папке.

24.  Создайте ехе-файл программы.

25.   Закройте Delphi, запустите созданную программу и выпол­ните вычисления для различных входных данных.

26.  Продемонстрируйте   созданную   форму   преподавателю.   За­кончите работу.


27.  

Практическая работа № 3 Тема:

Практическая работа № 3 Тема:

Панель группы объектов GroupBox предназначена для разме­ щения на ней группы из нескольких объектов

Панель группы объектов GroupBox предназначена для разме­ щения на ней группы из нескольких объектов

Щелкните в строке Icon на Я, а потом на кнопке

Щелкните в строке Icon на Я, а потом на кнопке

Вставьте в форму панель группы объектов (объект типа

Вставьте в форму панель группы объектов (объект типа

Вставьте в форму главное и контекстное меню (объекты ти­па

Вставьте в форму главное и контекстное меню (объекты ти­па

Щелкните по ко­ манде меню «Очистить поле вывода»

Щелкните по ко­ манде меню «Очистить поле вывода»

В объект Memol вставляем строку с подписями столбцов значений аргумента и функции}

В объект Memol вставляем строку с подписями столбцов значений аргумента и функции}
Скачать файл