Просмотр объектов
Команда Search|Objects открывает окно, в котором выводятся все используемые в программе объекты, упорядоченные в иерархичес- кой структуре. В верхней части окна ObjectBrowser показывает ба- зовый тип и выводит ниже и справа от базового типа потомков. Про- яснить соотношения "предок-потомок" помогают соединяющие линии.
Примечание: Подробную информацию о типах объектов вы можете найти в Главе 9 ("Объектно-ориентированной програм- мирование").
#File#Edit#Search##Run##Compile#Debug#Tools#Options#Window#Help## +=[*]====================== Browse: Object ================2=[*]+ | Global Scope | |-| I +---------------------------------------------------------| |-Objects#######################################################^ | +----Location X | | +---Block # | | | +---Ball # | | | +---Brick # | | +---Cursor # | | | +---SaveScreen # | | +---Obstacle # | | | +---Boundary # | | | | +---LeftBound # | | | | +---LowerBound # | | | | +---RightBound # | | | | +---UpperBound # | | | +---Paddle # | | | +---Wall # | | +---TextString # | | +---Counter # | | +---DownCounter # | | +---LimitCounter v +<############################################################>-+ *F1*Help*<+*Browse**Ctrl*<+*Go*to*source*Space*Track*src*F10*Menu
Рис. 4.4 Просмотр иерархии объектов прикладной программы.
Если иерархия объектов у вас слишком большая, вы можете за- дать, чтобы потомки конкретного объекта на экран не выводились.
* С помощью клавиатуры сделайте следующее:
1. Выберите объект.
2. Нажмите клавишу - (минус).
* При наличии "мыши" просто щелкните "мышью" на горизонталь- ной линии, соединяющей объект с иерархией.
Теперь после объекта выводится + (плюс), и он подсвечивает- ся, показывая, что потомки данного объекта на экран не выводятся.
Вы можете вывести потомков объекта снова.
* С помощью клавиатуры:
1. Выделите объект с символом +.
2. Нажмите клавишу +.
* При наличии "мыши" щелкните ей на горизонтальной строке, соединяющей объект с иерархией.
Потомки объекта появляются вновь.
Из иерархии объектов вы можете просматривать все описанные в индивидуальном объекте идентификаторы. Выделите объект и нажмите клавишу Enter, либо дважды щелкните на объекте кнопкой "мыши".
При просмотре описанных в объекте идентификаторов вы можете задать различные виды вывода:
* Для вывода информации о наследовании для просматриваемого объекта щелкните "мышью" на букве I в верхней части окна ObjectBrowser или нажмите клавиши Ctrl+I.
* Для вывода на экран перечня строк программы или модуля, где имеется ссылка на идентификатор объекта щелкните "мышью" на букве R в верхней части окна ObjectBrowser или нажмите клавиши Ctrl+R.
* Для вывода области действия объекта щелкните "мышью" на букве S или нажмите клавиши Ctrl+S.
Чтобы найти идентификатор в списке выводимых идентификато- ров, наберите первую букву имени идентификатора; ваш курсор быст- ро перемещается на соответствующий идентификатор.
Чтобы ObjectBrowser мог находить, где расположены ваши ис- ходные файлые, вам может потребоваться изменить маршрут каталога модулей и включаемых файлов в диалоговом окне Options| Directories.
Если после открытия окна просмотра вы модифицируете исходный код, добавляя или удаляя строки программы, то программу лучше пе- рекомпилировать. Хотя ObjectBrowser после модификации исходного кода все равно сможет отслеживать информацию об идентификаторах, номера строк исходного кода, выводимые в окне редактирования, не будут обновляться, пока программа не будет перекомпилирована.
Изменения режима вывода информации ObjectBrowser
Вы можете управлять характером вывода в ObjectBrowser инфор- мации.
Можно выбрать, какие идентификаторы должны выводить ObjectBrowser:
1. Для вывода диалогового окна Browser Options выберите ко- манду Options|Browser.
2. В группе Symbols отметьте только те идентификаторы, кото- рые вы хотите выводить в ObjectBrowser. Вы можете также выбрать вывод идентификаторов, наследуемых от предков объекта.
3. Выберите командную кнопку OK.
В ObjectBrowser выводятся только те идентификаторы, кото- рые вы выбрали.
Вы можете также выбрать, какие идентификаторы выводить толь- ко в активном окне просмотра. Для вывода диалогового окна Local Browser Options (Локальные параметры просмотра) выберите в ло- кальном меню окна просмотра команду Options или при отображении окна просмотра нажмите клавиши Ctrl+O.
Если вы в качестве типа отображаемых идентификаторов выбере- те типы, переменные и процедуры, а затем будете просматривать объект Location в программе BREAKOUT.PAS (пример демонстрационной программы в каталоге EXAMPLES\DOS\BREAKOUT), то увидите следующую информацию об идентификаторах:
#File#Edit#Search##Run##Compile#Debug#Tools#Options#Window#Help## +=[*]====================== Browse: Object ================2=[*]+ | Global Scope | |-| S | I | R +-------------------------------------------------| |#var####Location.X:##Integer###################################^ | var Location.Y: Integer X | var Location.Visible: Boolean # | var Location.Init(Integer, Integer) # | proc Location.Relocate(Integer, Integer) # | proc Location.MoveTo(Integer, Integer) # | proc Location.Show # | proc Location.Hide # | func Location.GetX: Integer # | func Location.GetY: Integer # | func Location.InVisible: Boolean # | # | # | v +<X###########################################################>-+ *F1*Help*<+*Browse**Ctrl*<+*Go*to*source*Space*Track*src*F10*Menu
Рис. 4.5 Просмотр информации об идентификаторах.
Сокращения слева от перечисленных идентификаторов перечисля- ют идентификаторы, представляющие вид выводимого идентификатора. Заметим, что включение идентификаторов процедур также включает идентификаторы функций.
+---------------+------------------------------------+ | Идентификатор | Смысл | +---------------+------------------------------------| | const | Константа | | func | Функция | | label | Метка | | proc | Процедура | | type | Тип | | var | Переменная или типизированная кон- | | | станта. | +---------------+------------------------------------+
Для вывода предыдущего окна просмотра выберите команду Search|Previous Browser или нажмите клавиши Ctrl+P.
Когда вы просматриваете выделенный идентификатор, окно ObjectBrowser по умолчанию выводит информацию об области дейс- твия. Если вы предпочитаете по умолчанию видеть информацию о ссылках, то сделайте следующее:
1. Выберите команду Options|Browser.
2. Выберите в качестве значения параметра Preferred Pane Reference.
3. Выберите командную кнопку OK.
По умолчанию ObjectBrowser выводит для проверяемого иденти- фикатора полную информацию об описании. Вы можете просмотреть все поля и методы записей и объектов, включая полностью уточненные идентификаторы. Если вы не хотите видеть полностью уточненные идентификаторы, то сделайте следующее:
1. Выберите команду Options|Browser. 2. Отмените параметр вывода Qualified Symbols. 3. Выберите командную кнопку OK.
Примечание: Вы не увидите видеть полностью уточненные идентификаторы, пока не установите наследование в диалого- вом окне Browser Options (Options|Browser).
По умолчанию ObjectBrowser выводит идентификаторы в области Scope в том порядке, в каком они описаны. Если вы предпочитаете сортировать идентификаторы в алфавитном порядке, то сделайте сле- дующее:
1. Выберите команду Options|Browser. 2. Установите параметр вывода Sort Always. 3. Выберите командную кнопку OK.
Идентификаторы будут сортироваться только по именам, а не по полностью уточненным именам. Например, считается, что следующий список идентификаторов отсортирован в алфавит- ном порядке:
THELPFILE.DONE TOBJECT.FREE THELPFILE.INDEX: PHELP
Когда вы открываете окно просмотра, затем просматриваете пе- речисленный в нем идентификатор, то открывается новое окно прос- мотра, но предыдущее окно остается. Вы можете изменить это пове- дение таким образом, что новое окно просмотра будет заменять пре- дыдущее:
1. Выберите команду Options|Browser.
2. Установите параметр Replace Current sub-browsing.
3. Выберите командную кнопку OK.
Чтобы текущее окно просмотра сохранялось, когда вы выбираете перечисленный в его списке идентификатор, сделайте следующее:
1. Выберите команду Options|Browser.
2. Установите параметр New Browser sub-browsing.
3. Выберите командную кнопку OK.
Возможно, в большинстве случаев вы предпочитаете использо- вать параметр Replace Current или New Browser, но иногда исполь- зуете альтернативный параметры. Быстро выбрать альтернативный па- раметр можно следующим образом:
1. Нажмите и удерживайте в нажатом состоянии клавишу Shift.
2. Выберите следующее действие просмотра.
Например, если действует параметр New Browser, то при на- жатии клавиши Shift следующее открываемое окно просмотра будет замещать текущее.
Отслеживание и редактирование ссылок на строки
Когда ObjectBrowser выводит ссылочную информацию, вы можете выбирать и редактировать выводимые в ссылке строки программы или отслеживать ссылки на идентификатор. Отслеживание означает, что IDE, при перемещении по ссылкам в окне просмотра, подсвечивает в программе одну строку за другой.
Чтобы отредактировать выводимую в ссылке строку программы, сделайте следующее:
1. Выделите ссылку в окне просмотра.
2. Нажмите клавиши Ctrl+Enter или Ctrl+G.
Ваш курсор перемещается на строку программы в исходном коде, ссылка на которую содержится в окне просмотра. Те- перь вы можете редактировать строку программы.
По умолчанию, когда ваш курсор перемещается на строку ис- ходного кода программы, окно ObjectBrowser закрывается. Если вы предпочитаете, чтобы окно просмотра оставалось открытым, то отмените параметр Close On Go To Source в диалоговом окне Preferences.
Примечание: Параметр Close On Go To Source влияет также на окно сообщений Messages (см. ниже).
Для отслеживания строк программы:
1. В окне просмотра выделите ссылку, которую вы хотите отс- леживать.
2. Нажмите клавишу пробела.
Если вы всегда хотите отслеживать ссылки по исходному ко- ду, установите параметр Auto Track Source и группе Options диалогового окна Preferences. Тогда при прокрутке ссылок строки в исходном коде программы будут прокручи- ваться автоматически, и пробел вам нажимать не нужно.
Примечание: Параметр Auto Track Source влияет также на окно сообщений Messages (см. ниже).
Теперь строки программы, на которые имеются ссылки в окне просмотра, отслеживаются в зависимости от того, как вы установили параметры отслеживания в диалоговом окне Options|Enviroment| Preferences: если файл, на который имеется ссылка, не находится в окне редактирования, то IDE открывает файл, и он выводится либо в новом, либо в текущем окне редактирования.
* Если вы хотите, чтобы файл выводился в новом окне редакти- рования, выберите в качестве значения параметра Source Tracking New Window.
* Если вы хотите, чтобы файл замещал текущий в активном окне редактирования, выберите в качестве значения параметра Source Tracking Current Window.
Примечание: Параметр Source Tracking влияет также на окно сообщений Messages (см. ниже).
Если выбранный модуль хранится в библиотеке исполняющей сис- темы Borland Pascal или является одним из стандартных модулей, то вы не сможете просматривать или редактировать исходный код, пос- кольку эти модули скомпилированы без включения отладочной инфор- мации.