ПР_02 1620 н (Практические занятий по делфи)
Описание файла
Файл "ПР_02 1620 н" внутри архива находится в папке "Практические занятий по делфи". Документ из архива "Практические занятий по делфи", который расположен в категории "". Всё это находится в предмете "информационные технологии" из 2 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информационные технологии" в общих файлах.
Онлайн просмотр документа "ПР_02 1620 н"
Текст из документа "ПР_02 1620 н"
Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования «Московский государственный университет приборостроения и информатики» Кафедра ИТ-6 «Управление и моделирование систем» | ||
Утверждаю Зав. кафедрой ИТ-6 | ||
_____________ /Мацнев А.П./ | ||
«____» ____________ 200__ г. | ||
Для преподавателей специальности 230105 | ||
Методическая разработка для проведения практического занятия № 2 | ||
1620 Средства визуального программирования | ||
(шифр, наименование учебной дисциплины) | ||
Тема «Проектирование приложений для работы с БД » | ||
(наименование темы практического занятия) | ||
Рассмотрено на УМС кафедры ИТ-6 | ||
«3» ноября 2006 г. Протокол УМС № 3 | ||
Москва, МГУПИ 2006 г. |
Тема практического занятия: | Проектирование приложений для работы с БД | |||||||||
(наименование темы практического занятия / раздела дисциплины) | ||||||||||
Цели практического занятия: | ||||||||||
| ||||||||||
Задачи практического занятия: | ||||||||||
| Воспитательная – развитие познавательного интереса в области программирования; | |||||||||
| Учебная – рассказать студентам, как создавать формы для базы данных | |||||||||
| Познавательная – расширение кругозора в области Delphi | |||||||||
Продолжительность занятия: | 2 часа (90 мин.) | |||||||||
Место проведения: | ||||||||||
(учебная аудитория, специализированный класс, лаборатория) | ||||||||||
Литература для подготовки: | ||||||||||
основная |
| |||||||||
дополнительная |
| |||||||||
Учебно-материальное обеспечение: | ||||||||||
| М. Э. Абрамян Delphi 7 Карманный справочник с примерами | |||||||||
| - | |||||||||
| Delhi 7, ЭВМ, средство питания | |||||||||
| - | |||||||||
(наименования и №№ схем, таблиц, слайдов, диафильмов) | ||||||||||
План проведения практического занятия. | ||||||||||
| Продолжительность: | до 5 мин. | ||||||||
| Подразделы материала лекции: | до 80 мин. | ||||||||
1-й учебный вопрос: | Виды форм БД и их создание | 5 мин. | ||||||||
2-й учебный вопрос: | Пример 1. Создание формы БД с подформой для работы с информацией из БД «Телефонная книжка» | 20 мин. | ||||||||
3-й учебный вопрос | Создание форм с помощью эксперта-построителя форм БД -Form Wizard | 25 мин. | ||||||||
4-й учебный вопрос | Редактор полей (Fields Editor) и поле набора данных (Класс TField) | 5 мин. | ||||||||
5-й учебный вопрос | Пример 3. Работа с редактором полей при создании формы БД «Телефонная книжка» | 25 мин | ||||||||
| Заключение | до 5 мин. | ||||||||
Содержание практического занятия. | |||||
| . | ||||
– Организационный момент: | – проверка наличия студентов по докладу старосты; – проверка наличия журнала группы, правильности записи темы занятия, отметок об отсутствующих и факта проведения занятия (подпись в журнале); – проверка готовности и порядка в аудитории, наличия конспектов, учебной литературы, пособий; | ||||
– Мотивационное начало занятия: | |||||
Актуальность темы: | Виды форм БД и их создание | ||||
Цель и основные задачи практического занятия: | Создание форм, в том числе и с помощью эксперта-построителя форм БД -Form Wizard | ||||
Область применения знаний, полученных в ходе практического занятия: | Область программирования | ||||
Особенности изучения студентами материала по рассматриваемой проблеме: | Знания некоторых возможностей Delphi позволит студентам углубить их. | ||||
| |||||
1-й учебный вопрос: | Виды форм БД и их создание | ||||
наименование вопроса практического занятия (формулировка задания или задачи) содержание учебного вопроса, принципов его рассмотрения, решение задания: | |||||
Одной из самых существенных возможностей пакета Delphi является разработка приложений для работы с БД. Здесь под приложением мы будем понимать экранную форму, созданную для удобной работы с информацией, хранящейся в таблицах БД. Виды форм БД и их создание Формы БД различаются по способу представления информации. Существуют следующие виды форм:
Создавать форму БД при разработке приложения для работы с БД можно вручную, помещая необходимые компоненты на форму. С другой стороны, можно также воспользоваться помощью эксперта-построителя форм БД, а затем, в случае необходимости изменить расположение отображаемых компонент. Заметим, что эксперт помещает на форму не только отображаемые компоненты, но и компоненты, которые определяют связь с БД. Одной из важных задач при создании приложения для работы с БД является создание качественных форм БД. Простое, понятное расположение компонент не только повышает эффективность работы, но и позволяет минимизировать ошибки ввода. | |||||
2-й учебный вопрос: | Пример 1. Создание формы БД с подформой для работы с информацией из БД «Телефонная книжка» | ||||
1. Откроем новый проект с помощью команды главного меню File|New Application. Изменим свойство Caption (Заголовок) формы Form1 на «Информация о людях». Фактически этот заголовок формы будет являться названием БД. 2. Сразу же сохраним форму Form1 в файле MyExunitDB.pas, а сам проект - в файле MyExampleDB.dpr. Для этого выполним команду главного меню File|Save Project As. При этом также появится окно выбора имени файла, в котором выберем для модуля папку, зададим модулю имя MyExUnitDB, после этого зададим проекту имя MyExampleDB. 3. Поместим на форму Form1 компоненты для связи с таблицей БД, находящейся в файле People.db.
4. Поместим на форму Form1 компоненты для связи с таблицей БД, находящейся в файле Tel.db, для чего выполним операции, аналогичные операциям в предыдущем пункте, только компоненты Table2 и DataSource2 будут связаны с таблицей Tel.db через свойство DatabaseName и DataSet соответственно. 5. Установим взаимосвязь между наборами данных для создания формы с подформой, отображающей данные из двух таблиц БД. Для этого выделим компоненту Table2 на форме Form1. Установим для ее свойства MasterSource значение DataSource 1. Активизируем мышью значение свойства MasterFields этой же компоненты. В комбинированной строке ввода Available Index (Используемые индексы) выберем значение IDPeopleIndex, т.к. взаимосвязь таблиц устанавливается с помощью индексированных полей. Затем в левом списке выберем значение IDPeople (поле в подчиненной таблице Tel, в данном примере оно единственное) и в правом списке выберем значение IDPeople (поле в главной таблице People). Нажмем кнопку Add - установленное соединение отображается в нижней части окна. Если установлена ошибочная связь, ее следует выделить в нижнем окне и нажать кнопку Delete, находящуюся справа от окна. Завершается настройка взаимосвязи таблиц нажатием кнопки ОК. В результате свойство IndexName включает название вторичного индекса - IDPeopleIndex, а MsterFields содержит имя поля в главной таблице, участвующего во взаимосвязи, - IDPeople. 6. Поместим в форму Form1 компоненты, предназначенные для отображения данных из БД. Для этого выполним следующие действия: 6.1. Со страницы Standart палитры компонент поместим в левый верхний угол формы Form1 метку Label (Метка). Изменим с помощью инспектора объектов ее свойство Caption на «Фамилия, имя, отчество».
7. Поместим в форму Form1 со страницы DataControls компоненту DBGrid (Таблица отображения БД). Поместим ее ниже всех компонент, уже размещенных в форме, и несколько уменьшим по вертикали. Здадим ее свойству DataSource значение DataSource2. Если все указанные выше действия были выполнены верно, в компоненте DBGrid1 сразу будет выведено содержимое таблицы Tel.db. 8. Определим список полей, значения из которых следует отобразить в компоненте DBGrid. Для этого необходимо выполнить следующие действия:
дом. раб. После этих операций нажмем кнопку ОК. Таким образом мы задали список, из значений которого можно определять тип телефона. Затем для сложного свойства Titel дадим его параметру Caption значение Тип. Можно заметить, что отображаемые столбцы появляются в компоненте DBGrid1 по мере их определения. 8.4. Чтобы завершить работу с редактором столбцов таблицы, достаточно его закрыть, воспользовавшись стандартной кнопкой на границе окна. 9. Со страницы Standart палитры компонент поместим в форму Form1 метку Label. Разместим ее над компонентой DBGrid1 в левой части. Изменим свойство Caption на Телефоны.
12.1. Нажмем кнопку «Плюс» на панели верхнего навигатора по записям БД. После этого создается новая запись в таблице People, куда внесем информацию о новом человеке. В три строки ввода под меткой «Фамилия, имя, отчество» последовательно введем значения «Хромов», «Олег», «Львович». В строку ввода рядом с меткой «День рождения» введем 14.01.79. Выключатель с надписью «Пол» должен быть включен. Нажмем кнопку «Галочка» на верхней панели навигатора по записям. Созданная запись о человеке сохраняется в таблице People. Сохранить данные о человеке необходимо до начала ввода его телефонов, иначе они не будут соответствовать этому человеку, а в БД окажется столько лишних записей, сколько в этом случае введено телефонов. Чтобы пользователь не смог поступить иначе, нужно запретить ввод данных в компоненту DBGrid1 и нажатие на кнопки DBNavigator2. Для этого необходимо выполнить следующие действия: 12.1.1. Завершите работу программы. Выберите компонент DBNavigator1 на форме. Перейдите на вкладку Events инспектора объектов. 12.1.2. Дважды щелкните правой кнопкой мыши в строке BeforeAction. В окне MyExUnitDB.pas дополните процедуру Form1.DBNavigator1BeforeAction следующим фрагментом: if ((Button=nbInsert) or (Button=nbEdit)) then begin DBNavigator2.Enabled:=false; DBGrid1 .Enabled:=false; end; if Button=nbPost then begin DBNavigator2.Enabled:=true; DBGrid1 .Enabled:=true; end; 12.1.3. Сохраните изменения и запустите программу. 12.2. Нажмем кнопку «Плюс» на панели нижнего навигатора по записям. Создается новая запись в таблице Tel. Введем в ячейку «Номер» номер телефона. Выберем в ячейке «Тип», элемент «дом.» из выпадающего списка. 12.3. Нажмем кнопку «Плюс» на панели нижнего навигатора по записям. Кнопку «Галочка» нажимать для сохранения записи необязательно: при вводе последовательно нескольких телефонов и переходе на новую запись данные о телефоне автоматически сохраняются в таблице, и в этой же таблице создается новая запись. Введем информацию еще об одном телефоне. Нажмем кнопку «Галочка» на панели нижнего навигатора по записям. Созданная запись о телефоне сохраняется в таблице Tel.
Table2.First; while not Table2.Eof do begin Table2.Delete; end; end; Как это осуществить, уже описывалось в п. 12.1. | |||||
3-й учебный вопрос | Создание форм с помощью эксперта-построителя форм БД -Form Wizard | ||||
Создание форм с помощью эксперта-построителя форм БД -Form Wizard FormWizard - эксперт, содержащий диалоговые окна, в которых требуется определить, как и какую информацию из БД следует отобразить в создаваемом окне формы БД. Вызвать данный эксперт можно командой меню DataBase|FormWizard или операцией File|New|Bisuness|DataBase Form Wizard. 1. Определение общего типа формы БД и источника данных Это первое диалоговое окно эксперта. В нем требуется определить тип формы. Для этого нужно выбрать следующие значения: Группа переключателей Form Options (Вид Формы) определяет тип формы и предлагает два варианта: Create simple form (Создать простую форму) - форма, в которой будет отображена информация из одной таблицы; Create master detail form (Создать форму с подформой) - форма, которая может содержать информацию из двух связанных таблиц. Группа переключателей DataSet Options (Выбор источника данных) - определяет, какой объект будет являться источником данных для создаваемой формы: Create a form using TTable object (Создать форму на основе компоненты Table) - форма будет создана на основе таблицы БД; Create a form using TQuery object (Создать форму на основе компоненты Query) - форма в качестве источника данных будет использовать запрос на языке SQL. 2. Выбор таблицы с данными Это диалоговое окно, в котором требуется определить таблицу, данные из которой будут отображены в создаваемой форме. 3. Выбор полей таблицы Это новое диалоговое окно, где требуется определить поля таблицы, информация из которых должна быть отображена в форме. Это окно содержит два списка. В левом находятся поля, которые не входят в создаваемую форму, а в правом - выбраны для отображения в форме. Порядок следования полей можно менять с помощью кнопок с синими стрелками. 4. Выбор способа размещения полей Здесь возможны следующие варианты: Horizontally (Горизонтальное) - поля размещаются слева на право; Vetically (Вертикальное) - поля размещаются сверху вниз; In a grid (Табличное) - данные представляются в виде таблицы (используется DBGrid). Эксперт предложит диалоговое окно в зависимости от выбранного типа формы:
5. Определение расположения названий полей Здесь возможны следующие варианты: Left (Слева) - слева от полей; Тор (Сверху) - над полями. 6. Размещение связанных полей Это окно доступно лишь в случае создания формы с подформой. В верхней части диалогового окна находится выпадающий список Availabel Indexes (Доступные индексы), в котором содержатся все индексы источника данных для подформы. Окно также содержит 3 списка. В левом, Detail Fields (Поля подчиненной формы), находится список полей, которые не связаны, но могут быть связанными в подформе. В правом списке, Master Fields (Поля основной формы), - находится список полей, которые также не связаны, но могут быть связанными в основной форме. Для определения связанных полей нужно выбрать по одному элементу из этих списков, затем нажать кнопку Add (Добавить). После этого в нижнем списке, Joined Fields (Связанные поля), появится строка, содержащая выбранные поля, которые уже являются связанными. Кнопка Clear (Очистить) полностью очищает нижний список. Кнопка Delete (Удалить) позволяет отменить связывание для определенной пары полей. Для того чтобы перейти к следующему диалоговому окну, необходимо определить хотя бы одну пару связанных полей. 7. Характеристики окна формы БД Выключатель Generate a main form (Создать главную форму) указывает на необходимость сделать создаваемое окно формы БД основным в проекте. Группа Form Generation (Содержание формы) определяет, где должны находиться создаваемые неотображаемые компоненты Tabel (Query) и DataSource. Для этого предлагается выбрать один из следующих вариантов: Form Only (Создание только формы) - будет создано только одно окно формы БД, и в нем будут отображены все объекты. Form and DataModule (Создание формы и окна «DataModule») - будет создаваться окно формы БД с отображаемыми компонентами и дополнительное окно «DataModule» c неотображаемыми объектами. При создании формы БД в нее будет добавлен объект Navigator. Для запуска процедуры создания окна с формой БД и завершения работы с экспертом требуется нажать кнопку Finish (Закончить). После создания формы БД ее можно далее корректировать обычными способами. Пример 2. Попробуйте самостоятельно создать форму БД с подформой для работы с информацией из БД «Телефонная книжка» с помощью возможностей Form Wizard. | |||||
4-й учебный вопрос | Редактор полей (Fields Editor) и поле набора данных (Класс TField) | ||||
Редактор полей (Fields Editor) и поле набора данных (Класс TField) Fields Editor помогает вам связывать заказные объекты с некоторыми или всеми полями таблицы. Связав заказной объект с полем, вы можете управлять тем, как поле отображается, форматами, контролерами допустимости значения и данными ввода. Fields Editor также позволяет добавлять новые поля в таблицы во время выполнения и рассчитывать значения, которые будут появляться в новых полях. Эта последняя процедура называется вычисляемыми полями. | |||||
5-й учебный вопрос | Пример 3. Работа с редактором полей при создании формы БД «Телефонная книжка» | ||||
Пример 3. Работа с редактором полей при создании формы БД «Телефонная книжка»
2.1. На форме Form1 активизируем компоненту Table 1. В появившийся редактор полей перенесем все поля таблицы, используя команду локального меню редактора Add Fields. В списке полей, появившемся в редакторе, выделим поле IDPeople. В инспекторе объектов появятся характеристики этого поля. В свойство DisplayFormat поместим следующую строку: 'Порядковый номер: '000 2.2. Используя страницу DataControls палитры компонент, поместим в верхний левый угол формы Form1, перед навигатором, компоненту DBEdit. Несколько увеличим компоненту по горизонтали, чтобы в ней полностью разместилась выводимая информация. Используя инспектор объектов, зададим ее свойству DataSource значение DataSource1, а в свойстве DataField выберем из списка значение IDPeople. Если операции выполнены правильно, в строке ввода DBEdit5 должна появиться соответствующая информация. 3. В предыдущих примерах мы выводили поле «Пол» с помощью компоненты DBCheckBox1, что весьма не наглядно. Выведем это значение словами «Мужской» или «Женский». Для этого выполним следующие операции:
В инспекторе объектов для компоненты DBComboBox1 активизируем мышью свойство Items и в появившемся редакторе строк введем следующие строки: Мужской Женский Работу с редактором завершим нажатием кнопки ОК. 3.3. Используя страницу Standart, поместим слева от комбинированной строки ввода компоненту Label. Используя инспектор объектов, зададим ее свойству Caption значение «Пол ». 4. Теперь выберем формат даты для вывода дня рождения человека. Для этого выполним следующие действия:
5. Запустим программу с помощью команды главного меню Run|Run. На экране будут отображены все внесенные нами изменения. 6. Перемещаясь по записям, отметим, что в добавленной строке ввода появляется порядковый номер записи, соответствующим образом отформатированный. А в комбинированной строке ввода помещается значение пола человека, выраженное соответствующим словом. Это значение при необходимости можно скорректировать, используя выпадающий список.
| |||||
Подведение итогов занятия | Мы изучили основы для работы с формами | ||||
Форма отчетности о проведении практического занятия | |||||
(письменный отчет – форма отчета в приложении; не предусмотрено; иное) | |||||
Задачи и вопросы для самостоятельной работы студентов по тематике практического занятия: | Задание к практическому занятию № 2 1. Используя исходную БД, спроектируйте экранную форму (приложение), включив в нее все поля и оформив некоторые из них следующим образом: Вариант 1. Цвет - комбинированная строка ввода значений поля БД (DBComboBox). Вариант 2. Название танца и оценка - комбинированная строка ввода значений поля БД (DBComboBox). Вариант 3. Номер группы - комбинированная строка ввода значений поля БД (DBComboBox). Вариант 4. Цех - комбинированная строка ввода значений поля БД (DBComboBox). Дату поступления на работу необходимо вывести в формате, например:15 Апрель 1998 г. Вариант 5. Цех - комбинированная строка ввода значений поля БД (DBComboBox). Тип изделия - набор варианта значения поля БД (DBRadioGroup). Вариант 6. Цех - набор варианта значения поля БД (DBRadioGroup). Вариант 7. Год установки телефона необходимо вывести в формате, например:1990 год. Тип установки телефона - выключатель для полей БД логического типа (DBCheckBox). Вариант 8. Возрастная категория детей - комбинированная строка ввода значений поля БД (DBComboBox). Вариант 9. Пол - комбинированная строка ввода значений поля БД (DBComboBox). Семейное положение - набор варианта значения поля БД (DBRadioGroup). Вариант 10. Пол - комбинированная строка ввода значений поля БД (DBComboBox). Год установки телефона необходимо вывести в формате, например:1980 год. Вариант 11. Тип самолета - комбинированная строка ввода значений поля БД (DBComboBox). Вариант 12. Срок поставки обуви необходимо вывести в формате, например:15 Апрель 1998 г. Вариант 13. Дату приема в команду необходимо вывести в формате, например:15 Апрель 1998 г. Название команды - набор варианта значения поля БД (DBRadioGroup). Вариант 14. Признак проживания студента в общежитии - выключатель для полей БД логического типа (DBCheckBox). Выбор дисциплины - выключатель для полей БД логического типа (DBCheckBox). Вариант 15. Дату перечисления необходимо вывести в формате, например:15 Апрель 1998 г. Признак того, является ли организация коммерческой - выбор варианта значения поля БД (DBRadioGroup). Вид затрат перечисления - комбинированная строка ввода значений поля БД (DBComboBox). Вариант 16. Дату поступления и дату продажи необходимо вывести в формате, например:15 Апрель 1998 г. Вариант 17. Дату изготовления необходимо вывести в формате, например:15 Апрель 1998 г. Вариант 18. Вид спорта - комбинированная строка ввода значений поля БД (DBComboBox). Вариант 19. Пол ребенка - набор варианта значения поля БД (DBRadioGroup). Дату рождения ребенка необходимо вывести в формате, например:15 Апрель 1998 г. Вариант 20. Пол - выключатель для полей БД логического типа (DBCheckBox). Тип организации - комбинированная строка ввода значений поля БД (DBComboBox). Вариант 21. Группа - комбинированная строка ввода значений поля БД (DBComboBox). Дисциплина - комбинированная строка ввода значений поля БД (DBComboBox). Дату экзамена необходимо вывести в формате, например:15 Апрель 1998 г. Вариант 22. Пол - комбинированная строка ввода значений поля БД (DBComboBox). Дату рождения и дату поступления необходимо вывести в формате, например:15 Апрель 1998 г. Вариант 23. Семейное положение - набор варианта значения поля БД (DBRadioGroup). Дату прохождения медкомиссии необходимо вывести в формате, например:15 Апрель 1998 г. Вариант 24. Вид изделия - комбинированная строка ввода значений поля БД (DBComboBox). Дату поступления необходимо вывести в формате, например:15 Апрель 1998 г. Разряд - набор варианта значения поля БД (DBRadioGroup). 2. Создайте и разместите на форме вычисляемое(ые) поле, содержащее следующую информацию: Вариант 1. Количество всех поставщиков и имеющихся на складах деталей (видов деталей). Вариант 2. Количество участников конкурса. Вариант 3. Количество студентов, не выполнивших задание. Вариант 4. Сумма заработной платы, приходящейся на цех. Вариант 5. Количество изготовленных изделий каждого типа за неделю. Вариант 6. Количество рабочих во всех цехах. Вариант 7. Количество не спаренных телефонов со льготами и без льгот. Вариант 8. Общее количество мест, откуда поступают игрушки. Вариант 9. Количество студентов, сдавших сессию на все пятерки. Вариант 10. Количество теннисистов из России. Вариант 11. Количество занятых мест на каждый рейс. Вариант 12. Количество пар обуви определенного размера. Вариант 13. Вывести фамилию нападающего, у которого самое большое количество заброшенных шайб. Вариант 14. Средний балл успеваемости в группе. Вариант 15. Общие суммы перечисления в коммерческие и некоммерческие организации. Вариант 16. Количество непроданного товара (по каждой партии). Вариант 17. Вариант Общая стоимость всех единиц определенного лекарства. 18. Число ветеранов по каждому виду спорта. Вариант 19. Количество мальчиков и количество девочек в роддоме. Вариант20. Количество слушателей, не сдавших хотя бы одну дисциплину. Вариант 21. Количество студентов, получающих стипендию. Вариант 22. Количество больных, поступивших в тяжелом состоянии. Вариант 23. Количество женатых и неженатых призывников. Вариант 24. Количество изделий каждого вида.
| ||||
Ответы на вопросы студентов. | В виде реализованного программного продукта | ||||
| |||||
– Методика подготовки места проведения занятия и учебно-материального обеспечения | Аудитория. | ||||
Практическое занятие разработано « 08 » июля 2006г. | |||||
к.т.н., доцент | / Выжигин А.Ю. / | ||||
(ученое звание, степень) | (подпись, фамилия и инициалы автора) | ||||
Технический редактор: | Забава А. В. |