Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛЕКЦИИ Программирование и основы алгоритмизации...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.5 Mб
Скачать

Структура головного файла проекта

В нем находится головной модуль, содержащий функцию WinMain. Обычно головной модуль даже не просматривают. Пусть проект имеет одну форму, на которой размещены кнопка и метка.

//----------------------------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop //вызывает действия, запланированные авторами компилятора

USERES(“Projects1.res”); //макрос, подключающий файл ресурсов (пиктограммы)

USEFORM(“Unit1.cpp”,Form1); //макрос, подключающий файл формы

WINAPI WinMain(список параметров)

{ try //попытка

{ исполняемый код

(инициализация объектов-компонентов,

создание объектов-форм,

начинает выполнение программы)

}

catch (параметр) //поимка

{ код, исполняемый в случае ошибки

(обработка исключений – аварийных ситуаций;

по умолчанию здесь расположен стандартный

обработчик исключений)

}

return 0;

}

//----------------------------------------------------------------------------------------------

Директива #include <vcl.h> подключает заголовочный файл vcl.h, содержащий объявления, используемые в библиотеке визуальных компонентов.

Макросы USERES и USEFORM препроцессор развернет в соответствующий код.

После начала выполнения программа ждет соответствующих событий, которые и управляют её ходом.

Все операторы головного файла проекта заносятся в него автоматически в процессе проектирования приложения.

Структура заголовочного файла модуля формы (“Unit1.H”)

//----------------------------------------------------------------------------------------------

#ifndef Unit1H

#define Unit1H

//------------------

#include <…..> //директивы помещаются автоматически; они подключают

………………. //копии файлов, в которых описаны компоненты, переменные,

#include <…..> // константы, функции, используемые в данном модуле

//здесь пользователь может поместить свои директивы, например,

#include <math.h>

//----------------------------

//объявление класса формы TForm1

class TForm1:public TForm // TForm базовый класс, порождает объект –

// пустую форму

{__published: //публикуемый - открытый файл, содержащий объявления

//размещенных на форме компонентов и обработчики событий

//в них; включается автоматически

TButton* Button1; //указатель на компонент кнопка

TLabel* Label1; //указатель на компонент метка

void __fastcall Button1Click(TObject* Sender); //объявление (прототип)

// обработчика события - щелчка на кнопке; Sender – указатель на компонент,

// который посылает сообщение обработчику (здесь Sender не нужен).

// Обработчик появляется автоматически после двойного щелчка на кпопке

// или после щелчка в Инспекторе объектов справа от имени события

private: //закрытый раздел класса

//в закрытый раздел пользователь может поместить объявления

//типов, переменных, функций, недоступных для других модулей

public: // открытый раздел класса

__fastcall TForm1(TComponent* Owner); //объявление конструктора формы

//Объявление конструктора формы включается автоматически.

//Пользователь может поместить здесь объявления типов, переменных, функций,

//доступных для других классов и модулей, но со ссылкой на объект

};

extern PACKAGE TForm1* Form1;

//Сюда можно поместить объявления типов, переменных, функций, которые не

//включаются в класс формы. Объявленные здесь переменные доступны в пределах

//данного модуля; будут доступны в других модулях, если определить их там

// через extern. Объявленные функции доступны в пределах данного модуля;

// будут доступны в других модулях, если там содержатся их прототипы.

#endif

//----------------------------------------------------------------------------------------------