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

4. Страж кода (Code Guard).

Предназначен для выявления логических ошибок.

Включение режима: Project  Options CodeGuard. Включить соответствующие (все) флажки.

Настройка: Tools  Code Guard Configuration. Как правило, настройки по умолчанию не меняют. Важно, чтобы был помечен флажок Enable.

Создание переносимого приложения.

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

1. ProjectOptionsCompiler.

2. Включить режим Release (по умолчанию: Full debug).

3. ProjectOptionsLinker.

3. Сбросить флажок: Use dynamic RTL.

4.  OK.

5. Выполнить команду: ProjectBuild Project1.

6. Запустить приложение в автономном режиме (на компьютере, где не установлен Builder)..

Рекомендуемая технология работы с проектом.

а) каждый проект (задание) создается в отдельной папке (FileSave project as…В диалоговом окне щелчком правой кнопки мыши открыть окно и создать новую папку в папке Projects  Открыть папку  Save Unit1.cpp  Save Project1.bpr ). Если предложено сохранить только один файл Project.bpr, тогда в режиме Save as сохранить активный файл Unit.cpp.

б) для последующего сохранения файлов проекта использовать быструю кнопку на панели инструментов Save All.

в) после отладки и тестирования программы очистить контейнер среды:

File  Close All.

г) запускать процедуру полной обработки RUN только тогда, когда все файлы проекта сохранены с учетом последних изменений, т.е. когда кнопка Save All не активна.

Клавиши редактирования

Shift + Delete – перенести выделенный блок из окна редактора в буфер обмена.

Shift + Insert – перенести информацию из буфера обмена в текст.

Shift + F6 – активизировать предыдущее активное окно.

Alt + F5 – показать окно программы.

Ctrl + F9 – компиляция и запуск из оболочки программирования.

Ctrl + Insert – копировать выделенный блок в буфер обмена.

Ctrl + F1 – получить контекстное меню.

Ctrl + K, B – пометить начало блока.

Ctrl + K, K – пометить конец блока.

Ctrl + K, P – напечатать блок.

Ctrl + K, C – копировать блок, начиная с позиции курсора.

Ctrl + K, V – переместить блок.

6. Структура проекта в C++ Builder

Любая программа в C++ Builder автоматически оформляется в виде проекта (Project). Проект состоит из нескольких файлов, которые создаются автоматически.

Все файлы проекта необходимо хранить в отдельной папке. Вначале работы над проектом целесообразно выполнить операцию Save Project as (или Save all), при этом будет предложено сохранить файлы Unit1.cpp и Project1.bpr. Исходное количество файлов в проекте – шесть. Если далее создаются дополнительные файлы проекта, то их необходимо добавить в проект (пункт меню Projects  Add to project).

Основные файлы проекта:

Project1.res – файл ресурсов приложения. Содержит описание пиктограмм, графических изображений, курсоров мыши, строк, созданных программистом и отображаемых на форме.

Unit1.cpp –файл реализации проекта. Содержит исходный текст обработчиков событий приложения. Это основной файл, с которым работает программист.

Unit1.dfm – текстовый файл, содержащий описание формы и всех компонентных объектов, статически размещенных на ней. Этот файл поддерживается и обновляется средой С++Builder автоматически.

Имя формы, например Form1, является одновременно и именем класса для ее объектов. Объявление этого класса содержится в файле Unit1.h. Стандартный идентификатор класса формы имеет вид: TFormX, где X – число, задающее номер формы в последовательности всех форм проекта.

Существует две разновидности форм: модальная (modal) и немодальная (modeless).

Модальные диалоговые окна раскрываются методом ShowModal и позволяют просматривать и модифицировать параметры с помощью объектов формы. Чтобы перейти на другую форму, модальную форму необходимо закрыть.

Немодальные формы раскрываются методом Show() и остаются на экране, не препятствуя переключению на другие формы.

Формы могут находиться в памяти статически и динамически. Статические формы постоянно находятся в памяти, динамические создаются в процессе выполнения программы. Изменить соответствующий статус формы можно с помощью вкладки Forms диалогового окна Project  options. Формы, показанные в списке Auto-create forms являются статическими. Их можно перевести в разряд динамических (Available forms) путем манипулирования соответствующими управляющими кнопками. Результат манипулирования можно посмотреть в файле реализации проекта (Project.cpp). автоматически исчезнут соответствующие инструкции Application  Create Form( )/

Project1.cpp – управляющий модуль проекта. В этот файл автоматически включаются все формы, ресурсы, программные модули и модули данных проекта. Именно здесь инициируется, запускается и завершается исполняемый код приложения, создаются его главная и дочерни формы если таковые имеются.. Любая новая форма, программный модуль или модуль данных автоматически включаются в проектный файл. Этот файл категорически не рекомендуется редактировать вручную.

Project1.bpr – обеспечивает проведение компиляции и сборки приложения. Менеджер проектов автоматически отслеживает в этом файле все текущие проектные настройки, сделанные программистом по команде Project  Options главного меню. Он содержит ссылки на все формы проекта и относящиеся к ним модули.

Unit1.h –интерфейсный модулю с объявлениями компонентных объектов формы и ее конструктора. Функции-обработчики объявлены с ключевым словом _fastcall. Это означает, что передача параметров идет не через стек, а через регистры центрального процессора, что значительно сокращает время обработки событий, а значит и время выполнения программы.

Файлы с расширением .tds хранят настройки проекта: какие окна открыты, их координаты. Сохраняет внешний вид приложения.

После компиляции исходного кода добавляется файл Project1.obj и после компоновки – Project1.exe.

При сохранении создаются резервные копии некоторых файлов с расширениями, например, ~ddp, ~cpp.

При сохранении проекта (Save Project as) в соответствующей папке последовательно сохраняются файлы Unit1.cpp, Project1.bpr и сопутствующие им одноименные файлы. При этом система выдает запрос на сохранение автоматически. Эта опция меню File должна быть активизирована только один раз. Повторная активизация создает в той же папке новый проект с именем Project2, что недопустимо.

Модули

Классы помещаются в модули – отдельно компилируемые файлы. Интерфейсная часть модулей также помещается в отдельный файл с расширением .h (файлы-заголовки). Реализация хранится в файлах .cpp. Связь между файлами объявляется директивой макропроцессора #include.

Модуль – физический контейнер классов и объектов.

Принципы объединения классов и объектов в модули:

  • простота восприятия;

  • независимость реализации;

  • легкость внесения прогнозируемых изменений;

  • интерфейсная часть модуля должна быть как можно уже и интерфейсные элементы не должны изменяться.