Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инструменты визуальной разработки приложений 4.doc
Скачиваний:
6
Добавлен:
08.07.2019
Размер:
174.59 Кб
Скачать

4.4.2 Включение объектов в проект

Существует три способа включения в проект объектов из хранилища с целью их разделения:

Копирование объектов хранилища.

Простейший вариант разделения заключается в копировании точного дубликата объекта в ваш проект. Будущие изменения этого объекта в хранилище никак не отразятся на вашей копии, и наоборот, модификации копии не коснутся оригинала объекта в хранилище.

Замечание. Копирование представляет единственную возможность использования проектных шаблонов.

Наследование объектов хранилища.

Наиболее гибкий и мощный вариант разделения заключается в построении нового производного класса от объекта хранилища и добавлении его в ваш проект. Когда вы перекомпилируете проект, любые изменения этого объекта в хранилище отразятся на производном классе, однако модификации вашей производной никак не отразятся на оригинале объекта в хранилище. Замечание. Наследование разрешено для форм, диалогов и модулей данных, но запрещено для проектных шаблонов и экспертов. Наследование представляет единственную возможность повторного использования объектов в одном и том же проекте.

Прямое использование объектов хранилища.

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

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

Разработка нового проекта может начинаться не с пустого проекта (с именем Project 1 по умолчанию), а с некоторого шаблона из хранилища объектов.

Чтобы открыть новый проект на базе шаблона:

1. Выполните команду File | New, которая откроет диалог New Items.

2. Выберите вкладку Projects.

3. Укажите нужный шаблон и нажмите кнопку ОК.

4. В открывшемся диалоге Select Directory укажите каталог, в котором хранятся

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

4.4.3 Добавление объектов к хранилищу

Когда вы создали новую форму или проект (или их шаблоны) и удостоверились, что они работоспособны и послужат в будущем благородной цели стандартизации облика разрабатываемых в вашей организации приложений, сохраните такие объекты в хранилище.

Чтобы добавить новый объект к хранилищу:

1. Выполните команду Project | Add To Repository, которая откроет диалог, показанный на Рис. 4.3.

2. В область редактирования Title введите название объекта.

3. В область Description введите описание объекта.

4. Из выпадающего списка Page выберите имя страницы, в которой вы хотите завести новый объект.

5. В область Author введите фамилию автора.

6. Нажмите кнопку Browse, чтобы выбрать пиктограмму, которая будет представлять объект в хранилище.

7. Нажмите кнопку ОК, чтобы сохранить текущий объект.

Имя объекта

Кнопка выбора пиктограммы

Описание объекта

Автор объекта

Страница объектов указанного типа

Рис. 4.3. Добавление формы к хранилищу объектов.

Чтобы добавить к хранилищу проект или форму в виде шаблона:

1. Если необходимо, откройте проект или форму, шаблоны которых вы хотите добавить к хранилищу.

2. Выполните команду Tools | Repository.

3. На вкладке Project Templates (или Form Templates) выберите команду Add, которая отроет диалог Save Project Template (или Save Form Template).

4. В область редактирования Title введите название проекта или формы.

5. В область Description введите описание проекта или формы.

6. Из выпадающего списка Page выберите имя страницы Projects (или Forms), в которой вы хотите завести соответствующий шаблон.

7. В область Author введите фамилию автора.

8. Нажмите кнопку Browse, чтобы выбрать пиктограмму, которая будет представлять данный шаблон в хранилище.

9. Нажмите кнопку ОК, чтобы сохранить текущий проект или форму в виде шаблона.

Замечание. Если позже вы внесете изменения в шаблон, эти изменения автоматически отразятся в новых проектах или формах, произведенных от этого шаблона, но никак не скажутся на уже созданных производных.

Чтобы увидеть описание выбранного объекта:

1. Выполните команду File | New, которая откроет диалог New Items.

2. Выберите вкладку объектов нужного типа.

3. Щелкните правой кнопкой мыши по выбранному объекту.

4. Из появившегося контекстного меню выберите опцию View Details. Описание объекта появится в столбце Description.

4.4.4 Проект и формы, создаваемые по умолчанию

Проект по умолчанию для нового приложения открывается с помощью команды File | New Application. Если вы не меняли соответствующих установок хранилища объектов, C++Builder создаст пустой проект с пустой формой. Вы можете сменить шаблон проекта по умолчанию, а также назначить запуск некоторого эксперта проектов, который проведет вас через ряд диалогов, руководящих созданием нового проекта.

Чтобы сменить проект по умолчанию:

1. Выполните команду Tools | Repository, чтобы открыть диалог хранилища Object Repository.

2. Выберите страницу с именем Projects из списка Pages.

3. Укажите проект, который вы хотите создавать по умолчанию, в списке Objects.

4. Выберите опцию New Project.

5. Нажмите кнопку OK для регистрации новой установки по умолчанию.

Новая форма по умолчанию для существующего проекта открывается с помощью

команд File | New Form (кнопка быстрого вызова). Если вы не меняли соответствующих установок хранилища объектов, C++Builder создаст пустую форму. Вы можете сменить шаблон формы по умолчанию, а также назначить запуск некоторого эксперта форм, который проведет вас через ряд диалогов, руководящих добавлением новой формы к проекту.

Чтобы сменить форму по умолчанию для существующего проекта:

1. Выполните команду Tools | Repository, чтобы открыть диалог хранилища Object Repository.

2. Выберите страницу с именем Forms из списка Pages.

3. Укажите форму, которую вы хотите создавать по умолчанию, в списке Objects.

4. Выберите опцию New Form.

5. Нажмите кнопку OK для регистрации новой установки по умолчанию.

Основная форма (или эксперт форм) по умолчанию для нового проекта устанавливается в хранилище объектов точно так же, как и форма для существующего проекта.

Чтобы сменить основную форму по умолчанию для нового проекта:

1. Выполните команду Tools | Repository, чтобы открыть диалог хранилища Object Repository.

2. Выберите страницу с именем Forms из списка Pages.

3. Укажите форму, которую вы хотите создавать по умолчанию, в списке Objects.

4. Выберите опцию Main Form.

5. Нажмите кнопку OK для регистрации новой установки по умолчанию.

4.5 Редактор кода

Редактор кода программ предоставляет удобное и надежное средство для просмотра и редактирования текста программного модуля (Unit), независимо компилируемого в объектный файл. Модуль состоит из двух частей: файла объявлений с расширением .h и кодового файла с расширением .срр.

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

C++Builder автоматически отрывает в окне Редактора новую вкладку с текстом модуля в следующих ситуациях:

1. Командой File | New Application создается новое приложение.

2. Командой File | New Form (кнопка IS1 быстрого вызова) создается новая фор ма.

3. Командой File | New Unit создается новый модуль.

4. Командой File | Open Project (кнопка 1в 1 быстрого вызова) открывается существующий проект.

5. Командой File | Open (кнопка 1^1 быстрого вызова) открывается существующий файл текста модуля. По умолчанию вам будут предложены кодовые файлы с расширением .срр. Вы можете сменить установки умолчания для текущего каталога и расширений файлов на вкладке Directories/Conditionals диалога команды Options | Project.

6. Командой Project | Add to Project (кнопка Ц.а| быстрого вызова) к проекту добавляется текущая форма или модуль.

Чтобы редактировать текст модуля:

1. Выберите вкладку окна Редактора с именем нужного модуля или укажите его

в списке, предлагаемом командой View | Units (кнопка IQH быстрого вызова). Если вы хотите создать новое окно Редактора, воспользуйтесь командой View | New Edit Window.

2. Поместите курсор в то место текста, которое вы хотите редактировать.

3. Редактируйте текст с помощью операций, принятых стандартными редакторами Microsoft Windows. Вводимые строки программы разделяются нажатием

клавиши Enter.

Если вы модифицировали текст текущего модуля и не сохранили изменения, C++Builder выдаст предупреждение и откроет диалог Save As, чтобы вы могли ввести новое имя файла модуля (по умолчанию, Uniti). Если вы модифицировали текущий проект и не сохранили изменения, C++Builder выдаст предупреждение и откроет диалог Save As, чтобы вы могли ввести новое имя файла проекта (по умолчанию, Project1).

Закрыть модуль в окне Редактора кода можно одним из способов:

1. Кнопкой в правом верхнем углу окна или клавишами Alt+F4.

2. Командой File | Close.

3. Окно Редактора закрывается только тогда, когда все находящиеся в нем файлы были закрыты.

Важнейшей особенностью C++Builder является автоматическая генерация строк программы. Когда вы добавляете компоненту к форме, в тексте файла Unit1.h появляется объявление переменной экземпляра класса данной компоненты. Например, перенос на пустую форму компоненты кнопки TButton сгенерирует объявление объекта Button 1, а определение события OnClick - объявление метода ButtonlClick обработчика этого события (Рис. 4.4).

Рис. 4.4. C++Biiilder генерирует объявления в файле модуля Unit1.h.

Открыть контекстное меню Редактора кода можно щелчком правой кнопкой мыши в любом месте окна Редактора или нажатием клавиш AIt+FlO. Контекстное меню содержит следующие опции для просмотра исходного текста вашей программы и ее отладки:

• Swap Cpp/Hdr Files переключает файлы составляющих редактируемого модуля Unit.cpp/Unit.h.

• Close Page закрывает текущую вкладку с текстом редактируемого файла модуля.

• Open File At Cursor открывает текстовый файл модуля, начиная с текущей позиции курсора.

• New Edit Window открывает новое окно Редактора кода.

• Topic Search выдает контекстно-зависимую справку о слове в тексте модуля, на которое наведен курсор. Если искомые сведения не обнаружены, справочная служба выдаст сообщение "Help Topic Does Not Exist".

• Toggle Breakpoint включает и выключает останов программы в точке текста, указанной курсором. Чтобы модифицировать свойства точки останова, выполните команду View | Breakpoints и в списке Breakpoint list щелкните правой кнопкой мыши на выбранной точке.

• Run to Cursor запускает загруженную программу до точки текста, указанной курсором. Такое же действие вызывает команда Run | Run To Cursor. После того, как программа остановится перед тем местом, где вы подозреваете ошибку, перейдите к пошаговому исполнению программы по командам

Run | Step Over или Run | Trace Into

• Go to Address переходит к заданному адресу в ассемблерной программе (см. опцию View CPU).

• Inspect открывает окно инспекции выделенного символа. Символ может быть обнаружен не только в текущем, но и в любом исходном файле, скомпилированном и собранном как часть одного проекта. Чтобы поиск символа производился, необходимо разрешить опции компиляции Local symbols и Symbol info на вкладке Pascal диалога команды Options | Project.

• Evaluate/Modify открывает диалог, который дает возможность вычислить значение некоторого выражения или изменить его значение. Такое же действие вызывает команда Run | Evaluate/Modify.

• Add Watch at Cursor открывает диалог, который позволяет следить за изменением значения выражения, на которое указывает курсор. Все отслеживаемые выражения заносятся в список Watch List. Подобное действие вызывает команда Run | Add Watch .

• Read Only устанавливает атрибут "только чтение", запрещающий делать какие-либо изменения текущего файла. Это состояние файла отображается в нижней строке состояния Редактора кода.

• Message View открывает окно сообщений и ошибок, полученных на фазах компиляции и сборки программы.

• View CPU открывает окно отладчика нижнего уровня - ассемблерных команд.

• Properties позволяют просматривать и изменять текущие установки Редактора кода.