Структура програми на мові С++, страница 2

Примітка. При видаленні з форми компонентів їх опису видаляються з h-файлу, а опису обробників подій зберігаються. При перейменуванні компонентів змінюються їхні опису в h-файлі, а також імена і описи обробників подій, згенеровані автоматично. Однак при цьому не змінюються посилання на ці компоненти і обробники подій, використовувані в інших функціях, тому рекомендується перейменовувати компоненти й обробники подій відразу ж після їх створення, поки на них не з'явилися посилання.

Не рекомендується видаляти з модуля порожні функції (наприклад, випадково створені шаблони обробників подій). Вони не збільшать розмір виконуваного файлу, але їх видалення може призвести до неможливості заново згенерувати обробник події, якщо в цьому виникне необхідність.

Всередині модуля функції можуть бути визначені і посилатися один на одного в довільному порядку. Якщо даний модуль посилається на інші форми і модулі, слід за допомогою директиви препроцесора # include включити в нього відповідний h-файл за допомогою пункту меню File / Include Unit Hdr ... . Після цього інтерфейсні елементи іншого модуля будуть доступні в даному модулі.

Файл форми:

Форма є одним з найважливіших елементів додатка C + + Builder. Процес редагування форми відбувається при додаванні до форми компонентів,

зміні їх властивостей, створенні обробників подій.

Коли до проекту додається нова форма, створюються три окремих файлу: Файл модуля (. Cpp) - містять задану вихідний код, пов'язаний з формою. h-файл (. h) - містять задану опис класу форми, тобто опису містяться на формі компонентів і обробників подій.                          Файл форми (. Dfm) - двійковий файл, що містить відомості про опубліковані (тобто доступних в інспектора об'єктів) властивості компонентів, що містяться у формі. Двійковий файл форми містить інформацію, використовувану для конструювання форми з компонентів, розташованих на ній. При додаванні компонента до форми і заголовний файл, і двійковий файл форми модифікуються. При редагуванні властивостей компонента в інспектора об'єктів ці зміни зберігаються в двійковому файлі форми.

Хоча в C + + Builder файл. Dfm зберігається в двійковому форматі, його зміст можна переглянути за допомогою редактора коду. Для цього потрібно натиснути праву клавішу миші над формою і з контекстного меню форми вибрати пункт View as         Text.           Відзначимо, що при вилученні будь-якого компонента з форми в буфер обміну в останньому реально виявляється частина тестового подання файлу форми, що містить опис даного компонента. У цьому можна переконатися, виконавши потім операцію вставки з буфера обміну в будь-якому текстовому редакторі. Модулі Delphi 2.0

Основними елементами модуля є:            - Заголовок модуля - призначений для ідентифікації модуля і повинен бути унікальним для даного проекту. Збігається з ім'ям файлу з розширенням *. Pas.            - Секція інтерфейсу (починається зарезервованим словом interface). Секція інтерфейсу є місцем, де оголошуються константи, типи, змінні, процедури * і функції, які доступні для використання іншими програмними

модулями. При оголошенні процедур і функцій в секції інтерфейсу необхідними є тільки їх заголовки. Тіла, або реалізації, цих процедур і функцій розташовуються в секції реалізації.

- Секція реалізації (починається зарезервованим словом implementation) містить процедури і функції, включаючи обробники подій. Оголошення обробників подій повинні бути присутніми в секції інтерфейсу. Крім цього, секція реалізації може мати додаткові процедури, функції і оголошення констант, типів і змінних, згадки про яких немає в секції інтерфейсу, але ці оголошення видимі тільки в  межах даного модуля.             - Секції ініціалізації і завершення (починаються з зарезервованих слів initialization і finalization) - необов'язкові секції для розміщення операторів, що виконуються відповідно при запуску і завершенні програми. Пропозиція uses (необов'язкове) містить імена інших модулів, використовуваних даним модулем та може розташовуватися безпосередньо за ключовим словом interface і за ключовим словом implementation. Пропозиція uses робить секцію інтерфейсу інших модулів доступною  в даному  модулі.