ними з файлу NABOR.DAT. Виводиться поточний елемент даних. Далі створюється меню для роботи користувача, заповнюються пункти меню, і викликається процедура vertmenu модуля MYMENU, яка формує і виводить меню на екран. Наприкінці програми в залежності від обраного користувачем пункту меню викликається процедура певного модуля і виконується запит. У меню програми спочатку йдуть основні пункти меню, а потім додаткові. програма комп'ютер дитячий mainpro
Основні пункти меню викликають функції, які виконують основні операції програмного комплексу. Перший пункт меню «Перегляд даних» викликає процедуру showw модуля SHOW, яка виводить дані масиву на екран у вигляді таблиці. Другий пункт меню «Додати даних в кінець» викликає процедуру dob модуля ADD, за допомогою якої додаються дані в кінець масиву. Третій пункт «Записати дані в файл» викликає процедуру writingg модуля WRITING, яка записує дані у файл.
Додаткові пункти меню викликають функції, що виконують додаткові запити за завданням курсової роботи. Шостий пункт меню «Коригування полів обраного елемента» викликає процедуру elem модуля ELEMZAM, яка дозволяє змінювати будь-яке поле обраного користувачем елемента. Сьомий пункт меню «Сортування масиву по числовому полю» за допомогою процедури sort модуля SORTING сортує записи масиву по числовому полю. І останній восьмий пункт меню «Заміна обраного елемента» викликає процедуру zamen модуля ZAMENA, яка дозволяє повністю замінити всі поля вибраної користувачем запису.
{Використовувані модулі} crt, add, addafter, mymenu, open, show, writing, sorting, zamena, elemzam; a: masmenu;, x, y: byte; raz, nm: integer; u: char; put: string;
{Заповнюємо масив даними з файлу} (nd, raz);
{Задаємо координати розташування меню}
{Задаємо рядки пунктів меню}
{Виводимо меню на екран} (a, nm, x, y, pos);
{Залежно від вибору користувача викликаємо процедуру виконання запиту}.
. 2 Модуль меню MYMENU
Даний модуль відповідає за відображення меню. В основну процедуру цього модуля vertmenu, з головної програми MAINPRO передається масив рядків, які будуть відображатися у вигляді пунктів створюваного меню, кількість цих пунктів, координати розташування меню (верхня ліва точка), а також позиція курсора. У цій процедурі перевіряється коректність отриманих даних, визначається права нижня точка меню, визначається позиція курсора та відображає меню. Результатом роботи цієї процедури є змінна pos характеризує позицію курсора, яку вибирає користувач в меню. Залежно від вибору користувача, тобто від значення змінної pos переданої назад в головну програму MAINPRO виконується вибраний користувачем запит до масиву даних.
mymenu;
{Використовувані модулі} crt, types; masmenu=array [1..25] of string [50]; vertmenu (a: masmenu; n, x, y: byte; var pos: byte) ; vertmenu (a: masmenu; n, x, y: byte; var pos: byte); i, j, x1, y1, p, max: byte;: char;
Перевіряємо що-б ліва верхня точка ненаходу за межами екрану.
Визначаємо ширину меню по максимальній довжині написи, яка буде входити в меню
Отримуємо координати правої нижньої точки меню.
Перевіряємо що-б ліва нижня точка ненаходу за межами екрану.
Використовуючи отримані ліву верхню і праву нижні координати і масив строкових значень меню, відображаємо його. (x, y, x1, y1);
Визначаємо позицію курсора залежно від натисканням функціональної клавіші ..
1.3 Модуль опису основних типів даних TYPES
Цей модуль містить реалізацію всіх основних типів даних використовуються в програмному комплексі. До таких типів ставляться сама запис zap яка складається з змінних:
шифр групи - shifr типу string;
кількість дітей - kol типу integer;
прізвище вихователя - famil типу string.
Крім самого запису модуль містить опис покажчика на записи і опис масиву цих покажчиків на записи. А також і опис файлової змінної для роботи з записами. Реалізація основних типів даних програми в окремому модулі дає можливість використовувати ці типи даних і в інших модулях програми.
types;
{Використовувані модулі} crt;
{Створюємо покажчик на запис}=^ zap;
{Визначаємо сам тип запис}=record: integer;: string [20] ;: string [30] ;;
{Створюємо масив покажчиків на запис}=array [1..200] of uk;
{Визначаємо змінну файлового типу для роботи з ...