см. в додатку 4 рис. 7. br/>
6 Опис програми формування спискової структури
6.1 Область застосування спискової структури
списковую структура застосовується для пересування по товарах всередині підрозділу. Коли користувач входить до підрозділу формується запит, результатом якої будуть товари, знайдені в БД, кожен з яких, буде відповідати вибраним користувачем розділу і підрозділу. Причиною необхідності використання динамічної структури стало те, що при програмуванні НЕ відомо яку кількість товарів буде в обраному розділі та підрозділі. За цього, коли знаходиться черговий товар, що задовольняє обраному користувачем розділом та підрозділом, код цього товару просто додається в список. А на екран виводиться товар, код якого останній у списку. p> 6.2 Принцип роботи
У даній програмі роботу з динамічним списком можна охарактеризувати в вигляді стека. Загальний принцип роботи наступний:
- Коли користувач вибирає потрібний йому підрозділ, програма шукає у файлі БД перший товар, якщо такий взагалі існує, який задовольняє обраному користувачем розділу та підрозділу і код цього товару додається в динамічний список - стек. p> - Далі Програма виводить на екран інформацію про товар, код якого знаходиться у вершині стека.
- При натисканні користувачем клавіші PageDown, знову здійснюється пошук товару в БД, який відповідає обраному користувачем розділу та підрозділу, але вже програма перевіряє, чи не перебуває код цього товару вже в стек. Якщо ні, то код товару додається в стек і на екран виводиться товар, код якого знаходиться у вершині стека, тобто що зайшов у стек останній. При повторному натисканні на PageDown, проробляється все те ж саме. p> - Якщо натиснута клавіша 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):
- Створюються лінії, які розділяють екран;
- Створюються копки управління - кнопки управління з доступними фун...