1. Модулі в Turbo Pascal
В Turbo Pascal можливий доступ до великого числа вбудованих констант, типів даних, змінних, процедур і функцій. Кількість різних програм велике, але майже ніколи вони все відразу в програмах не використовуються. Всі ці програми розділені на пов'язані між собою групи, звані модулями. Можна використовувати тільки ті модулі, які необхідні. У модулі можна представити набір констант, типів даних, змінних, процедур і функцій.
Кожен модуль аналогічний окремою програмою, тобто має: головне тіло, яке викликається перед стартом програми і проводить необхідні дії з ініціалізації, коли це необхідно. Кожен модуль - це бібліотека оголошень, яку можна вставити і використовувати всередині програми, що дозволяє розділити програму на частини і компілювати їх окремо. Наприклад, модуль CRT містить всі оголошення для програм роботи з екраном.
Структура модуля.
Модуль забезпечує набір засобів, завдяки можливості використання процедур і функцій, що підтримують константи, типи даних і змінних. Важливо розуміти, що модуль сам по собі не є виконуваної програмою - його об'єкти використовуються іншими програмними одиницями.
Всі програмні ресурси модуля можна розбити на дві частини: об'єкти, прямо призначені для використання іншими програмами або модулями, і об'єкти робочого характеру. Відповідно до цього модуль, крім заголовка, має дві основні частини, звані інтерфейсом і реалізацією.
В інтерфейсній частині модуля зосереджені опису об'єктів, доступних з інших програм; такі об'єкти називають видимими поза модуля. У частині реалізації поміщаються робочі об'єкти, звані також невидимими або схованими. Всі оголошення та опису модуля стають доступними програмі, використовує його.
Структура модуля схожа на структуру програми, але має і відмінності:
імя_модуля; {Розділ інтерфейсу} спісок_модулей;
{Загальні оголошення. Список процедур і функцій із зазначенням параметрів}
implementation {Розділ реалізації} спісок_модулей; {Приватні оголошення. Реалізація процедур і функцій} {Розділ ініціалізації}
{код ініціалізації}
Тема модуля - слово UNIT, за яким слідує ім'я модуля. Наступний елемент - ключове слово INTERFACE. Це слово позначає початок розділу інтерфейсу модуля, доступного для всіх інших модулів і програм, що використовують цей модуль. У пропозиції uses вказуються модулі, які може використовувати цей модуль.
Слово uses може з'являтися в двох місцях:
відразу ж після слова interface; в цьому випадку, константи або типи даних, оголошені в інтерфейсах цих модулів, можуть бути використані в будь-яких оголошеннях;
відразу ж після слова implementation; в цьому випадку, будь-які оголошення цього модуля можуть використовуватися тільки усередині розділу реалізації. Це так само допускає циклічні посилання модулів.
Розділ інтерфейсу.
Це «відкрита» частину модуля, вона починається ключовим словом INTERFACE, наступним відразу за заголовком, і обмежена ключовим словом IMРLЕMENTATION. Інтерфейс визначає, що є видимим () для деякої програми (або інших модулів), щ...