Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пример КП.DOC
Скачиваний:
0
Добавлен:
07.08.2019
Размер:
126.98 Кб
Скачать

2.6 Опис алгоритму рішення задачі

Програма аналізу блока завантаження середовища ДОС працює по такому алгоритму:

  1. Спочатку запускається програма. На вході вона перевіряє, яка кількість параметрів було передано програмі;

  2. Якщо програмі були передані які-небудь параметри то програма їх обробляє (це може бути параметр для відображення допомоги по програмі або заборони додавання або редагування змінні середовища оточення ДОС);

  3. Після того як оброблені задані параметри програма викликає функцію GetMasterEnvPtr яка одержує покажчик на структуру пам'яті в якій зберігаються всі змінні оточення середовища операційної системи ДОС. Результатом виклику даної функції буде початкова адреса;

  4. Якщо адреса не отримана (результуючої змінної привласнений 0), то програма видасть повідомлення про тім що програма не може працювати з оточенням операційного середовища ДОС і вийде в операційну систему;

  5. Після цього викликаються функції для відображення вікна програми ShowWin. Результатом виконання даної програми буде головне вікно програми на екрані монітора. Якщо по яким - або причинах вікно створити не вдалося, тоді повертається код помилки й програма завершує своє виконання;

  6. Після того як на екрані буде відображене головне вікно, викликається функція EnumAllVars яка створює список всіх змінних й їхніх значень. Для цього їй як параметр передається початкова адреса отриманий при виклику функції GetMasterEnvPtr. Усередині даної функції здійснюється в циклі прохід по всій області середовища оточення операційної системи й створюється список всіх змінних. Після того як цей список отриманий, його виводять на екран за допомогою функції ShowVarList;

  7. Після цього програма переходить у режим очікування натискання якої-небудь клавіші. Якщо буде натиснуті наступні клавіші то програма відреагує на їхнє натискання. Це клавіші DEL, INS, ALT-C, F10, стрілки нагору й униз, ENTER. Всі інші клавіші ігноруються програмою;

  8. При натисканні на клавішу DEL буде вилучений поточний запис, виділена підсвіченим курсором. Для остаточного видалення запису необхідно підтвердити видалення натисканням клавіші Y в англійському режимі клавіатури. Для видалення поточної змінної викликається функція DelVar;

  9. При натисканні клавіші INS буде зроблена спроба додати нову змінну оточення. Для цього викликається функція AddNewVar. Ця функція запитує в користувача рядок утримуюче ім'я змінної знак присвоювання й значення змінної. Після цього уведений рядок перевіряється на правильність й якщо рядок не містить явних помилок викликається системна функція для встановлення нової змінної оточення;

  10. За допомогою клавіш ALT-З можна змінювати значення поточної змінної. Для цього викликається функція ChangeVar. При виклику даної функції пропонується ввести нове значення змінної. Після того як воно ведено, це значення зберігається за допомогою системної функції ДОС;

  11. За допомогою клавіші F10 можна зберегти всі значення зроблені з оточенням операційної системи й вийти із програми;

  12. При натисканні клавіш стрілка нагору й униз відбувається переміщення за списком змінні середовища.