– По мимо передвижения доступны и другие функции, которые будут описаны в п. 7.5.
7.4.1 Процедура Schet.
Данная процедура выводит общее количество товаров в выбранном пользователем разделе и подразделе. Реализована данная процедура следующим образом (приложение 5, схема 10):
– Обнуляется счетчик;
– Открываем файл БД для чтения;
– Считывается очередной товар;
– Если раздел и подраздел очередного товара, соответствуют выбранному пользователем разделу и подразделу, то счетчик увеличивается на единицу;
– Закрываем файл БД
7.4.2 Процедура PR.
Данная процедура добавляет код первого товара в список. Реализовывается данная процедура следующим образом (приложение 5, схема 11):
– Открывается файл для чтения;
– Если раздел и подраздел очередного товара, соответствуют выбранному пользователем разделу и подразделу, то добавляем код товара в список, используя процедуру AddSpisok (см. в п. 6.3.3).
7.4.3 Процедура PoiskFPR.
Данная процедура ищет товар, соответствующий разделу и подразделу, выбранным пользователем, с условием, что код этого товара не занесен в список, т.е. уже был выведен на экран. Реализуется данная процедура следующим образом (приложение 5, схема 13):
– Открывается файл БД;
– Если раздел и подраздел очередного товара, соответствуют выбранному пользователем разделу и подразделу, то проверяется, является ли код данного товара в списке, т.е. осуществляется поиск в списке (см.п. 6.3.4).
– Если код текущего товара из БД отсутствует в списке, то процедура прерывается. И затем код этого товара добавляется в список (процедура AddSpisok п. 6.3.3).
7.4.4 Процедура WriteSpisok.
Данная процедура выводит товар на экран. Реализована она следующим образом (приложение 5, схема 9):
– Выводит в верхнюю часть экрана общее количество товаров в подразделе;
– Открывается файл БД для чтения;
– Считывается последний код товара из списка;
– Поиск в БД и вывод на экран, товара с кодом из списка. Вывод на экран осуществляется при помощи процедуры Tablo. В данной процедуре отсутствуют, какие либо циклы или условия, там лишь вывод в необходимую координату экрана текста из БД, по этому останавливаться на данной процедуре нет смысла.
– Закрытие файла БД.
7.5 Операции над товарами.
При работе с товарами доступны следующие операции:
– Новый товар в текущий раздел и подраздел;
– Отчет;
– Удалить товар.
7.5.1 Новый товар в текущий раздел и подраздел.
Данная операция вносит информацию о новом товаре в текущий раздел и подраздел (Приложение 4, рисунок 4). Реализована данная операция при помощи процедуры NewTovar, алгоритм которой заключается в следующем (приложение 5, схема 4):
– На экране появляется форма для заполнения информации о товаре;
– После ввода информации у пользователя спрашивают, сохранить или нет.
– Если нажата, кнопка сохранить, то открывается файл для чтения kod.dat.
– Из выше указанного файла считывается последний внесенный код товара.
– Файл kod.dat, находящийся в режиме чтения, закрывается;
– Файл kod.dat открывается в режиме добавления;
– Последний считанный код товара увеличивается на единицу и последний сохраняется в файл;
– Файл kod.dat закрывается;
– Открывается файл БД в режиме добавления и в конец файла добавляется новый товар;
– Закрывается файл БД;
– На экран выводится разметка и подразделы.
7.5.2 Отчет.
Описание создание отчетов описано в п. 5.2. Реализована функция создания отчетов в процедуре PrintF, алгоритм которой заключается в следующем (приложение 5, схема 16):
– Выбор критерий отчета: по текущему товару или по текущему подразделу (Приложение 4, рисунок 6);
– Пользователю предлагается ввести имя файла, в который будет сохранен отчет (Файл будет сохранен в корневой каталог с программой, и будет иметь расширение txt);
– Создание файла с вышеуказанным именем и расширением;
– Если выбрана по текущему подразделу, то все товары того подраздела, в котором пользователь находится в настоящий момент, будут сохранены в файл отчета, если текущий товар, то в файл отчета будет сохранен только товар, открытый в настоящий момент;
– По окончании выводится последний, просматриваемый товар.
7.5.3 Удалить товар.
Реализована функция удаления товара в процедуре Del, алгоритм которой заключается в следующем (приложение 5, схема 15):
– У пользователя уточняется, действительно ли он хочет удалить товар;
– Если да то открывается файл БД для чтения и открывается временный файл в режиме перезаписи;
– Каждый элемент из БД копируется во временный файл, за исключением того которого, хотят удалить, т.е. того код, которого находится в вершине списка;
– Закрываются оба файла;
– Открытие файла БД в режиме перезаписи и временного файла в режиме чтения;
– Вся информация из временного файла, целиком копируется в файл БД;
– Файлы закрываются;
– Выводится сообщение, что запись удалена;
– Обновление информации на экране.
8 Заключение
Подведем итог того, что все-таки удалось в данном курсовом проекте:
– Удалось создать неплохую сортировку, что облегчает работу с товарами, на мой взгляд, эта основа любой БД;
– Удалось создать достаточно простой и интуитивно понятный интерфейс, без каких либо излишеств;
– В программе реализованы основные функции работы с БД – удаление, добавление, отчетность, поиск;
– Показано когда, какая функция доступна;
– Отражено, в каком разделе осуществляется работа, т.к. некоторые разделы содержат одинаковые подразделы и можно запутаться;
– Существует справочная система и система подсказок. Хотя над справкой можно было еще поработать;
– Достаточно простое управление товарами;
Конечно, можно было еще поработать над справкой, отчетами и поиском. Действительно отчет всего по двум критериям, для БД конечно маловато, и достаточно примитивный поиск. Но, подводя итог можно сказать, что основная цель, на мой взгляд, все-таки выполнена, эти функции показаны и реализованы.
Ко всему прочему можно с уверенностью сказать, что данную программу можно приспособить под большинство справочников. Для этого достаточно открыть файл разделов и создать другие, например жанры книг и точно также разделы, и подразделы, т.е. сортировку. Затем изменить некоторые позиции в товаре, поиске и отчетности и в принципе все. В итоге, как мне кажется, за день другой, данную программу можно очень быстро переделать.
В итоге конечная цель все-таки достигнута. Была создана универсальная БД со всем набором необходимых функций. Конечно же, в Turbo Pascal достаточно сложно создавать БД и БД получаются достаточно примитивные, но принцип создания БД, описан очень хорошо.
9 Список литературы
9.1 Учебное пособие. «Структуры и алгоритмы обработки данных в ЭВМ», А. Н. Горитов, г. Томск
9.2 Самоучитель. «Программирование в Turbo Pascal», Н. Культин.
9.3 Открытие Интернет источники.
Приложение 1 - Графическое описание данных
Разделы
Подразделы у каждого раздела
Товара у каждого подраздела
Схема 1 – Общая схема описания хранения данных
Каждый раздел имеет иерархическою структуру представленную на схеме 2
Страницы: 1, 2, 3, 4, 5, 6, 7, 8