Курсовая работа: Создание справочника "Парфюмерный магазин" при помощи программы Turbo Pascal
Удаления
кода товара из списка происходит в процедуре DelSpisok, в данной процедуре удаляется только
последний элемент, который являлся вершиной стека, алгоритм данной процедуры
заключается в следующем:
– Переход на последний элемент списка –
вершина стека;
– Создание связи, со следующим
элементом;
– Удаление элемента;
– Присваивание нового последнего
элемента.
7 Технология
обработки данных
Последовательность
операций с данными заключается в следующем (приложение 5 схема 1):
– Создания разметки экрана (Приложение 4,
рисунок 1);
– Создания и управление разделами и
подразделами;
– Выбор режима работы;
– Вывод на экран товаров
соответствующих разделу и подразделу;
– Операции над товарами;
7.1
Разметка экрана.
Разметка
экрана реализуется при помощи процедуры Shapka. В данной процедуре реализуется следующее (приложение
5, схема 2):
– Создаются линии, которые разделяют
экран;
– Создаются копки управления – кнопки
управления с доступными функциями. Если на определенном этапе работы кнопка
имеет серый цвет, то данная функция недоступна;
– Создается заголовок – раздел экрана,
в котором выводится название раздела, в котором пользователь работает в
настоящий момент;
– Создаются окно подсказки – в данном
окне выводятся подсказки для пользователя, необходимые для работы в
определенный момент.
7.2
Управление разделами и подразделами.
Управление
разделами и подразделами реализовано в процедуре Perem, следующим образом:
– Вывод на экран разделов или подразделов;
– Перемещение внутри раздела или
подраздела;
– Выбор режима работы.
7.2.1
Вывод на экран разделов или подразделов.
Данный
раздел осуществляется при помощи процедуры PodRazdel. Реализация в данной процедуре
происходит следующим образом (приложение 5, схема 3):
– Открытие файла razdel.dat для чтения. В данном файле содержится название всех
разделов и подразделов и специальные коды для распознавания (структуру файла
см. п. 4.2.2). Например, если стоит код 0, то данная позиция относится к
разделу, и будет выводиться только, в случае отображение разделов. Если стоит единица,
то это означает, что данный подраздел соответствует первому разделу и т.д.
– Программа, считывает доступные
разделы и подразделы из файла, который находится в корневой папке с программой
и добавляет их в массив PodRaz.
Если программа только запущенна, то выводятся разделы из файла имеющие код 0,
если, к примеру, выбран раздел «детские товары», то из файла разделов
считываются подразделы, которым соответствует код 3.
– Закрытие файла.
– Вывод элементов меню. Вывод элементов
меню осуществляется из массива PodRaz
и каждый элемент массива закрашивается определенным цветом. Первоначально
первый пункт белым цветом, а остальные зеленым.
7.2.2
Перемещение внутри раздела или подраздела.
Операции
по перемещению заключаются в следующем (приложение 5, схема 4):
– Первоначально запоминается первая
строка. При отображении элементов меню, как уже было сказано ранее, первый
элемент меню закрашен белым цветом, а остальные зеленым. Программа подразумевает,
что текущая позиция является первым элементом, закрашенным белым цветом.
– Пользователю предлагается ввести при
помощи курсора направления перемещения.
– Если, пользователь выбрал направление
вниз, то текущий элемент меню становится зеленым, а элемент стоящий внизу,
становится белым, и программа запоминает новую текущую строку. Если вверх, то
соответственно, текущий становится зеленым, а верхний белым, при условии что
это не первый пункт меню.
– При работе с разделами и подразделами
у пользователя есть еще три допустимых операций: помощь, поиск и вход (см. п.
7.3).
7.3
Выбор режима работы.
Во
время перемещения по позициям меню пользователю доступны три операции
(Приложение 5, схема 5):
– Помощь;
– Поиск;
– Вход.
7.3.1
Помощь.
Вход в
режим справки осуществляется по нажатию клавиши F1 (Приложение 4, рисунок 3).
Данная
операция реализована в процедуре Help,
следующим образом (приложение 5, схема 8):
– Открывается файл help.dat для чтения. Данный файл содержит справочную
информацию о работе с программой.
– Файл справки достаточно большой и, следовательно,
не влезает в одно окно, для этого существует ограничения, когда экран заполнен,
то дальнейшее считывание не происходит, до тех пор, пока пользователь не
прочтет все и не нажмет клавишу ввод. После этого на экран выводится следующая
часть файла справки.
– По завершению работы с файлом
справки, он закрывается и на экран выводится разметка, разделы или подразделы,
для дальнейшего выбора пользователем.
7.3.2 Поиск.
В ход
в режим поиска осуществляется по нажатию клавиши F3 (Приложение 4, рисунок 5).
Данная
операция реализована в процедуре Poisk,
следующим образом (приложение 5, схема 7):
– Пользователю предлагается выбрать, по
каким условиям будет осуществлен поиск: по серии товара, по производителю, или
по названию.
– Далее пользователю предлагается
ввести текст для поиска.
– После ввода текста поиска, программа
открывает файл BD.dat для чтения.
– Далее происходит считывание каждой
позиции из БД и сравнение с введенным текстом.
– Если очередная позиция товара
соответствует условию поиска, то алгоритм приостанавливается и данный товар
выводится на экран при помощи процедуры Tablo (см. п. 7.4.4), и поиск дальнейших товаров
продолжается лишь, после того как будет нажата клавиша Page Down (Далее);
– После завершения поиска файл БД
закрывается и на экран выводится сообщение, что больше совпадений не найдено.
– Далее на экран выводится разметка и
элементы меню для дальнейшей работы.
7.3.3
Вход.
Вход в
данный режим осуществляется, после того как пользователь перешел на нужный
раздел и подраздел и нажал клавишу Enter.
Обработка
действий при нажатии клавиши Enter,
осуществляется в процедуре Vhod. Алгоритм
данной процедуры заключается в следующем (приложение 5, схема 6):
– Проверяется, если открыт подраздел, а
не раздел, то выводится на экран товары данного подраздела. Данный пункт
осуществляется при помощи процедуры Vivod (см. п. 7.4);
– Если открыт, радел, то программа
считывает, какой раздел был выбран и в зависимости от выбора раздела программа определяет
подразделы, которые соответствуют выбранному пользователем разделу. Реализуется
данная операция при помощи процедуры Podrazdel (п. 7.2.1);
– Если открыт режим подразделов и
нажата клавиша Backspace, то на
экран выводятся разделы.
7.4
Вывод на экран товаров соответствующих разделу и подразделу.
Вывод товаров
на экран осуществляется, после того как пользователь нажмет клавишу Enter на нужном подразделе (Приложение 4,
рисунок 2). Данная операция реализована в процедуре Viviod, алгоритм которой заключается в следующем (приложение
5, схема 9):
– Считывается количество товаров в
данном подразделе. Данная операция осуществляется в процедуре Schet (см. п. 7.4.1);
– Считывается первый товар из
подраздела и код первого товара добавляется в список (см. в п. 6.3.3). Данная
операция реализована в процедуре PR
(см. п. 7.4.2);
– Вывод на экран товара соответствующего
последнему, коду товара из списка, реализуется данная операция в процедуре WriteSpisok (см. в п. 7.4.4). Таким образом, на
экране выводится первый товар из БД, соответствующий разделу и подразделу.
– Далее пользователю предлагается
выбрать дальнейшие действия, которые можно разделить на передвижение и
операции. Об операциях над товарами более подробно будет описано в п. 7.5, а
передвижение, в случае, если товаров более одного, осуществляется при помощи
клавиш Page Up (назад), Page Down (вперед);
– Если нажата клавиша Page Down, то программа ищет в БД следующий товар, который
соответствует, разделу и подразделу (если они вообще существуют), но с
условием, что ранее показанные товары отображаться не будут, т.е. те товары,
коды которых находятся в списке. Данная операция реализована в процедуре PoiskFPR (см. п. 7.4.3, поиск в списке см. п.
6.3.4);
– После того как найден очередной товар,
соответствующий разделу и подразделу и он ранее не был отображен, то код этого
товара добавляется в список. Реализовано данная операция в процедуре AddSpisok (см. в п. 6.3.3);
– Далее на экран выводится товар с
кодом товара, записанным последним в список. Реализована данная операция при
помощи процедуры WriteSpisok (см.
п. 7.4.4);
– Если нажата клавиша PageUp, то проверяется, не первый ли это
товар, в данном разделе и подразделе. Если нет, то удаляется последний элемент
из списка (процедура DelSpisok, см. в п. 6.3.5) и выводится товар, с кодом товара, который теперь уже
стал первым (процедура WriteSpisok, см. п. 7.4.4);
– По мимо передвижения доступны и
другие функции, которые будут описаны в п. 7.5.
7.4.1
Процедура Schet.
Данная
процедура выводит общее количество товаров в выбранном пользователем разделе и
подразделе. Реализована данная процедура следующим образом (приложение 5, схема
10):
– Обнуляется счетчик;
– Открываем файл БД для чтения;
– Считывается очередной товар;
– Если раздел и подраздел очередного
товара, соответствуют выбранному пользователем разделу и подразделу, то счетчик
увеличивается на единицу;
– Закрываем файл БД
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9 |