
- •1.1 Циклические структуры
- •1.2 Обработка двумерных массивов
- •1.4 Обработка типизированных файлов
- •Можно использовать одну и ту же переменную для работы с несколькими файлами, если они обрабатываются последовательно
- •1.5 Разработка приложений
- •1.6 Подключение внешних подпрограмм
- •1.7 Подключение модулей
- •1.8 Разработка многодокументных приложений
- •Раздел 2. Постановка задачи
- •2.1 Знакомство с предметной областью
- •2.2 Определение структуры и функций
- •Раздел 3. Построение структуры и диаграммы данных
- •Раздел 4. Разработка проекта
- •4.1 Принципы объектно-ориентированного программирования
- •4.2 Структурное программирование модуля
- •4.2Отладка программы
Раздел 2. Постановка задачи
Самое главное при создании базы данных — правильно ее спроектировать. От этого зависит будущее программы. Если удастся все предусмотреть еще на этапе проектирования, то снижается вероятность того, что программу придется переписывать "с нуля".
Правила создания :
■ Имена таблиц начинаются с префикса tb, затем следует имя таблицы, которое четко отражает смысл хранящейся информации.
■ Имена полей начинаются с префикса, отражающего тип поля. Рассмотрим основные префиксы
■ Ключевые поля начинаются с префикса id, далее идет имя таблицы, для связи с которой предназначен ключ. Таким образом, связь всегда видна.
■ Главный ключ, как и другие ключевые поля, начинается с префикса id, затем идет имя таблицы, для которой ключ является главным.
2.1 Знакомство с предметной областью
Задача1. Составить программу "Учёт оплаты за обучение ", позволяющую получить сведения о студентах, обучающихся на платной основе, создавать автоматически различные документы, которые раньше писались вручную.
Целью задачи является быстрое и удобное получение информации об оплате за обучение, а также её хранении и обновлении в продолжение всего учебного периода и удаления её в случае окончания студентом учебного заведения.
Необходимость автоматизации данной задачи появилась в связи с тем, что информация об оплате за обучение, договорах, платёжных поручениях могут быть затребованы, а поиск их на бумажных носителях затруднителен.
Данная задача позволяет быстро получить необходимые данные по мере их необходимости и предоставлять их на бумажном носителе, если в этом есть необходимость.
Программа обеспечивает копирование выбранной информации, её сортировку и фильтрацию, а так же редактирование и распечатку на принтере.
Входными документами для задачи являются:
данные паспорта студента:
Фамилия;
Имя;
Отчество;
Номер и серия паспорта;
Прописка.
справочные данные о специальности:
Название;
Плата;
Срок обучения;
- данные о договорах:
№ договора;
Дата заключения;
Сумма.
- платёжные поручения:
№ платёжного документа;
Дата оплаты;
Сумма.
Информация для задачи поступает последовательно, группируется по группам, специальностям и сохраняется на магнитном диске.
Выходным документом является:
- полная карточка студента об оплате обучения.
Основной экономический эффект достигается за счёт сокращения времени оформления входной и выходной информации. Сокращение времени происходит за счет компактного отображения данных о студенте с последующей возможностью их создания и редактирования.
2.2 Определение структуры и функций
1) Задание структуры таблиц.
Задаём структуру таблиц:
Таблица Dogovor.db
|
Название поля |
Тип |
Размер |
Ключ |
1. |
Nom_dogovora |
A (Alpha) |
10 |
* |
2. |
Kod_styd |
A (Alpha) |
4 |
|
3. |
Data |
D (Date) |
|
|
4. |
Symma |
$ (Money) |
|
|
Таблица Gryppa.db
|
Название поля |
Тип |
Размер |
Ключ |
1. |
Nazvanie_gr |
A (Alpha) |
4 |
* |
2. |
Kyrator |
A (Alpha) |
20 |
|
3. |
Kod_spec |
A (Alpha) |
4 |
|
Таблица Plat_por.db
|
Название поля |
Тип |
Размер |
Ключ |
1. |
Nom_plat_por |
A (Alpha) |
10 |
* |
2. |
Nom_dogovora |
A (Alpha) |
10 |
|
3. |
Data_opl |
D (Date) |
|
|
4. |
Symma |
$ (Money) |
|
|
Таблица Specialnost.db
|
Название поля |
Тип |
Размер |
Ключ |
1. |
Kod_spec |
A (Alpha) |
4 |
* |
2. |
Nazvanie |
A (Alpha) |
30 |
|
3. |
Srok_ob |
N (Number) |
|
|
4. |
Plata_b |
$ (Money) |
|
|
5. |
Plata_k |
$ (Money) |
|
|
Таблица Stydent.db
|
Название поля |
Тип |
Размер |
Ключ |
1. |
Kod_styd |
A (Alpha) |
4 |
* |
2. |
FIO |
A (Alpha) |
20 |
|
3. |
Forma_ob |
A (Alpha) |
10 |
|
4. |
Nazvanie_gr |
A (Alpha) |
4 |
|
5. |
Nom_ser_pasp_st |
A (Alpha) |
15 |
|
5. |
Propiska |
A (Alpha) |
15 |
|
5. |
Nom_ser_pasp_rod |
A (Alpha) |
15 |
|
2) Создание псевдонима.
Чтобы подключиться к БД в Delphi, необходимо создать псевдоним, который указывает местонахождение файла БД и представляет собой специальное имя для обозначения каталога.
В Delphi – приложении доступ к БД осуществляется через BDE (процессор БД фирмы Borland).
Псевдоним создаётся с помощью программы BDE – Администратор.
После запуска программы выбираем:
Object – New
В появившемся окне оставляем без изменения тип БД – Standart и нажимаем OK.
В левой части окна указываем имя псевдонима, в нашем случае Oplata.
Чтобы сохранить все изменения, выбираем:
Object – Apply.
3) Создание приложения в Delphi.
Набор невизуальных компонентов работы СУБД группируются в создаваемой программе в специальном модуле данных.
Модуль данных представляет собой хранилище объектов, которое позволяет управлять их работой.
Новый модуль добавляется командой:
File – New – Data Module
Затем созданный модуль(Unit2) необходимо подключать ко всем формам, где происходит работа с БД.
На модуле данных размещаем:
5 невизуальных компонентов Table (вкладка BDE):
TSpec
DatabaseName: Oplata;
TableName: Specialnost.db;
TGryppa
DatabaseName: Oplata;
TableName: Gryppa.db;
TStydent
DatabaseName: Oplata;
TableName: Stydent.db;
TPlatPor
DatabaseName: Oplata;
TableName: Plat_por.db;
TDogovor
DatabaseName: Oplata;
TableName: Dogovor.db.
5 невизуальных компонентов DataSourse (вкладка DataAccess):
- DSSpec
DataSet: TSpec;
DSGryppa
DataSet: TGryppa;
DSStydent
DataSet: TStydent;
DSPlatPor
DataSet: TPlatPor;
DSDogovor
TDogovor.
Для отображения содержимого набора данных в виде таблицы, используется компонент DBGrid (вкладка DataControls), у которого необходимо указать свойство DataSource, то есть указать нужный источник данных.
Для управления набором данных необходим визуальный компонент DBNavigator (вкладка DataControls), у которого также необходимо указать свойство DataSource и определить состав видимых кнопок при помощи свойства VisibleButtons.
Создание поля выбора данных:
Поле выбора данных создаётся с помощью редактора полей. Для этого в контекстном меню редактора выбирается пункт:
New Field…
Открывается одноимённое диалоговое окно, в котором указываем следующие значения:
Name – spec;
Type – String;
Size – 15;
Field Type – LookUp;
Key Fields – Kod_spec (поле, связывающее таблицы);
DataSet – TSpec (связываемый набор данных);
LookUp Keys – Kod_spec (поле соответствия);
Result Field – Nazvanie (подставляемое поле).