- •Практическая работа №6 Написание программы Первый пример программы
- •Второй пример программы
- •Практическая работа № 7 Работа с переменными и массивами
- •Переменные.
- •Работа с массивами
- •Компонент tStringGrid
- •Порядок выполнения задания
- •Настройка компонента tStringGrid
- •A : Mas2; // Объявление двумерного массива
- •Лабораторная работа № разработка интерфейса пользователя программной системы
- •Указания по выполнению работы
- •Выполнение индивидуального задания
- •Лабораторная работа № Создание приложений для работы с базами данных На основе технологии bde
- •Реляционные базы данных. Основные понятия и определения
- •Средства Delphi, предназначенные для разработки и эксплуатации приложений, использующих базы данных
- •Создание и просмотр псевдонимов баз данных.
- •3. С помощью Database Explorer (sql Explorer)
- •Создание таблиц с помощью Database Desktop
- •Организация работы с базами данных в Delphi
- •Порядок выполнения задания
- •Создание таблицы базы данных
- •7.3.2. Создание программного модуля открытия и редактирования таблицы
- •3.Компоненту dbNavigator1:
- •4.Компоненту dbGrid1:
- •3.Компоненту dbGrid2:
- •Индивидуальные задания
- •Индивидуальные задания
- •1.2. Опция Edit
- •1.3. Опция Run
- •Пиктографические кнопки главного меню
- •Меню компонентов
- •Свойства компонента Edit (поле редактирования)
- •Свойства компонента Button (командная кнопка)
- •Свойства компонента Memo
- •Математические Функции
- •Основные математические функции
- •Отладка программ
- •1. Точки контрольного останова
- •2. Окно наблюдения
- •3. Принудительное прерывание работы программы
- •4. Трассировка программы
- •5. Действия в точках прерывания
- •6. Группировка точек прерывания
- •7. Вычисление выражений и изменение значений
- •8. Ведение протокола работы программы
- •Особенности прикладных программ, разработанных в среде Delphi, для работы с базами данных (бд)
- •Объект tQuery (запрос)
- •TQuery и параметры
- •Графический инструментарий
- •1. Класс tFont
- •Свойства класса tFont
- •2.Класс тРеn
- •Свойства класса тРеn
- •3. Класс tBrush
- •Свойства класса tBrush
- •4. Класс tCanvas
- •Свойства класса tCanvas
- •Методы класса tCanvas
Индивидуальные задания
Варианты задач
1.Городской транспорт
Список характеристик:
Вид транспорта, номер маршрута, начальная остановка, конечная остановка, время в пути, примечание.
2.Аэропорт
Список характеристик:
Номер рейса, пункт назначения, дата рейса, тип самолета, время вылета, время в пути, сведения о пассажире.
3. Персональные ЭВМ
Список характеристик:
Фирма-изготовитель, тип процессора, тактовая частота, объем ОЗУ, объем жесткого диска, дата выпуска.
4.Университет
Список характеристик:
Номер, ФИО, адрес и должность преподавателя, название предмета.
5.Деканат
Список характеристик:
Kод группы, ФИО, телефон слушателя, код, название предмета, код сессии и оценки по предмету.
6. Оптовая база
Список характеристик:
Код товара, название товара, количество на складе, стоимость единицы товара, примечания-описание товара.
7.Сеть магазинов
Список характеристик:
Номер, название, адрес и телефон магазина, ФИО и ИНН владельцев магазина.
9. Личные данные о студентах
Список характеристик:
ФИО студента, курс, факультет, специальность, дата рождения студента, сведения о семье.
10. Железнодорожный вокзал
Список характеристик:
Номер поезда, пункт назначения, номер путей и платформы, дата прибытия, дата отбытия, ФИО пассажира.
лабораторная работа №
РАБОТА СО СВЯЗАННЫМИТАБЛИЦАМИ.
ПОСТРОЕНИЕ ПРОСТЕЙШИХ ОТЧЕТОВ
Цель лабораторной работы: приобрести практические навыки организации работы приложения со связанными таблицами базы данных.
Задачи лабораторной работы:
• изучить понятие справочника;
• отработать технологию связывания таблиц базы данных;
• закрепить навыки работы с базами данных.
Указания по выполнению работы
В данной работе будут рассмотрены базы данных со связанными таблицами. Наиболее распространенным отношением таблиц является отношение «один ко многим». На рис. 1. показан пример такого отношения– между двумя таблицами :«Контрагенты» и «Документы». При взаимодействии с одним контрагентом формируется несколько документов, но полные реквизиты контрагента хранятся только в одной записи, а таблицы связаны по коду контрагента.
Рис. 1. Пример отношения «один ко многим»
В приведенном примере таблица «Контрагенты» может выступать в качестве справочника для заполнения таблицы «Документы» - при вводе нового документа наименование контрагента можно выбрать из списка.
В данной работе взаимодействие с базой данных также будем строить через компоненты ADO. Как и в предыдущей работе, задачей будет доработка ежедневника.
Порядок выполнения работы:
1.Скопируйте созданную вами в предыдущей работе базу данных ежедневника (db1.mdb) в новую папку Lab на вашем диске.
2.Запустите MS Access: Пуск\Программы\Microsoft Access. Откройте базу данных db1.mdb из папки Lab.
3.Добавьте в базу данных новую таблицу Person следующей структуры: Code−Числовой, Family−Текстовый, Name−Текстовый, Post−Текстовый, Phone−Текстовый.
4. Добавьте в таблицу Person несколько записей рис. 2.
Рис. 2. Таблица Person
5.Модифицируйте таблицу MainData, добавив в нее поле PersCode (тип данных–числовой, число десятичных знаков–0). Внеси-те в это поле различные целые числа от 1 до 4. Таким образом, вы получили две таблицы, связанные по коду персоны с которой назначается встреча рис. 3.
6.Скопируйте файлы из каталога предыдущей практической в каталог Lab. Запустите Delphi7: Пуск\Программы\Borland Delphi7\Delphi7.
Аналогично предыдущей лабораторной работе откорректи-руйте свойства компонент, чтобы программа корректно отображала содержимое таблицы MainData рис.4. Запустите проект и проверьте его работоспособность.
Рис. 3. Отредактированные таблицы MainData и Person
Рис.4. Модифицированное главное окно работающей программы
7.Перейдите к форме DataModule2. Добавьте на нее компоненты ADOTable и DataSource. Для ADOTable2 настройте строку подключения (ConnectionString) к базе данных db1.mdb и укажите в поле TableName таблицу Person.
8.Свяжите таблицу Person с таблицей MainData. Для этого в свойстве MasterSource установите источник данных DataSource1 и настройте строку соединения таблиц MasterFields как показано на Рис5.
Рис.5. Настройка связи между таблицами
9.Для источника данных DataSource2 установите набор данных ADOTable2. Сделайте активным соединение в таблице ADOTable2.
10.На форму Form1 добавьте строку редактирования поля базы данных (компонента TDBEdit) и установите для нее в качестве источника данных DataModule2.DataSource2 и в качестве отображаемого поля (DataField)–поле Family. Запретите редактирование данной строки (ReadOnly= True).
11.Запустите проект, проверьте его работоспособность–в окне просмотра событий, при передвижении по списку событий должно изменяться содержимое добавленной строки–должна отражаться строка с фамилией из справочника Person рис. 6.
Рис. 6. Главное окно работающей программы с компонентом DBEdit1
12.Создайте форму справочника фамилий–Form6 по образцу, представленному на рис.7. На ней размещен компонент TDBGrid.
Рис. 7. Форма справочника фамилий
13.В модуле справочника фамилий Unit6 в разделе Uses после ключевого слова implementation необходимо указать название модуля данных Unit2. На первой форме в меню «Файл» добавьте пункт «Справочник фамилий» и добавьте в модуль Unit1 вызов формы Form6. Отредактируйте процедуру обработки нажатия пункта меню Файл\Справочник фамилий следующим образом:
procedure TForm1.N11Click(Sender: TObject);
begin
Form6.Show;
end;
Результат работы программы при выборе пункта меню Файл\Справочник фамилий представлен на рис. 8.
Рис. 8. Окно работающей программы при вызове пункта меню Файл\Справочник фамилий
14. Сохраните, запустите проект и проверьте его работу.
15.Добавьте в основное меню главной формы еще один подпункт Файл\Отчет. Поместите на главную форму компонент TRVDataSetConnect (вкладка Rave) и свяжите его с набором данных DataModule2.ADOTable1 (свойство DataSet).
16.Вся дальнейшая работа осуществляется под управлением утилиты Rave Reports Designer. Для ее вызова выберите в главном меню команду Tools/Rave/Designer. На экране появится окно, показанное на рис. 9.
С помощью команды File/New Data Object вызовите окно Data Connections, в котором выберите продолжение Direct Data View и, после щелчка по кнопке Next - RvDataSetConnection1.
17.Командой Tools/Report Wizards/Simple Table вызовите мастера создания отчета по данным, получаемым из единственной таблицы. Этот мастер с помощью последовательно раскрывающихся окон определяет основные параметры отчета. С помощью первого окна рис. 10 а, выбирается источник данных (DataView1), с помощью второго- отображаемые поля (отметьте галочками все поля или установите флажок All). В следующем окне можно изменить порядок следования в отчете выбранных полей. Окно Report Layout Options позволяет определить заголовок отчета (поле Report Title; введите в него строку “Ежедневник”) и ширину полей (группа Report Margins). Заключительное окно рис. 10 б, предназначено для выбора шрифтов, которыми будут отображаться три основные части отчета: его заголовок, заголовки полей и данные. Рекомендуется установить шрифт MS Sans Serif для правильного отображения кириллицы.
Рис. 9. Окно утилиты Rave Reports Designer
а
б
Рис. 10. Окно мастера создания отчета:
а-начальное окно; б- завершающее окно
18.После щелчка по кнопке Generate происходит начальная генерация файла проекта отчета и окно Rave Reports Designer приобретает вид, показанный на рис. 11.
19.Сохраните файл проекта отчета. Выберите команду File/Save или щелкните на соответствующей кнопке инструментальной панели. Сохраните файл проекта Project.rav в той же папке, в которой хранится основной проект.
20. Теперь внесем изменения в отчет:
1) добавим дату генерации;
Для этого разместите под заголовком отчета компонент Datatext (вкладка Report палитры компонентов Rave Reports Designer). В свойстве dataField поместите следующий текст: "от "&Report.DateLong рис. 12.
Рис. 11. Вид отчета после начальной генерации
Рис. 12. Формирование отчета с помощью утилиты Rave Reports Designer
2) изменим названия колонок в средней полосе: Дата вместо DateS, Начало вместо FromTime, Окончание вместо ToTime, Телефон вместо Phone. Для этого изменим свойство Text соответствующих компонент рис. 12.
3) расчертим отчет горизонтальными и вертикальными линиями. Для этого поместим на среднюю полосу компонент HLine (вкладка Drawing) с такими свойствами: Top=0, Left=0, Width=6,5, а также шесть компонентов VLine с параметрами: Top=0, Height=0,24, Left=0;0,5;1,5;3;5;6,5 соответственно для шести вертикальных линий.
На нижнюю полосу с данными поместите два компонента HLine и шесть компонент VLine. Длина горизонтальных линий равна 6,5 единиц, о свойство Top равно 0 для первой и 0,15 для второй. Высота вертикальных линий равна высоте полосы (0,15), а свойство Left=0;0,5;1,5;3;5;6,5 соответственно для шести вертикальных линий.
Рис. 13. Пример отчета (в окне предварительного просмотра)
21. Для предварительного просмотра формируемого отчета нажмите клавишу <F9> или щелкните на соответствующей инструментальной кнопке рис. 13.
22. После подготовки проекта отчета сохраните его на диске, закройте Rave Reports Designer и вернитесь в Delphi. Поместите на форму компонент RvProject, в его свойстве ProjectFile укажите ссылку на файл проекта Project.rav. Напишите такой обработчик нажатия пункта меню Файл\Отчет:
procedure TForm1.N12Click(Sender: TObject);
begin
RvProject1.Execute;
end;
23. Сохраните и запустите проект. Проверьте его работу.