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):
– Обнуляется счетчик;
– Открываем файл БД для чтения;
– Считывается очередной товар;
– Если раздел и подраздел очередного товара, соответствуют выбранному пользователем разделу и подразделу, то счетчик увеличивается на единицу;
– Закрываем файл БД
0 комментариев