Методичка по лабораторным Delphi. Протокол 11 Зав кафедрой А. А. Прихожий содержание лабораторная работа 1
Скачать 0.58 Mb.
|
ЛАБОРАТОРНАЯ РАБОТА № 8. ПРОГРАММИРОВАНИЕ ЦИКЛОВ. Цель работы. Создать форму для решения задачи табулирования функции. Создать главное меню (объект типа MainMenu), содержащее команды: выйти из программы, табулировать функцию, очистить поля вывода результатов, а также контекстное меню (PopupMenu) с командой для очистки поля вывода. Результаты табулирования вывести в многострочное поле редактирования (объект типа Memo). Предусмотреть возможность вывода результатов на экран, в файл, в массив. Направление вывода задать с помощью трех флажков (объектов типа CheckBox), расположенных на панели группы объектов (типа GroupBox) (см. рис.1). Теоретические сведения Объект Memo применяют для создания многострочного редактора текста. Кроме обычных свойств, поле редактирования Memo обладает свойствами:
Объект CheckBox используют для создания независимого двух- или трехпозиционного флажка: включен/выключен( /серый). Для этого объекта определены два новых свойства:
Панель группы объектов GroupBox предназначена для размещения на ней группы из нескольких объектов. Панель группы используют для улучшения дизайна окна программы. Свойства этого объекта аналогичны описанным выше. С помощью объекта MainMenu создают главное меню программы. Вот некоторые свойства главного меню:
С помощью объекта PopupMenu создают контекстное меню некоторого компонента. Для «связывания» контекстного меню с конкретным объектом необходимо свойству PopupMenu этого объекта присвоить значение имени (Name) соответствующего контекстного меню. Рассмотрим некоторые свойства контекстного меню:
Конкретная команда меню (главного или контекстного) может иметь такие свойства:
Ход работы 1. Загрузите систему визуального программирования Delphi. 2. Поменяйте заголовок (Caption) формы с «Form1» на «Табулирование функции» (без кавычек) и увеличьте размеры формы в вертикальном направлении. 3. Смените пиктограмму в левом верхнем углу формы, указав конкретный файл с рисунком пиктограммы в поле значения свойства Icon (пиктограмма) формы. Щелкните в строке Icon на ... , а потом на кнопке Load окна Picture Editor, чтобы получить окно Load picture. Откройте папку С:\ Program Files \ Common Files\Borland Shared \Images \ Icons, выберите графический файл с любой пиктограммой => Open=> Ok. 4. Сохраните выполненную на данный момент форму в своей папке (File => Save All). 5. Расположите в форме поля редактирования Editl, Edit2, Edit3 и соответствующие им текстовые поля "Левая граница", "Правая граница", "Шаг", а также текстовое поле для задания вида данной функции у=sin(х) +1 (см. рис.1). Замечание. Чтобы быстро вставить в форму несколько однотипных объектов, щелкните на пиктограмме этого объекта, удерживая нажатой клавишу Shift, а потом - на форме необходимое количество раз. Если случайно вставите лишний объект, то удалить его можно с помощью клавиши Delete. Для отказа от режима вставки щелкните на изображении стрелки на палитре компонентов. Размер, стиль и цвет шрифта выберите на свое усмотрение так, чтобы форма выглядела как можно лучше. Save All. 6. Выровняйте вставленные поля редактирования к левому краю первого объекта и отцентрируйте текстовое поле с указанием функции, воспользовавшись окном выравнивания Alignment. Выделите группу полей редактирования вместе с подписями к ним и выполните команды Edit (редактировать) => Align (выровнять) => Horisontal - Left sides (горизонтально - левые границы) Vertical - Space egually (вертикально - равномерно) => Ok. Выделите текстовое поле с выражением для функции и выполните команды Edit => Align => Horisontal - Center in Window (горизонтально - к центру окна) => Ok. Save All.
Компонент GroupBox находится на закладке Standard.Поменяйте значение свойств Caption (подпись) этого объекта на слово «Вывод» (без кавычек). Размер, стиль и цвет шрифта выберите на своё усмотрение. Увеличьте панель группы. 8. Вставьте на панель три флажка (объекты типа CheckBox). Для этого используйте компонент CheckBox закладки Standard палитры компонентов Delphi. Выровняйте флажки, выделив их заблаговременно (см. п. 6). Поменяйте значения свойства Сарtion(подпись) этих объектов, как показано на рис. 1. Стиль и цвет шрифтов выберите на своё усмотрение. 9. Установите флажки «На экран» и «В массив» в режим «включен». Для этого выделите эти объекты и смените значения их свойств Checked (контроль выбора) на True. 10. Вставьте в форму многострочное поле редактирования (объект типа Мемо). Компонент Memo находится на закладке Standard. Увеличьте размеры поля. Значение свойства ScrollBars (наличие полос прокрутки) этого объекта задайте как ssBoth (наличие двух полос - вертикальной и горизонтальной). File =>Save All. 11. Задайте начальные значения для полей редактирования левой и правой границ аргумента функции и для шага изменения аргумента, как на рис. 1. Для этого поменяйте значения свойства Text этих объектов. Для ввода символа десятичной точки примените символ, предусмотренный операционной системой компьютера. 12. Удалите из многострочного поля редактирования слово Memol. Для этого в окне Object Inspector смените значение свойства Lines (строки) объекта Memo1. Вызовите окно редактирования этого свойства (окно String list editor - редактор многострочного поля), нажав на кнопку .... Удалите слово Memol и для завершения работы с этим окном щелкните на кнопке Ok. 13. Вставьте в форму главное и контекстное меню (объекты типа MainMenu и PopupMenu). Компоненты типа MainMenu и PopupMenu находятся на закладке Standard. Расположите их пиктограммы в произвольном месте формы (на этапе выполнения программы они будут невидимыми). 14. Введите названия команд главного меню формы (см. рис. 3 и рис. 4). Выберите объект MainMenu1 и дважды щелкните на значении его свойства Items. Другой способ - дважды щелкните на самом объекте. Закройте окно создания команд главного меню Form1.MainMenu1. 15. Введите названия команд контекстного меню формы. Для этого аналогично, как для главного меню, поменяйте значения свойства Items объекта PopupMenu1 в окне Form1.PopupMenu1 (как вызвать это окно см. п. 14). В окне Object Inspector введите значение свойства Caption - «Очистить поле ввода» (без кавычек, рис.5). Можете придумать и задать еще несколько команд. Закройте окно Form1.PopupMenul. Сохраните форму (Save All). 16. Запрограммируйте команду «Очистить поле вывода» главного меню с помощью метода Clear объекта Memo1. Методы объекта - это набор процедур и функций, которые аналогично свойствам применяют к объекту. Как и в случае свойства, имя объекта от имени метода отделяется точкой. Щелкните по команде меню «Очистить поле вывода». Появится заготовка процедуры реакции на событие вызова этой команды. В нее запишите команду вызова метода Clear для очистки поля вывода объекта Memo1: procedure TForml.N3Click(Sender: TObject); {Здесь N3 - имя команды «Очистить поле вывода», у Вас может быть другой номер, его не исправляйте} begin {Вызовем метод объекта Memo1, очищающий} Memo1.Clear {многострочное поле редактирования} end; {Теперь щелкните на форме} 17. Запрограммируйте команду «Выход» главного меню, воспользовавшись стандартной процедурой Close. procedure TForm1.N6Click(Sender: TObject); {Здесь N6 - имя команды «Выход»} begin Close {Закрываем окно программы} end; Сохраните выполненную на данный момент форму в своей папке (File =>Save All). 18. Запрограммируйте команду «Очистить поле вывода» контекстного меню. Дважды щелкните на команде контекстного меню «Очистить поле вывода» в окне Forml.PopupMenul (вызов этого окна см. в п. 14). Текст процедуры очистки такой же, как и для команды главного меню: Меmо1.Сlеаr(см. п. 16). 19. «Свяжите» контекстное меню PopupMenul с формой Forml. Щелкните на форме и задайте свойство формы PopupMenu как PopupMenu1. Замечание. Значение свойства формы Menu автоматически устанавливается как MainMenu1 в момент создания главного меню (п. 13). 20. Запустите созданную на этот момент программу и исследуйте ее работу. Поупражняйтесь с многострочным полем редактирования Memol, вводя и корректируя в нем некоторый текст. Обратите внимание на то, что в этом окне можно выполнять такие же действия с текстом, как и в текстовом редакторе: выделять фрагмент текста, копировать, переносить или удалять этот фрагмент. Вытрите текст с помощью команды главного меню «Очистить поле вывода». Еще раз введите текст и вытрите его с помощью контекстного меню (для вызова контекстного меню формы нужно щелкнуть правой клавишей мыши на свободном месте формы). Закончите работу программы, щелкнув на кнопке «Выход». 21. Запрограммируйте команду «Табулировать». Свойство Lines объекта типа Меmо - комплексное, то есть оно также является объектом со своими свойствами и методами. Результат работы данной программы - это таблица, которая состоит из нескольких строк. Чтобы добавить в поле Memol новую строку таблицы, надо поменять значения комплексного свойства Lines (строки) с помощью его метода Add (добавить) с одним аргументом - символьной строкой: Memol.Lines.Add('строка символов'). Щелкните на команде «Табулировать» из главного меню один раз. Появится заготовка к процедуре, которую заполните так: procedure Tform1.N2CIick(Sender:Tobject); var x, у, h,a,b : real; cod : integer; strl, str2 : string; begin {В объект Memo1 вставляем строку с подписями столбцов значений аргумента и функции} Memol.Lines.Add(' X F(X)'); {Получаем числовое значение левой границы} Val(Editl.Text,a,cod); {Получаем числовое значение правой границы} Val(Edit2.Text, b, cod); (Получаем числовое значение шага} Val(Edit3.Text, h, cod); x:=a; {Табулируем функцию} while x<=b+h/2do {пока аргумент х не превысит} begin {правую границу с определенным запасом} y:=sin(x)+1; {Вычисляем значения функции} {Формируем символьные строки из значений } Str(x:8:2,strl); { аргумента и функции} Str(y:8:2,str2); if CheckBox1.Checked then {Вставляем строку в поле Memo1} Memo1.Lines.Add(strl +str2); x:=x+h; {Увеличиваем аргумент на величину шага} end; end; 22. Выполните программу и поупражняйтесь с разными значениями левой, правой границы и шага аргумента. Закройте окно программы «Табулирование функции». 23. Сохраните созданную программу в своей папке. 24. Создайте ехе-файл программы. 25. Закройте Delphi, запустите созданную программу и выполните вычисления для различных входных данных. 26. Продемонстрируйте созданную форму преподавателю. Закончите работу. Задания: 1. Добавьте к контекстному меню команду «Выход» и запрограммируйте ее. 2. Создайте и запрограммируйте еще одно контекстное меню, содержащее команды «Убрать все флажки», «Включить все флажки», «Включить инверсивно». Такое меню должно появляться после щелчка правой клавишей мыши, установив курсор в любой точке панели с флажками. Не забудьте «привязать» это меню (PopupMenu2) к панели с флажками (см. пункт 19). Рис. 1 Рис. 2 Рис. 3 Рис. 4 Рис.5 ЛАБОРАТОРНАЯ РАБОТА № 9. РАБОТА С ФАЙЛАМИ ЗАПИСЕЙ В OBJECT PASCAL. СОЗДАНИЕ ОКОН И СТАНДАРТНЫХ ДИАЛОГОВ. КОМПОНЕНТЫ ДОСТУПА К БАЗАМ ДАННЫХ. Новые объекты: многостраничный блокнот, комбинированный список. Создание новых окон и стандартных диалогов. Работа с файлами записей в Object Pascal. Цель работы. Создать программу для работы с базой данных - телефонным справочником, сформированным в виде файла записей. В каждой записи определены поля: фамилия и имя (строки по 20 символов каждая), адрес и номер телефона (строки длиной 100 и 15 символов соответственно). Необходимо реализовать следующие операции: создание и удаление записи, сохранение и считывание файла записей с диска, редактирование, поиск и сортировку данных в алфавитном порядке, просмотр записей и навигацию по базе. Ознакомиться с новыми объектами: многостраничным блокнотом (PageControl), страницей блокнота (TabSheet), комбинированным списком (ComboBox), диалоговым окном (AboutBox), стандартными диалогами открытия и сохранение файлов (OpenDialog и Save Dialog). |