ÌÈÍÈÑÒÅÐÑÒÂÎ ÎÁÐÀÇÎÂÀÍÈß ÐÎÑÑÈÉÑÊÎÉ ÔÅÄÅÐÀÖÈÈ
Ñàíêò-Ïåòåðáóðãñêèé ãîñóäàðñòâåííûé óíèâåðñèòåò àýðîêîñìè÷åñêîãî ïðèáîðîñ...
28 downloads
610 Views
137KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
ÌÈÍÈÑÒÅÐÑÒÂÎ ÎÁÐÀÇÎÂÀÍÈß ÐÎÑÑÈÉÑÊÎÉ ÔÅÄÅÐÀÖÈÈ
Ñàíêò-Ïåòåðáóðãñêèé ãîñóäàðñòâåííûé óíèâåðñèòåò àýðîêîñìè÷åñêîãî ïðèáîðîñòðîåíèÿ
ОСНОВЫ OBJECT PASCAL И DELPHI Методические указания к выполнению лабораторных работ № 1–4
Ñàíêò-Ïåòåðáóðã 2003
Составители: Л. К. Крюкова и Ю. П. Покровский Рецензент О. И. Красильникова
Методические указания предназначены для выполнения лабораторных работ по курсу «Высокоуровневые методы информатики и программирования» и соответствуют материалу, читаемому студентам дневной формы обучения по специальности 2016. Студенты знакомятся с новыми возможностями языка Object Pascal по сравнению с языком Borland Pascal 7.0 и осваивают конструкции языка в интегрированной среде Delphi. Подготовлены кафедрой конверсионных компьютеризированных систем и рекомендованы к изданию редакционно-издательским советом Санкт-Петербургского государственного университета аэрокосмического приборостроения.
© Санкт-Петербургский государственный университет аэрокосмического приборостроения, 2003
Подписано к печати 14.02.03. Формат 60×84 1/16. Бумага офсетная. Печать офсетная. Усл. печ. л. 0,5. Уч. -изд. л.0,46. Тираж 100 экз. Заказ № Редакционно-издательский отдел Отдел электронных публикаций и библиографии библиотеки Отдел оперативной полиграфии СПбГУАП 190000, Санкт-Петербург, ул. Б. Морская, 67
2
ПРЕДИСЛОВИЕ Язык Object Pascal является прямым потомком языка Borland Pascal 7.0. В нем сохранены все основные конструкции версии 7.0, включая алфавит языка, структуру типов данных, правила составления выражений, операторы языка, процедуры и функции. Основные отличия Object Pascal в переработке важнейшей части языка – модели объектов. Новая модель объектов, ориентируется на интегрированную среду разработку (ИСР) Delphi и полностью построена на принципах объектно-ориентированного программирования (ООП). Синтаксис языка 1. Все типы, константы, переменные, функции, процедуры должны быть описаны до их первого использования. 2. Прописные и строчные буквы идентичны. 3. Ссылка на идентификаторы, описанные в разных модулях или объектах, даются в нотации с разделительной точкой. Например: Unit1.x1 или Unit2.x1. 4. Все предложения языка заканчиваются «;» (исключение – конец программы или модуля «end» и предложения перед «else»). 5. Комментарии в фигурных скобках (или (*……*)). Комментарии в фигурных скобках не должны начинаться с символа $. Символы «/ /» предваряют комментарий до конца строки. 6. Составной оператор заключается в операторные скобки «begin….end». Структура программы Программа состоит из головного файла и модулей. Головной файл имеет вид: Program < имя > <объявление модулей и локальных типов, классов, констант, переменных и функций> begin <операторы тела программы> end В среде Delphi в головном файле помещаются операторы инициализации приложения, создание форм и запуска приложения. При входе в Delphi головной модуль создается автоматически и имеет имя «Project1». Для каждой программы стандартное имя головного модуля нужно заменить на уникальное. 3
Структура модуля Unit <имя модуля> Interface Uses <списки используемых модулей> <объявление глобальных типов, констант, переменных, функций, процедур> implementation<объявление локальных типов, констант, переменных, функций, процедур > <описание функций и процедур глобальных и локальных> initialization <операторы, выполняемые при первом обращении к модулю> finalization <операторы, выполняемые при любом завершении работы модуля> Краткие сведения об интегрированной среде Delphi ИСР Delphi содержит редактор кодов, компилятор, отладчик, редактор изображений, инструментальные панели, позволяющие разрабатывать сложные прикладные программы. Главным отличием от среды Turbo является сочетание в ИСР Delphi средств программирования и средств автоматического создания кода. Разработчику представляется большой набор стандартных компонентов, которые можно включать в разрабатываемую программу методом «перетаскивания» из палитры компонентов на создаваемую форму. При установке на форму компонента в программу автоматически добавляется программный код, описывающий этот компонент. Одновременно в специальном окне, называемом Object Inspector, появляется набор свойств данного компонента и перечень событий, на которые он реагирует. ИСР Delphi является надстройкой над операционной системой Windows и тесно с ней взаимодействует. Работа с клавиатурой, дисплеем и дисками обеспечивается стандартными средствами Windows. При выполнении лабораторных работ студенты должны освоить правила работы с компонентами Delphi и создавать небольшие программы, использующие заданные наборы компонентов, а также научиться писать программы – обработчики событий.
4
Лабораторная работа № 1 Текстовые компоненты и списки в Delphi (Label, Edit, Memo, ListBox, CheckListBox, ComboBox, MaskEdit) Цель работы: создать программу с компонентами, согласно варианту, заданному преподавателем. Таблица вариантов Kомпонент № варианта Label Edit Memo ListBox Check Comb Mask Radio But ListBox oBox Edit Button ton 1 * * * * 2 * * * * 3 * * * * 4 * * * * 5 * * * * 6 * * * * 7 * * * * 8 * * * * 9 * * * * 10 * * * * 11 * * * * 12 * * * * 13 * * * * 14 * * * * 15 * * * * 16 * * * * 17 * * * * 18 * * * * 19 * * * * 20 * * * * 21 * * * * 22 * * * * 23 * * * * 24 * * * *
5
Порядок проведения работы 1. Изучить свойства заданных компонентов, используя Help и ИСР Delphi, или по литературе. 2. Создать проект, форму и модуль под своим именем, типа <ЛР1_имя>.dpr, <ЛР1_имя>.pas и <ЛР1_имя>.dfm. 3. Разместить на форме заданные в таблице варианты компонентов. Дать им уникальные имена с использованием венгерской записи (например: lblMyLabel или edMyFriend). Текст надписей – произвольный. 4. Завершить программу оператором ShowMessage (<string>); 5. Файлы <ЛР1_имя>.dpr ,< ЛР1_имя>. pas и < ЛР1_имя>.dfm поместить в каталог с номером группы. Отчет о работе 1. Напечатать или написать текст программы отлаженного модуля с комментариями. 2. Продемонстрировать преподавателю работу созданной программы. Контрольные вопросы 1. Какое свойство делает компонент невидимым? 2. Какое свойство делает компонент активным? 3. Как изменить размер шрифта в подписи? 4. Как определить номер выбранной записи в списке? 5. Как изменить цвет и стиль надписи? 6. Как создать многострочную надпись? 7. Какое свойство управляет возможностью редактирования on-line в компонентах Edit и MaskEdit? 8. Как преобразовать цифры-символы в числовую переменную?
6
Лабораторная работа № 2 Кнопки, индикаторы и управляющие элементы в Delphi (BitBtn, SpeedButton, RadioGroup, CheckBox, GroupBox, UpDown, TrackBar, ScrollBar, Timer) Цель работы: создать программу и форму, сохраняющие компоненты, согласно варианту заданному преподавателем. Таблица вариантов № варианта 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Kомпонент Bit Speed Up Check Radio Group Track Scrool Timer Btn Butten Down Box Group Box Bar Bar * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
7
Порядок проведения работы 1. Изучить свойства заданных компонентов. 2. Создать форму и модуль <ЛР2-имя>.pas, <ЛР2-имя>.dfm. 3. Разместить на форме заданные компоненты. Дать им уникальные имена, используя венгерскую запись (например: cbMyCombo или bbMyComando). 4. Написать обработчики событий onllick, последовательно перемещающих фокус от компонента к компоненту. 5. Завершить программу оператором ShowMessage (<string>). 6. Поместить файлы в каталог с номером группы. Отчет о работе 1. Напечатать или написать текст программы отлаженного модуля с комментариями. 2. Продемонстрировать преподавателю работу созданной программы. Контрольные вопросы 1. Чем отличается компонент BitBtn от Button? 2. В чем преимущество компонента GroupBox перед RadioGroup? 3. Какие компоненты фиксируют нажатое состояние? 4. Какой индикатор допускает два или три состояния? 5. Как определить какая строка выбрана и какой индикатор нажат в CheckBox? 6. Основные свойства компонентов TrackBar и ScrollBar? 7. Как сделать компонент невидимым через 10 с после его активизации, используя компонент Timer?
8
Лабораторная работа № 3 Работа с меню, панелями и компонентами внешнего оформления (MainMenu, PopupMenu, Panel, Bevel, Splitter, TabControl, PageControl) Цель работы:создать программы со стандартными меню, а также с многостраничным компонентом с закладками. Порядок проведения работы 1. Изучить свойства заданных компонентов. 2. Создать форму и модуль <ЛР3-имя>.pas, <ЛР3-имя>.dfm. 3. В ИСР Delphi вызвать конструктор меню и создать главное меню с произвольным набором разделов (не менее четырех) и подменю (одно–два). 4. Аналогично создать всплывающее меню PopupMenu с произвольным набором разделов. 5. Вызвать компонент Panel и создать на нем группу компонентов, например из лабораторной работы № 1. 6. Выделить часть компонентов, используя рамку Bevel. 7. Разделить панель, используя компонент Splitter. 8. Создать многостраничные компоненты, используя PageControl. 9. Создать страницу с переключаемыми закладками, используя TabControl. Панели на странице делать видимыми в зависимости от выбранной закладки в TabControl. 10. Поместить файлы в каталог с номером группы. Отчет о работе 1. Напечатать или написать текст программы отлаженного модуля с комментариями. 2. Продемонстрировать преподавателю работу созданной программы. Контрольные вопросы. 1. Можно ли объединять главное меню? 2. Можно ли объединить всплывающее (контекстное) меню? 3. Как выделен раздел, выполняемый при событии OnDblClick на меню? 4. Что определяет свойство меню GroupIndex? 5. Как реагирует раздел со свойством Enabled=false на событие OnClick? 6. Как визуально выделить группу компонентов на панели? 7. Что задает свойство PageControl.PageIndex? 8. Чем отличаются события OnChanging от OnChange? 9
Лабораторная работа № 4 Обработка событий клавиатуры и мыши Цель работы: создание программ обработчиков событий клавиатуры и мыши на базе формы, созданной в лабораторной работе № 3. Таблица вариантов № варианта 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
10
Kомпонент On On On OnKey On Key OnKey On OnExit Dbl Change Enter Down Press Up Click Click * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Отчет о работе 1. Напечатать или написать текст программы отлаженного модуля с комментариями. 2. Продемонстрировать преподавателю работу созданной программы. Контрольные вопросы 1. Из каких событий состоит событие OnClick? 2. Из каких событий состоит событие OnDblClick? 3. Когда и для каких компонентов фиксируется событие OnChage? 4. Когда фиксируется событие OnEnter? 5. Когда фиксируется событие OnExit? 6. Чем отличаются события OnKeyDown и OnKeyPress?
Библиографический список 1. Дарахвелидзе П., Марков Е. Delphi – среда визуального программирования. СПб.: BHV–Санкт-Петербург, 1996. 2. Архангельский А. Я. Программирование в Delphi 4. М.: Бином, 1999.
11
Содержание Предисловие ................................................................................................. 3 Лабораторная работа № 1 ............................................................................ 5 Лабораторная работа № 2 ............................................................................ 7 Лабораторная работа № 3 ............................................................................ 9 Лабораторная работа № 4 .......................................................................... 10 Библиографический список ...................................................................... 11
12