6.2 Принцип работы

 

В данной программе работу с динамическим списком можно охарактеризовать в виде стека. Общий принцип работы следующий:

–  Когда пользователь выбирает нужный ему подраздел, программа ищет в файле БД первый товар, если таковой вообще существует, который удовлетворяет выбранному пользователем разделу и подразделу и код этого товара добавляется в динамический список – стек.

–  Далее программа выводит на экран информацию о товаре, код которого находится в вершине стека.

–  При нажатии пользователем клавиши PageDown, вновь осуществляется поиск товара в БД, который соответствует выбранному пользователем разделу и подразделу, но уже программа проверяет, не находится ли код этого товара уже в стеке. Если нет, то код товара добавляется в стек и на экран выводится товар, код которого находится в вершине стека, т.е. зашедший в стек последний. При повторном нажатии на PageDown, проделывается все то же самое.

–  Если нажата клавиша PageUp, то код товара, который является вершиной стека, просто удаляется и вершиной стека становится, уже предыдущий код товара, если, конечно же, это был не первый товар. А далее, как и в случае с PageDown выводится товар, код которого находится в вершине стека.

Подводя итог можно сказать, что фактически перемещение происходит в стеке, а на экран выводится лишь товар с кодом товара из вершины стека.

6.3 Процедуры, используемые при работе со списком.

 

Полностью описывать весь алгоритм данных процедур в данном разделе не будем, затронем только те их части, которые взаимодействуют непосредственно со списком.

При работе со списком используются следующие функции:

–  Чтение элемента из списка;

–  Добавление элемента в список;

–  Поиск элемента в списке;

–  Удаление элемент из списка.

6.3.1 Описание списка

Type

Integ=^integer;

Int:integer; {код товара}

Next:integ; {ссылка на следующий элемент}

end;

6.3.2 Чтение элемента из списка

В данном разделе указатель перемещается на последний элемент и считывается хранящийся там код товара. Далее, с этим кодом товара происходит либо, какое то сравнение, условие, либо присваивается некоторой переменной, либо удаляется код из списка.

6.3.3 Добавление элемента в список

Добавление кода товара в список происходит в процедуре AddSpisok, алгоритм которой заключается в следующем (Приложение 5, схема 12):

–  Создается новый элемент;

–  Записывается код товара из файла в список;

–  Устанавливается указатель для поддержания целостности списка;

6.3.4 Поиск элемента в списке

Поиск осуществляется в процедуре PoiskFPR. Алгоритм поиска заключается в следующем:

–  Переход на последний элемент списка – вершину стека;

–  До тех пор пока не конец стека делать;

–  Если текущий код товара из файла БД равен коду товара из списка, то условие выполнено, если нет, то считывается следующий элемент из списка и т.д.

6.3.5 Удаление элемента из списка.

Удаления кода товара из списка происходит в процедуре 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 и каждый элемент массива закрашивается определенным цветом. Первоначально первый пункт белым цветом, а остальные зеленым.


Информация о работе «Создание справочника "Парфюмерный магазин" при помощи программы Turbo Pascal»
Раздел: Информатика, программирование
Количество знаков с пробелами: 58010
Количество таблиц: 8
Количество изображений: 36

0 комментариев


Наверх