- Создание меню разделов и подразделов, при чем так чтоб пользователь при помощи курсора мог осуществить навигацию по разделам и подразделам, а не нажимать цифры меню;
- Создание справочной системы и системы подсказок;
После реализации вышеуказанных позиций, программа – справочник должна получиться удобной и интуитивно понятной.
3.3 Функции программы
Данная программа – справочник должна обладать следующими функциями (помимо сортировки и навигации, которые описаны ранее):
- Добавление нового товара в БД;
- Поиск нужного товара по заданным критериям;
- Создание отчетности по заданным критериям;
- Удаление ненужного товара;
3.4 Поля объекта
Основным объектом в данной программе является товар, все остальные объекты в программе так или иначе связаны с товаром.
Как показало изучение предметной области, критерии товаров должны быть следующими:
- Код товара – целое число, которое должно быть уникальное для каждого товара, т.е. не повторятся;
- Раздел – целое число, которое свидетельствует о принадлежности к определенному разделу, каждое из которых имеет свой уникальный номер;
- Подраздел - целое число, которое свидетельствует о принадлежности к определенному подразделу, каждое из которых имеет свой уникальный номер;
- Название – строковое данное, характеризует общее название товара;
- Серия – это строковое данное, характеризует принадлежность товара к определенной серии;
- Производитель - строковое данное, описывает название производителя;
- Описание - строковое данное, которое описывает товар более подробно;
- Цена товара – это строковое данное указывает цену товара. Цена товара будет именно строковым данным, сделано это для того, чтоб не указывать валюту (рубли, У.Е., евро, доллар США и т.д.) и деление на рубли и копейки.
4. Описание программы создания набора данных
В данной программе записью будет являться товар, а полями записи будет информация о товаре. Поля товаров описаны в п. 3.4.
4.1 Программная организация записи
Программная организация записи описывается следующим образом:
Baza:record
FKod:integer;
FRazdel;
FPodRazdel;
FName:string;
FSeria:string;
FProizvod:string;
FOpisan:string;
FMany:string;
FSim:string; - символ разделитель в БД
End;
4.2 Файлы данных
Файлов данных работающих с программой можно разделить на основные и вспомогательные.
К основным относятся:
- bd.dat;
- Razdel.dat.
К вспомогательным относятся:
- Kod.dat;
- help.dat;
- BDVR.DAT.
4.2.1 bd.dat – это основной файл БД. В данном файле хранится информация о товарах. Каждая позиция товаров хранится в отдельной строке, и товары разделены символом «*».
Пример хранение информации о товаре:
1 – код товара;
1 – раздел «Уход за лицом»;
1 – подраздел «Гель»;
Гель для лица – название товара;
Власть над временем – Серия товара;
Oriflame – производитель;
Гель для лица, замедляющий процесс старения кожи. Почувствуйте моментальный эффект лифтинга. – Описание товара;
200.25 – цена товара;
* - символ разделитель.
4.2.2 Razdel.dat – это файл, хранящий разделы и подразделы. В первой строке стоит код раздела и подраздела, а за ней стоит название раздела и подраздела и т.д.
Пример:
7
Дезодорант
Это запись означает, что в седьмом разделе есть подраздел «Дезодорант»
4.2.3 Kod.dat – это файл, хранящий коды товара. При создании нового товара программа считывает последний код, увеличивает на единицу и сохраняет в файле. Таким образом, код каждого товара уникален.
4.2.4 help.dat – файл справки.
4.2.5 BDVR.DAT – это файл временной БД. Этот файл необходим при удалении товара, когда товары переносятся во временный файл. За исключением удаленного товара, а затем основной файл БД перезаписывается.
5. Описание программы формирование выходного документа
К выходным документам относятся:
- Вывод информации на экран;
- Вывод информации в файл.
5.1 Вывод информации на экран
Пример формирования выходного документа на экран см. в приложении 4 рис. 2
Экран в данной программе состоит из пяти частей:
– Заголовок. Заголовок находится в верхней части экрана и показывает, в каком разделе пользователь находится в настоящий момент. Так же при выборе пользователем подраздела в правой части заголовка выводится количество позиций (товаров) в данном подразделе.
– Меню. Меню находится в левой части экрана и отображает пользователю существующие разделы и подразделы, перемещение в которых осуществляется при помощи курсора.
– Подсказка. Подсказки находятся в левой части экрана под Меню. Здесь отображается клавиши управления для навигации по программе.
– Клавиши управления. Каждая клавиша имеет свой цвет и доступна только в тех случаях, когда данными функциями можно воспользоваться. Клавиши управления находятся в нижней части экрана и содержат следующие пункты:
1) Помощь F1;
2) Новый F2;
3) Поиск F3;
4) Отчет F4;
5) Удалить F5;
6) Назад PageUp;
7) Далее PageDown;
8) Выход F10.
– Окно. Окно занимает основную часть экрана. Здесь отображается информация о товаре и сообщение, что товаров нет, если таковые отсутствуют в выбранном пользователем подразделе.
5.2 Вывод информации в файл
Информация в файл выводится при создании файла отчета. Отчет создается по двум критериям:
– По текущему товару;
– По текущему подразделу.
Данная опция доступна только при условии, что пользователь находится в режиме работы с товарами. Т.е. пользователь выбрал требуемый подраздел и нажал ввод.
При нажатии в режиме работы с товарами кнопки F4 пользователю предлагается выбрать варианты отчета, по текущему товару или по текущему подразделу. После выбора условия отчета, пользователю предлагается ввести имя файла, в который будет сохранен отчет. Файл будет иметь расширение txt и находится в корневой папке с программой. Данные в файле будут отформатированы и неплохо оформлены.
Пример формирования выходного документа в файл см. в приложении 4 рис. 7.
6 Описание программы формирование списковой структуры
6.1 Область применения списковой структуры
Списковая структура применяется для передвижения по товарам внутри подраздела. Когда пользователь входит в подраздел формируется запрос, результатом которого будут товары, найденные в БД, каждый из которых, будет соответствовать выбранным пользователем раздела и подраздела. Причиной необходимости использования динамической структуры явилось то, что при программировании не известно какое количество товаров будет в выбранном разделе и подразделе. По этому, когда находится очередной товар, удовлетворяющий выбранному пользователем разделом и подразделом, код этого товара просто добавляется в список. А на экран выводится товар, код которого последний в списке.
6.2 Принцип работы
В данной программе работу с динамическим списком можно охарактеризовать в виде стека. Общий принцип работы следующий:
– Когда пользователь выбирает нужный ему подраздел, программа ищет в файле БД первый товар, если таковой вообще существует, который удовлетворяет выбранному пользователем разделу и подразделу и код этого товара добавляется в динамический список – стек.
– Далее программа выводит на экран информацию о товаре, код которого находится в вершине стека.
– При нажатии пользователем клавиши PageDown, вновь осуществляется поиск товара в БД, который соответствует выбранному пользователем разделу и подразделу, но уже программа проверяет, не находится ли код этого товара уже в стеке. Если нет, то код товара добавляется в стек и на экран выводится товар, код которого находится в вершине стека, т.е. зашедший в стек последний. При повторном нажатии на PageDown, проделывается все то же самое.
– Если нажата клавиша PageUp, то код товара, который является вершиной стека, просто удаляется и вершиной стека становится, уже предыдущий код товара, если, конечно же, это был не первый товар. А далее, как и в случае с PageDown выводится товар, код которого находится в вершине стека.
Подводя итог можно сказать, что фактически перемещение происходит в стеке, а на экран выводится лишь товар с кодом товара из вершины стека.
6.3 Процедуры, используемые при работе со списком.
Полностью описывать весь алгоритм данных процедур в данном разделе не будем, затронем только те их части, которые взаимодействуют непосредственно со списком.
При работе со списком используются следующие функции:
– Чтение элемента из списка;
– Добавление элемента в список;
– Поиск элемента в списке;
– Удаление элемент из списка.
6.3.1 Описание списка
Type
Integ=^integer;
Int:integer; {код товара}
Next:integ; {ссылка на следующий элемент}
end;
6.3.2 Чтение элемента из списка
В данном разделе указатель перемещается на последний элемент и считывается хранящийся там код товара. Далее, с этим кодом товара происходит либо, какое то сравнение, условие, либо присваивается некоторой переменной, либо удаляется код из списка.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8