При разработке прикладной программы в интегрированной среде IDE вы можете выполнять следующие основные задачи:
* запускать IDE и выходить из нее;
* записывать и редактировать свой исходный код;
* работать с файлами (открывать, закрывать и сохранять их);
* компилировать и выполнять свои программы;
* отлаживать программы;
* просматривать исходный код;
* настраивать по своему усмотрению конфигурацию IDE;
* управлять программными проектами.
Данная глава дает основные понятия по каждой из перечисленных тем, за исключением отладки программы (о которой рассказывается в Главе 6 "Отладка в интегрированной среде").

Запуск IDE и выход из нее

Перейдите в подкаталог Borland Pascal, созданный вами с по мощью программы Install. Обычно этим каталогом является каталог C:BPBIN. Чтобы запустить IDE защищенного режима, введите команду:

BP

Файлы DPMI16BI.OVL и RTM.EXE должны находиться в текущем каталоге по вашему маршруту, иначе BP.EXE не запустится.
Чтобы запустить IDE, работающую в реальном режиме,введите команду:

TURBO

Вместе с командами для запуска IDE вы можете использовать один или более параметров и имен файлов.

Параметры запуска

При запуске IDE вы можете указывать параметры запуска. Эти параметры запуска имеют следующий синтаксис:

BP[/параметры][файлы]
или
TURBO[/параметры][файлы]

Указание после параметра символа + или пробела включает его, указание символа отключает. Например:

BP /G /P-myfile

запускает IDE, открывает окно редактирования,выводя в нем файл MYFILE, разрешает сохранение графической памяти и запрещает переключений палитр.
Вместо символа косой черты (/) перед параметром вы можете использовать минус (). Например:

BP-G-P-myfile

Некоторые параметры запуска применяются только к IDE реального режима TURBO.EXE. В этом случае параметр помечен словами "(только TURBO)". Два параметра применяются к IDE защищенного ре жима BP.EXE.В этом случае параметр помечен словами(только BP).

Параметр /C

Если вы используете параметр /C, за которым без пробела сле дует имяфайлаконфигурации,то IDE при запуске загружает этот файл конфигурации. Например:

TURBO /Cmyconfig

О файлах конфигурации рассказывается ниже.

Параметр /D

Если вы укажете параметр /D,IDE сможет одновременно работать с двумя мониторами. IDEпроверяет, имеется ли на вашем компьютере соответствующее оборудование, например, монохромная и цветная плата. Если это не так,то IDE игнорирует данный параметр. Режим с двумя мониторами полезно использовать при отладке программы. Один монитор вы можете использовать как экран выводимых программой данных, а другой для работы с отладчиком. Используя два монитора, вы можете также выйти в командный процессор DOS (FileіShell to DOS), так что на одном экране будет выводиться IDE, а другой дает вам доступ к командной строке DOS.

Если система имеет два монитора, DOS интерпретирует один монитор как активный монитор. Для переключения между двумя мониторами можно использовать команду DOS MODE. Например, MODE CJ80 ак тивизирует цветной монитор, а MODE MONO активизирует монохромный монитор. В режиме с двумя мониторами обычный экран IDE выводится на неактивном мониторе, а вывод программы поступает на активный монитор.

Поэтому когда вы на одном мониторе набираете в ответ на подсказку DOS BP /D или TURBO /D, IDE выводится на другом мониторе. Когдавыхотите проверить программу на конкретном мониторе, выйдите из IDE, переключите активный монитор на тот, на котором вы хотите ее проверить, а затем снова дайте команду BP /D или TURBO /D. Вывод программы затем будет поступать на тот монитор, где вы набрали команду.

При использовании команды /D следует иметь в виду следующее:
* Не изменяйте активный монитор (используя, например, команду DOS MODE), когда вы находитесь в командном процессоре DOS (FileіDOS Shell).
* Пользовательские программы, использующие прямой доступ к портам видеоплаты неактивного монитора, не поддерживаются и могут дать непредсказуемые результаты.
* Когда вы выполняете или отлаживаете программы, которые явным образом используют два монитора, не указывайте параметр /D.

Параметр /E (только TURBO)

Используйте параметр/E для изменения размера динамически распределяемой области памяти редактора. По умолчанию ее размер равен 28К (минимальная установка). Максимальное значение 128К. Размер динамически распределяемой области памяти, превышающий 28К, улучшает производительность IDE только в том случае, если вы используете в качестве устройства свопинга медленный диск. Если у вас есть память EMS или вы разместили файл свопинга на виртуальном диске (см. параметр /S), не изменяйте используемый по умолчанию параметр.

Параметр /F (только BP)

С помощью параметра/F вы можете задать файл свопинга для администратора Borland Pascal этапа выполнения (RTM.EXE). Например, если вы компилируете прикладную программу, которая требует 4 мегабайта памяти, но на вашем компьютере доступно только два мегабайта, то вы можете задать файл свопинга 4 мегабайтной виртуальной памяти; ваша прикладная программа получит необходимую ей для компиляции память. Для файла свопинга допустимы размеры от 1024Кдо 16384К. В следующем примере задается файл свопинга в 2 мегабайта:

BP /F2048

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

BP /F0

Параметр /G

Используйте параметр /G для разрешения полного сохранения графической памяти, при отладке графических программ в системах с EGA, VGA или MCGA. При включении сохранения графического экрана (Graphics Screen Save) IDE резервирует дополнительные 8 килобайт для буфера, который размещается в EMS (при ее доступности).

Параметр /L

Используйте параметр /L, если вы работаете с IDE на жидкокристаллическом или плазменном экране.

Параметр /N

Используйте параметр/N для разрешения или запрета проверки на помехи на адаптере CGA. Если вы работаете с адаптером CGA, который не дает на экране помехи ("снег") при обновлении изображения, запретите данный параметр. Если вы не работаете с CGA, этот параметр не действует.

Параметр /O (только TURBO)

Используйте параметр /O для изменения размера оверлейной динамически распределяемой памяти IDE. По умолчанию назначается размер 90К. Если у вас есть EMS,то вы можете уменьшить размер оверлейной динамически распределяемой памяти, не ухудшая произво дительности IDE и освободив дополнительную памяти для компиляции и отладки программ.

Параметр /P

Используйте параметр /P, управляющий переключением палитр на видеоадаптере EGA, когда ваша программа модифицирует регистры палитры. Палитра EGA будет восстанавливаться при каждом переключении экрана.
В общем случае вам не нужно использовать данный параметр, пока ваша программа не модифицирует регистры палитры EGA или не использует для переключения палитры BGI.

Параметр /R

Если параметр /R включен при запуске IDE, то текущим становится тот каталог, в котором вы находились вовремя последнего выхода из IDE. По умолчанию этот параметр включен. Чтобы этот параметр начал действовать, нужно так же выбрать параметр IDE OptionsіEnviromentіPreferences и установить параметр Desktop Auto Save. Если вы не хотите, чтобы IDE запоминала последний каталог, выключите параметр /R.

Параметр /S

Если ваша система не имеет дополнительной памяти, используйте параметр /S для задания диска и маршрута доступа к "быстрой" области свопинга, такой как виртуальный диск (например,/Sd:, где d дисковод). Если каталог свопинга не задан,то файл свопинга создается в текущем каталоге.

Параметр /T

Если вы не хотите, чтобы IDE загружала библиотеку исполняющей системы, запретите параметр /T. Для TURBO.EXE библиотекой исполняющей системы является TURBO.TPL. В зависимости от целевой платформы для BP.EXE библиотекой исполняющей системы может быть TURBO.TPL (реальный режим), TPW.TPL (Windows) или TPP.TPL (защищенный режим). Если библиотека исполняющей системы не загружена, перед компиляцией или отладкой программ вам потребуется модуль System. Запретив параметр /N и выделив SYSTEM.TPU из библиотеки исполняющей системы с помощью TPUMOVER, вы можете увеличить емкость IDE реального режима. Если вы используете IDE защищенного режима, то может сделать тоже самое, выделив в зависимости от целевой платформы модуль SYSTEM.TPU, SYSTEM.TPW или SYSTEM.TPP. О выборе целевой платформы рассказывается ниже.

Примечание: Об утилите TPUMOVER рассказывается в Главе 1 "Перемещение модулей" в "Руководстве по инструментальным средствам и утилитам".

Параметр /W (только TURBO)

Используйте параметр /W, если вы хотите изменить размер динамической памяти окна. По умолчанию этот размер устанавливается в 32К. Минимальная установка 24К; максимальная 64К. Если вам не требуется открывать в оперативной памяти много окон, уменьшите размер динамической памяти окна. Размер по умолчанию дает IDE хорошую емкость и достаточное оконное пространство.

Параметр /X (только TURBO)

Используйте параметр /X, если вы хотите, чтобы IDE использовала дополнительную память(EMS). По умолчанию этот параметр включен. При разрешении данного параметра IDE улучшает производительностье, размещая в дополнительной памяти перекрываемый код, данные редактора и другие системные ресурсы.

Параметр /Y (только BP)

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

Установка параметров запуска в интегрированной среде

Параметры запуска вы можете также установить в самой интегрированной среде:
1. Выберите команду OptionsіEnviromentіStartup для вывода диалогового окна Startup Options.
2. Выберите нужные параметры и задействуйте кнопку OK. Установленные параметры будут действовать при следующем за пуске IDE.

Выход из IDE

Из IDE можно выйти двумя способами:
* Чтобы полностью выйти из IDE, выберите команду FileіExit. Если вы внесли изменения, которые не были сохранены, IDE выводит запрос, хотите ли вы сохранить перед выходом свои программы.
* Чтобы временно выйти из IDE для ввода команд в ответна подсказку DOS, выберите команду FileіDOS Shell. IDE остается в памяти, но управление передается в DOS. Вы можете ввести команды DOS и даже запустить другие программы. Когда вы будете готовы вернуться в IDE, наберите в командной строке EXIT и нажмите Enter. IDE выводится в том виде, как вы из нее выше.

Использование справочной системы Help

Справочная система Help предоставляет вам возможность легк го доступа к детальной информации о языке Borland Pascal, интегрированной интерактивной среде, библиотеке исполняющей системе, директивах компилятора и т.д.
Если вы ранее не работали со справочной системой Help для DOS по языкам Borland, то, прочитав следующие разделы, вы можете вывести справочный экран. Экран содержимого справочника Borland Pascal Help Contents выводится при выборе команды HelpіContents.

Перемещение в справочной системе

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

* Если справочный экран не содержит командных кнопок:
Нажимайте повторно клавишу Tab, пока не будет подсвечена ссылка, затем нажмите клавишу Enter.

* Если справочный экран представляет собой диалоговое окно с командными кнопками:
- Если вы используете "мышь", щелкните "мышью" на кнопке перекрестных ссылок Crossref.
- Если вы используете клавиатуру, нажмите Enter; при этом по умолчанию выбирается кнопка Crossref. Чтобы выбрать другую кнопку, нажимайте повторно клавишу Tab, пока не будет подсвечена нужная кнопка, затем нажмите клавишу Enter.

Выводится новый справочный экран Help с информацией по выбранной теме. Вы перешли в новое место справочной системы. На этом экране вы можете видеть другие ссылки, которые можно выбирать для получения дальнейшей информации.

Чтобы вернуться к предыдущему экрану Help, выберите команду HelpіPrevious Topic или нажмите клавиши Alt+F1.

Запрос помощи

Доступ к справочнику Help можно получить несколькими способами:
* Выбрав команду Help в строке меню или нажав Alt+H для вывода меню Help.
В меню Help вы можете выбрать вывод экрана оглавления Contents, экрана тематического указателя Index по всей справочной системе, детальную информацию по теме, на которую указывает курсор в окне редактирования или справку по работе со справочной системой Help.

* Для вывода экрана тематического указателя Borland Pascal Help Index нажмите клавиши Shift+F1.
Экран тематического указателя Index аналогичен тематическому указателю книги. Однако, вместо того, чтобы перевернуть страницы для получения информации по нужной теме здесь нужно дважды щелкнуть на ней кнопкой "мыши" или перейти к теме с помощью клавиши Tab и нажать Enter.

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

* Выбрав командную кнопку Help в диалоговом окне.
При выборе командной кнопки Help вы получите информацию о диалоговом окне.

* Поместив курсор на термин в окне редактирования и выбрав Topic Search. Используйте любой из следующих методов:
- нажмите клавиши Ctrl+F1;
- выберите команду HelpіTopic Search;
- удерживая клавишу Ctrl, щелкните правой кнопкой "мыши" (комбинация нажатий Ctrl+правая кнопка "мыши" должна быть предварительно настроена выберите команду OptionsіEnviromentіMouse и выберите команду Topic Search).
- выберите команду Topic Search в локальном меню окна редактирования (нажмите клавиши Alt+F10 для вывода на экран локального меню или щелкните правой кнопкой "мыши").

Примечание: О локальном меню окна редактирования рассказывается ниже.

В справочном экране выводится информация о термине, на котором установлен курсор в активном окне.

Копирование примеров исходного кода

Справочная система Help содержит примеры кода для каждой процедуры и функции. Вы можете скопировать эти примеры из справочной системы в окно редактирования. Выполните следующие шаги:

1. Выведите справочный экран по интересующей вас процедуре или функции.

2. Прокрутите справочное окно, пока не увидите в нем пример исходного кода.

3. Для вывода локального меню Help нажмите клавиши Alt+F10 или щелкните правой кнопкой "мыши".

4. Скопируйте пример:
* для копирования всего примера выберите команду Copy Example;
* для копирования части исходного кода подсветите то, что вы хотите скопировать, и выберите команду Copy.

5. Вернитесь в окно редактирования и выберите команду EditіPaste, нажмите клавишу Shift+Ins или выберите команду Paste в локальном меню окна редактирования.

Загрузка других справочных файлов

Интегрированная среда позволяет вам подключать к справочной системе Help другие справочные файлы. Например, если выхотите получать справочную информацию по Turbo Vision, то можете загрузить справочный файл Turbo Vision. IDE объединяет тематические указатели справочных файлов, что позволяет вам получить доступ в экране Index как к обычной справочной системе Help, так и к справочной системе Turbo Vision.

Чтобы загрузить новую справочную систему Help, выполните следующие шаги:

1. Выберите команду HelpіFiles (СправочникіФайлы).
Выводится диалоговое окно установки справочных файлов Install Help Files.

2. Выберите команду New (Новый).
Выводится диалоговое окно Help Files (Справочные файлы). Все справочные файлы в вашем каталоге BIN с расширением. TPH выводится в блоке списка. Если вы не видите справочных файлов, измените каталог BPBIN.

3. Дважды щелкните "мышью" на справочном файле, который вы хотите включить в справочную систему, или выделите его и нажмите клавишу Enter.

Примечание: Если вы хотите так же выбрать второй справочный файл, повторите этот шаг.

Диалоговое окно Install Help Files появляется вновь, и в нем выводится справочный файл, который вы выбрали в блоке списка.

4. Выберите командную кнопку OK.

5. Выберите команду HelpіIndex или нажмите клавиши Shift+F1.
В строке состояния вы можете увидеть краткое сообщение, показывающее индексирование и слияние. После завершения слияния выможете прокрутить справочный экран и увидеть, что вам доступны все темы в выбранных справочных файлах.
Тематические указатели остаются объединенными в течении текущего сеанса. Если в диалоговом окне Preferences (OptionsіEnviromentіPreferences) вы установили параметр Enviroment Auto Save, то тематические указатели будут оставаться объединенными и в следующих сеансах. Если вы не сохранили свою операционную среду, то при следующем запуске IDE тематический указатель Help возвращается в исходное состояние. Другими словами, объединение тематических указателей не будет сохраняться от одного сеанса к другому.

Примечание: О сохранении операционной среды рассказывается ниже.

Если вы не хотите видеть на экране тематического указателя Index конкретные записи Help,томожете"удалить"справочный файл:
1. Выберите команду HelpіFiles.
2. Выберите имя справочного файла, который вы больше не хотите просматривать.
3. Выберите команду Delete.
4. Выберите командную кнопку OK.

Выход из справочника Help

Чтобы закрыть окно Help и вернуться в свою прикладную программу вы можете выбрать один из следующих методов:
* Нажать клавишу Esc.
* Щелкнуть "мышью" на элементе закрытия окна Help.
* Щелкнуть "мышью" вне окна Help.

Если вы хотите вновь вывести предыдущий справочны йэкран, нажмите клавиши Alt+F1.

Запись и редактирование исходного кода

Набирайте текст, как это делается в любом редакторе. Для завершения строки нажимайте Enter. Когда вы введете достаточно строк, чтобы заполнить экран, он будет прокручиваться.

Примечание: В IDE вы можете открыть столько окон, сколько позволяет память вашей системы.

Полный список команд редактирования вы можете найти в Приложении A ("Справочник по редактору") "Руководства программиста".

Настройка конфигурации редактора

Для модификации поведения редактора Borland Pascal имеется несколько параметров. Для вывода диалогового окна Editor выберите команду OptionsіEnviromentіEditor.

Чтобы подробнее узнать о каждом параметре, выделите данный параметр и нажмите клавишу F1. Справочная система Help поясняет, что делает данный параметр.

Примечание: О выделении синтаксиса в редакторе рассказывается ниже.

Изменение решения: команда Undo

Редактор имеет команду отмены Undo, которая облегчает изменение вашего решения при выполнении каких либо действий и исправление ошибки. Чтобы отменить действие предыдущей операции редактирования, выберите команду EditіUndo или нажмите клавиши Alt+Backspace. Если вы продолжаете выбирать команду Undo, редактор продолжает отменять действия. С помощью команды возобновления EditіRedo вы можете также отменить саму команду Undo.

Команда Undo вставляет все удаленные вами символы, удаляет любой вставленный символ, заменяет все перезаписанные символыи перемещает курсор обратно на предыдущую позицию. Если вы отменяете блочную операцию, то файлы выводится в том виде, какой он имел перед выполнение блочной операции.

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

Групповая отмена

Параметр Group Undo в диалоговом окне OptionsіEnviromentі Editor влияет на то, как ведет себя команда Undo и соответствующая команда Redo. Если вы выберите параметр Group Undo (Групповая отмена), при нажатии клавиш Alt+Backspace или EditіUndo, редактор изменяет последнюю группу команд.

Приведем пример того, как работает групповой параметр. Если вы наберете, например, MISTAKE и параметр Group Undo установлен, то Undo удаляет все слово. Если параметр Group Undo не выбран, и вы набираете MISTAKE, Undo удаляет только последний символ, букву E. Чтобы отменить слово MISTAKE при выключенно мпараметре Group Undo, вам нужно использовать команду Undo семь раз.

Примечание: Группа это последовательность команд одного типа.

Вставки, удаления, замены и перемещения курсора являются групповыми операциями. Когда вы меняете тип команды, старая группа завершается и начинается новая. Для редактора вставка возврата каретки нажатием клавиши Enter это вставка, за которой следует перемещение курсора. Поскольку тип редактирования изменился (вы вставили символы, затем переместили курсор), группа вставки символов завершается, когда вы нажимаете Enter.

Отмена отмены

Команда EditіRedo изменяет на обратное действие последней команды Undo. Redo немедленно действует только после команды Undo или другой команды Redo. Последовательность команд Redo отменяет действие последовательности команд Undo. Как и в случае команды Undo, на команду Redo влияет параметр Group Undo.

Работа с блоками текста

Блок текста это любой объем текста (от одного символа до сотен строк), который выделен на экране. В каждый момент времени в окне может быть выделен только один блок.

Выделение блока

Для выделения блока текста существует по крайней мере три способа:
* Буксируйте "мышь" по тексту, который вы хотите выделить.
* Переместите свой курсор в начало блока текста, нажмите клавишу Shift и, удерживая ее, переместите курсор к концу блока с помощью клавиш стрелок.
* Щелкните "мышью" в начале блока, переместите курсор к концу блока с помощью клавиш стрелок, затем, нажав Shift, снова щелкните кнопкой "мыши".

Если вы уже работали с редакторами Borland ранее,то можете использовать команды работы с блоками как обычно. Таблицу команд редактора Borland для работы с блоками можно найти в Приложении A ("Справочник по редактору") "Руководства программиста".

Вырезание, копирование и вставка блоков

После выбора блока его можно скопировать, переместить или записать в файл.

* Чтобы вырезать выделенный текст, нажмите клавиши Shift+Del или выберите команды EditіCut. Выделенный блок удаляется из текста и помещается в буфер вырезанного изображения ("карман") временную область памяти.

* Для копирования выделенного текста нажмите клавиши Ctrl+Ins или выберите команду EditіCopy. Выделенный блок остается в тексте, а его копия помещается в буфер вырезанного изображения и готова для вставки в другом окне редактирования.

* Чтобы вставить (скопировать) текст, содержащийся в буфере вырезанного изображения, в активное окно, нажмите клавиши Shift+Ins или выберите команду EditіPaste .Блок, содержащийся в буфере, вставляется в текущей позиции курсора.

* Для стирания (удаления) выделенного текста нажмите клавиши Ctrl+Del или выберите команду EditіClear. Выделенный блок удаляется из текста, и копия не помещается в буфер вырезанного изображения. Единственный способ восстановления удаленного текста состоит в применении команды EditіUndo.

Изменение поведения выделенных блоков

На поведение в редакторе выделенных блоков влияют два параметра PersistentBlocks и Overwrite Blocks. Их можно найти в диалоговом окне OptionsіEnviromentіEditor.

* Если включен параметр Persistent Blocks (Постоянныебло ки), то выделенные блоки остаются выделенными пока вы их не удалите или не отмените выделение (или пока не выделите другой блок).

* Если параметр Persistent Blocks выключен, и вы перемещаете курсор за выделенный блок, то выделение блока отменяется.

* Если параметр PersistentBlocks выключен, то параметр Overwrite Blocks setting игнорируется.

* Если включен параметр Overwrite Block (Затирание блока), и вы набираете букву, то выделенный блок заменяется набранной буквой.

* Если параметр OverwriteBlock выключен, и вы набираете букву, то буква вставляется после выделенного текста.

* Если параметр OverwriteBlock включен, а параметр Persistent Block выключен, и вы нажимаете клавишу Del или клавишу Backspace, то весь выделенный текста удаляется.

Если вы вставляете текст (нажимая символ или вставляя его из буфера), то весь выделенный текст заменяется вставленным текстом.

Поиск

Вы можете использовать редактор для поиска строки в исходном коде. Для поиска строки текста в активном окне редактирования вы полните следующие шаги:

1. Выберите команду SearchіFind. При этом открывается диалоговое окно Find Text (Поиск текста).

2. Наберите искомую строку в блоке ввода Text to Find.

3. Вы можете также задать различные параметры поиска:

   * Кнопки с независимой фиксацией Options (Параметры) определяют, будет при поиске:
   - различаться регистр символов;
   - выполняться поиск только полного слова;
   - использоваться регулярные выражения (об использовании регулярных выражений в строках поиска рассказывается в Приложении A "Справочного руководства программиста").

   * Кнопки с зависимой фиксацией Scope (Область действия) управляют тем, в какой части файла выполняется поиск во все файле или только в выделенном тексте.

   * Кнопки с зависимой фиксацией Direction (Направление) управляют тем, в каком направлении вы выполняете поиск в прямом или в обратном.

   * Кнопки с зависимой фиксацией Origin (Начало) управляет тем, откуда начинается поиск.

4. Для выполнения поиска выберите командную кнопку OK.

5. Если вы хотите выполнить повторный поиск того же элемента, выберите команду SearchіSearch Again (ПоискіПовторный поиск).

По умолчанию в блоке ввода Text to Find (Искомый текст) вы водится слово, на котором позиционируется курсор. Если вы не хотите, чтобы это происходило, сделайте следующее:

1. Выберите команду OptionsіEnviromentіEditor.

2. Отмените установку параметра Find Text at Cursor.

При выводе диалогового окна Find в блоке ввода выводится слово, на котором находится курсор. Если вы хотите вместо отдель ного слова найти предложение или группу слов,нажмите клавишу > (когда курсор находится в блоке ввода Find Text). В блоке ввода появляется дополнительный текст, как если бы он "вытягивался" из окна редактирования.

Поиск и замена

Для поиска строки текста и замены ее другой строкой выберите команду SearchіReplace (ПоискіЗамена). Выберите в диалоговом окне параметры, как это делается для команды Search,но включите в блок Next Text строку замены.

Если выхотите заменить все вхождения строки в своем файле, выберите параметр Change All. Если вы выберете параметр Prompt on Replace, редактор будет выполнять поиск, пока не найдет указанную строку, затем запросит, хотите ли вы ее заменить. Если вы не используете параметр PromptonReplace, лучше выбрать параметр Whole Words Only (Только полные слова). Это позволит избежать случаев замены символов в середине слова возможно, вы не хотите, чтобы это происходило.

Соответствие пар ограничителей

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

1. Поместите курсор на ограничителе (скобке).

2. Нажмите клавиши Ctrl+Q[.

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

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

На самом деле есть две команды редактирования пар ограничителей: одна для поиска соответствующей пары в прямом направлении (Ctrl+Q[), а другая в обратном (Ctrl+Q]).

Если вы поместите курсор на одинарную или двойную кавычку, редактор не знает, в каком направлении нужно искать парный ограничитель. В этом случае вы должны задать корректную команду поиска пары.

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

Приведем пример, иллюстрирующий соответствие пар:

                       совпадающая  совпадающая совпадающая

                          пара         пара        пара

                          ЪБї        ЪДДБДДї     ЪДДБДДї

             Array1[Array2[x]]     ((x > 0) and (y < 0)

                   АДДДДВДДДДЩ      АДДДДДДДДДВДДДДДДДДЩ

                   совпадающая           совпадающая

                      пара                  пара


Рис. 4.1 Поиск соответствующей квадратной или круглой скобки.

Переход к строке с заданным номером

Редактор отслеживает, на какой строке находится курсор в строке состояния окна. Быстрый способ перехода в определенное место в файле состоит в использовании команды Go toLineNumber (Переход на строку с номером):

1. Выберите команду SearchіGo to Line Number.

2. Наберите номер строки, на которую вы хотите перейти.

3. Выберите командную кнопку OK.

Использование локального меню окна редактирования

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

* Нажать клавиши Alt+F10.

* Щелкнуть правой кнопкой "мыши".

Интегрированная среда IDE содержит также другие локальные меню. Прочитав об использовании справочника Help, отладке и просмотре, вы узнаете, где находятся остальные локальные меню.

Выделение синтаксиса

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

Цвета текста

Чтобы изменить цвет элемента, выполните следующие шаги:

1. Выберите команду OptionsіEnviromentіColors. Выводится диалоговое окно Colors (Цвета).

             ЙН[ ]НННННННННННННННННННННННColorsННННННННННННННННННННННННН»

             є                                                          є

             є Group            Item                                    є

             є  Compiler     ^   Whitespace       ^  ЪДForegroundДДДДДї є

             є  Desktop      ±   Comments         ± і±±±±ІІІІ±±±±    і є

             є  Dialogs      ±   Reserved words   ±  іІІІІЫЫЫЫ    °°°°і є

             є  Help         ±   Identifiers      ±  іЫЫЫЫ    °°°°ЫЫЫЫі є

             є  Menus        ±   Symbols          ± АДДДДДДДДДДДДДДДДЩ є

             є  Messages     ±  Strings          ±  ЪДBackgroundДДДДДї є

             є  Output       ±   Members          ± і±±±±ІІІІ±±±±    і є

             є  Register     Ы   Assembler        ±  іІІІІЫЫЫЫ    °°°°і є

             є ІSyntaxІІІІІІІ±                    ±  іЫЫЫЫ   °°°°    і є

             є  Watches      ±                    ±  АДДДДДДДДДДДДДДДДЩ є

             є               ±                   Ы  Text°Text°Text°    є

             є               v                   v  Text°Text°Text°    є

             є                                                          є

             є                  ЫЫЫЫЫOKЫЫЫЫ ЫЫЫCancelЫЫЫ  ЫЫЫHelpЫЫЫЫ  є

             є                   ±±±±±±±±±±± ±±±±±±±±±±±±  ±±±±±±±±±±± є

             є                                                          є

            ИННННННННННННННННННННННННННННННННННННННННННННННННННННННННННј

Рис. 4.2 Диалоговое окно Colors.

Colors - цвета;
Group - группа;
Compiler - компилятор;
Desktop - оперативная область;
Dialogs - диалоги;
Help - справочник;
Menus - меню;
Messages - сообщения;
Output - вывод;
Register - регистр;
Syntax - синтаксис;
Watches - выражения просмотра;
Item - элемент;
Whitespace - пробел;
Comments - комментарий;
Reserved words - зарезервирован ныеслова;
Identifiers идент- ификаторы;
Symbols - имена;
Strings - строки;
Members - элементы (члены);
Assembler - ассемблер;
Foreground - основной цвет;
Background - фоновый цвет.

В блоке списка слева выводятся все группы элементов, которые вы можете выделять цветом в IDE.

2. Прокрутите блок списка Group,пока не увидите группу Syntax(Синтаксис). Выберите группу Syntaxи в блоке списка Item выведутся элементы кода Паскаля, которые вы можете выделять цветом.

3. Выделите элемент, который вы хотите изменять в блоке списка Item.

4. Выберите основной и фоновый цвет, который вы хотите назначить для элемента.
* Чтобы выбрать фоновый цвет с помощью "мыши",щелкните ее кнопкой на нужном цвете матрицы цветов Foreground. Чтобы выбрать цвет с помощью клавиатуры, нажимайте клавишу Tab, пока не будет выбрана матрица фонового цвета, затем для выделения цвета используйте клавиши стрелок.
* Чтобы выбрать фоновый цвет, выберите нужный цвет в матрице цветов Background.
Как только вы сделаете выбор цвета, он будет отражен в примере текстового окна.

5. Выберите командную кнопку OK.

Выбор файлов для выделения

По умолчанию выделение синтаксиса происходит только в файлах с расширениями .PAS и .INC. Вы можете использовать выделение синтаксиса в файлах другого типа.

Чтобы изменить тип файлов, выводимых с выделением синтаксиса, сделайте следующее:

1. Выберите команду OptionsіEnviromentіEditor.

2. Измените текст в блоке Highlight Extensions.

Допускается любое разрешенное имя файла DOS, включая трафаретные символы. Вы можете задать несколько имен файлов. В этом случае их нужно разделить двоеточиями.

Запрещение выделения синтаксиса

Если вы не хотите использовать выделение синтаксиса, то мо жете выключить его:

1. Выберите команду OptionsіEnviromentіEditor.

2. Отмените выбор параметра Syntax Highlight (Выделение син таксиса).

Цвет обычного текста изменяется модификацией параметра EditorіNormal Text в диалоговом окне OptionsіEnviromentіCoplors. Если вы не выключите подсветку синтаксиса, изменение цвета обычного текста не действует.

Печать исходного кода

Если выхотите получить печатную копию своего исходного ко да, выберите команду FileіPrint.IDE расширяет символы табуляции (заменяя табуляцию соответствующим числом пробелов и затем печатает ваш файл).

Выделение элементов синтаксиса при печати

Вы можете напечатать текст таким образом, чтобы синтаксические элементы были выделены. Перед печатью вы должны пропустить выводимый на принтер текст черед программу фильтр PRNFLTR.EXE:

1. Выберите команду FileіPrinter Setup.

2. Если программа PRNFLTR.EXE не находится по вашему маршру ту или в текущем каталоге, добавьте информацию о текущем маршруте в запись PRNFLTR в диалоговом окне Filter Path.

3. В блоке ввода CommandLine вы можете указать принтер Epsor, HP LaserJet или PostScript.

* Если вы используете принтер Epson, введите:

$NOSWAP /EPSON

* Если вы используете принтер HP LaserJet, введите:

$NOSWAP /HP

* Если вы используете принтер PostScript, введите:

$NOSWAP /PS

Если у вас другой тип принтера, то вы можете модифицировать файл PRNFLTR.PAS, чтобы воспринимались соответству ющие коды.

4. Установите параметр Send Highllighting Escape Codes.

5. Выберите командную кнопку OK.

6. Выберите команду FileіPrint.

Если параметр Syntax Highlight установлен, ваш текст печатается с выделением синтаксических элементов.

Работа с файлами

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

            ЪДДДДДДДДДДДДДДДДДДВДДДДДДДДДї

             і     Команда      і             Описание             і

            ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДґ

             і FileіNew         і Открывает новое  окно редактиро-і

             і                  і вания и присваивает ему временноеі

             і                  і имя.                             і

            ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДґ

             і FileіOpen        і Выводит  диалоговое окно,  с  по-і

             і                  і мощью  которого   можно  открытьі

             і                  і файл.                            і

            ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДґ

             і FileіSave        і Сохраняет  файл в  активном  окнеі

             і                  і редактора на диске.              і

            ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДґ

             і FileіSave As     і Сохраняет  файл в  активном  окнеі

             і                  і редактора под другим именем.     і

            ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДґ

             і FileіSave All    і Сохраняет  все   модифицированныеі

             і                  і файлы.                           і

            АДДДДДДДДДДДДДДДДДДБДДДДДДДДДЩ


Открытие файлов

Для открытия файла выполните следующие шаги:

1. Выберите команду FileіOpen. Выводится диалоговое окно Open aFile (Открытие файла). Для задания открываемого файла вы можете выполнить одно из следующих действий.

* В блоке ввода наберите полное имя файла.
* Наберите имя файла с трафаретными символами. Это отфильтровывает список файлов в соответствии с вашими спецификациями. В списке Files выберите имя файла, который вы хотите редактировать.
* Для вывода списка протокола (спецификаций имен файлов, которые вы задавали ранее), нажмите стрелку вниз. Выберите требуемое имя файла или спецификацию. Выбор спецификации файла выводит файлы, соответствующие данной спецификации.
* Дважды щелкну в "мышью" на имени другого каталога в списке файлов, просмотрите содержимое этого каталога. Выберите имя файла, который вы хотите редактировать.

2. После того как имя файла, который вы хотите редактировать, будет выделено в блоке ввода, выберите команду Open (Открыть) или Replace (Заменить). Команда Open загружает файл в новое окно редактирования; команда Replace заменяет содержимое активного окна редактирования выбранным файлом.

После выделения имени файла вы можете просто нажать клавишу Enter или, когда увидите имя нужного файла в списке, дважды щелкнуть на нем кнопкой "мыши". Файл будет открыт.

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

Вы можете также изменить используемый по умолчанию каталог на тот, в котором находится открываемый вами файл. Это изменяет поведение, заданное переменными операционной среды Windows:
1. Выберите команду OptionsіEnviromentіPreferences.
2. Установите параметр Change Dir (Смена каталога).
3. Выберите командную кнопку OK.

Открытие файла в позиции курсора

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

1. Поместите курсор на имя файла, который вы хотите открыть.
2. Нажмите клавиши Ctrl+Enter или выведите локальное меню окна редактирования и выберите команду OpenFile at Cursor (Открытие файла в позиции курсора).

Компиляция и выполнение

IDE предоставляетвам несколько способов создания выполняе мой программы, модуля или (если вы используете защищенный режим) динамически компонуемую библиотеку. Вы можете:

* Скомпилировать текущий файл с помощью команды (Compileі Compile).

* Скомпилировать все измененные файлы (CompileіMake).

* Скомпилировать все файлы проекта (CompileіBuild).

* Скомпилировать и выполнить программу (RunіRun).

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

Выбор целевой платформы

Если вы используете BP.EXE, то перед компиляцией своей программывам нужно сообщить IDE, какой вид прикладной программы вы создаете: программу DOS реального режима, программу Windows или программу DOS защищенного режима. Тип создаваемой прикладной программы называется целевой платформой.

Примечание: TURBO.EXE может создавать приложение реального режима.

Для выбора целевой платформы сделайте следующее:
1. Выберите команду CompileіTarget.
2. В диалоговом окне Target выберите нужную целевую платформу.
3. Выберите командную кнопку OK.

При компиляции модуля расширения имени файла полученного в результате модуля в зависимости от целевой платформы будут разли чаться:

         ЪДДВДДДДДДї

          і   Целевая платформа      і Расширение имени файла модуля і

          і                           і      объектного кода         і

         ГДДЕДДДДДДґ

          і Реальный режим DOS       і           .TPU                і

          і                           і                               і

          і Windows                  і           .TPW                і

          і                           і                               і

          і Защищенный режим DOS     і           .TPP                і

         АДДБДДДДДДЩ


Компиляция

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

Выбор места назначения

Если вы используете IDE защищенного режима, то с помощью команды CompileіDestination можете выбрать компиляцию программына диск или в память. Если вы выберете компиляцию на диск, ваш вы полняемый код сохраняется на диске в виде файла .EXE. Компиляция на диск увеличивает объем памяти, доступной в IDE для компиляции и отладки вашей программ. При выборе компиляции в память ваша программа будет записываться в память, и, если вы ее не сохраните, будет потеряна при выходе из IDE.

При компиляции на диск полученные в результате файлы .EXE или .TPU сохраняются в том же каталоге, что и исходные файлы, или в каталоге EXE and TPU (OptionsіDirectories), если он задан.

Формирование (Make)

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

Команда CompileіMake создает файл .EXE или модуль. Если вы в качестве целевой платформы используете IDE защищенного режима и Windows, она может также создавать динамически компонуемую библи отеку (DLL).

Примечание: О создании DLL рассказывается в Главе11 "Библиотеки динамической компоновки" "Руководства по языку".

Команда Make (Формирование) использует следующие правила:

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

* Если исходный файл для данного модуля модифицирован с момента создания файла .TPU,.TPW или .TPP (объектный код), то этот модуль перекомпилируется.

* Если изменяется интерфейс для данного модуля, перекомпилируются все другие зависящие от него модули.
Примечание: О модулях подробнее рассказывается в Главе 7 "Модули Borland Pascal".

* Если модуль компонуется с файлом .OBJ (внешние подпрограммы) и файл .OBJ является более новым, чем модули .TPU, .TPW или .TPP, то модуль перекомпилируется.

* Если модуль содержит включаемый файл, и включаемый файл более новый, чем модули .TPU, .TPW или .TPP, то модуль перекомпилируется.

Если компилятор не может найти исходный код модуля, то модуль не компилируется и используется как есть.

Построение (Build)

Команда CompileіBuild (КомпиляцияіПостроение) перестраивает все компоненты вашей программы независимо от того, являются они текущими или нет.

Эта команда аналогична команде CompileіMake, только она вы полняет полную перекомпиляцию, даже если файл не изменялся. Если вы остановите команду Build, нажав клавиши Ctrl+Break, или получите ошибки, которые прекращают построение, то, выбрав Compileі Make, вы можете определить, где это произошло.

Если в IDE реального режима DOS вы выбрали компиляцию в память, то все файлы .TPU обновляются на диске (для всех перекомпилируемых командой Build модулей).

Выполнение

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

Если ваша программа представляет собой прикладную программу DOS защищенного режима, то в текущем каталоге или по маршруту DOS у вас должны находиться файлы DPMI16BL.OVL и RTM.EXE, в противном случае программа выполняться не будет. Вы можете свободно распространять эти файлы с готовой прикладной программой.

Передача программе параметров

При запуске программы вы можете передать ей параметры командной строки. Для вывода диалогового окна Parameters (Параметры) и набора списка параметров, которые вы хотите использовать, выберите команду RunіParamenters.

Параметры компилятора и компоновщика

IDE позволяет вам выбрать несколько параметров, влияющих на характер компиляции кода. Для вывода диалогового окна параметров компилятора Compiler Options выберите команду OptionsіCompiler. Если вы не уверены относительно того, что делает конкретный параметр, выберите его в диалоговом окне, в строке состояния появится поясняющая справка. Для вывода более подробной информации о данном параметре нажмите клавишу F1 или выберите команду Help для получения справочной информации обо всем диалоговом окне Compiler Options.

        ЙН[ ]ННННННННННННННННННННННCompiler OptionsННННННННННННННННННННН»

        є Compiler settings for:        ±±Real mode target±±±±±±±±±±v±є

       єДДДДДДДДДДДДДє

       є Code generation                                               є

        є ±[±]±Force±far±calls±±±±±±±±±[±]±286±instructions±±±±±±±±±    є

        є ±[±]±Overlays±allowed±±±±±±±±[±]±Smart±callbacks±±±±±±±±±±    є

        є ±[X]±Word±align±data±±±±±±±±±[±]±Windows±stack±frames±±±±±    є

        є Runtime errors              Syntax Options                    є

        є ±[±]±Range±checking±±±±±    ±[X]±Strict±var-strings±±±±±±±    є

        є ±[X]±Stack±checking±±±±±    ±[±]±Complete±boolean±eval±±±±    є

        є ±[X]±I/O±checking±±±±±±±    ±[X]±Extended±syntax±±±±±±±±±±    є

        є ±[ ]±Overflow±checking±±    ±[±]±Typed±@±operator±±±±±±±±±    є

        є Debugging                   ±[±]±Open±parameters±±±±±±±±±±    є

        є ±[X]±Debug±Information±±    Numeric processing                є

        є ±[X]±Local±symbols±±±±±±    ±[±]±8087/80287±±±±±±±±±±±±±±±    є

        є ±[X]±Symbol±information±    ±[X]±Emulation±±±±±±±±±±±±±±±±    є

        є                                                               є

        є Conditional defines                                           є

        є ЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫvЫ  є

        є                                                               є

        є                       ЫЫЫЫЫOKЫЫЫЫ ЫЫЫCancelЫЫЫ  ЫЫЫHelpЫЫЫЫ  є

        є                        ±±±±±±±±±±±  ±±±±±±±±±±±±  ±±±±±±±±±±± є

        є                                                               є

        ИНННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННј


Рис. 4.3 Диалоговое окно Compiler Options.

Compiler settings for - установки компилятора для;
Real mode target - целевая платформа реального режима;
Code generation - генерация кода;
Force far calls - принудительное использование вызовов дальнего типа;
286 instructions - инструкции процессора 286;
Overlays allowed - допустимость оверлеев;
Smart callbacks - эффективные вызовы;
Word align data - выравнивание данных на границу слова;
Windows stack frames кадры стека Windows;
Runtime errors - ошибки этапа выполнения;
Syntax Options - синтаксические ошибки;
Range checking - проверка диапазона;
Strict varstrings - строгая проверка строковых переменных;
Stack checking - проверка стека;
omplete boolean eval - полное вычисление булевских выражений;
I/Ochecking - проверка ввода-вывода;
Extended syntax - расширенный синтаксис;
Overflow checking - проверка переполнения стека;
Typed@ operator - типизованная операция @;
Debugging - отладка;
Open parameters - открытые параметры;
Debug Information - отладочная информация;
Numeric processing - числовая обработка;
Local symbols - локальные идентификаторы;
8087/80287 - процессоры 8087/80287;
Symbol information млокальная информация;
Emulation - эмуляция;
Conditional defines - условные определения.

Задание параметров компилятора для целевой платформы

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

Для указанной целевой платформы вы можете установитьстан дартные параметры компилятора:

Примечание: Меню Compiler Options компилятора TURBO.EXE не имеет параметра Compiler Setting For.

1. Для вывода прокручиваемого списка щелкните "мышью" на стрелке v или нажмите клавишу стрелки вниз при выборе блока списка Compiler Setting For.
2. Проверьте выбранную целевую платформу.

IDE автоматически устанавливает обычно используемые параметры. В любой момент вы можете переопределить эти выбранные в IDE параметры.

Если параметр компилятора несовместим с выбранной целевой платформой, то он становится тусклым, и вы не можете его выбирать.

Установка параметров компилятора для всех целевых платформ

Если вы хотите чтобы конкретный параметр компилятора был установлен независимо от используемой целевой платформы, сделайте следующее:
1. В качестве значения параметра Compiler Settings For выберите All Targets.
2. Установите или отмените параметр компилятора, который вы хотите установить.

Например, если вы хотите использовать инструкции процессора 286 для всех платформ, выберите All Targets (Все платформы), затем установите параметр 286 instructions.

Когда вы выбираете All Targets, то можете увидеть, что в некоторых кнопках с независимой фиксацией выводится вопросительный знак (?). Это указывает, что установка параметра для всех платформ не является одинаковой. Вы можете изменить этот параметр, сделав его одинаковым для всех платформ, или оставить как есть.

адание параметров компоновщика

Характер компоновки вашего кода зависит от установок в диалоговом окне Linker Options (Параметры компоновщика). Для его вывода выберите команду OptionsіLinker. Если нужна более детальная информация, выберите Help.

Включение в код директив компилятора

Существует еще один способ задания режима компиляции исходного кода. Вместо использования для установки параметров диалоговых окон вы можете включить в свой код директивы компилятора. Например, вы можете включить в свою программу проверку диапазона, установив в диалоговом окне OptionsіCompiler параметр Range Checking, или поместить в исходный коддирективу {$R+}. Полное описание директив компилятора и их использования вы можете найти в Главе 2("Директивы компилятора") "Справочногоруководства программиста".

Включаемые в исходный код директивы компилятора имеют больший приоритет, чем параметры компилятора, устанавливаемые в IDE. Например, еслив IDE вы установите параметр Range Checking, но ваша программа включает в себя директиву {R}, то программа копилируется с выключенной проверкой диапазона.

Оптимизация кода

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

Приведем параметры, влияющие на оптимизацию кода. Каждая директива компилятора сопровождается указанием соответствующего параметра компилятора. Рассмотрим использование для завершающей компиляции следующих параметров:

* Выравнивание данных на границу слова WordAlignData ({$A+}) выравнивает переменные и типизированные константы на границу слова, что дает в системах с процессорами 80x86 более быстрый доступ к памяти.

* Выключение полного вычисления булевских выражений Complete Boolean Evaluation ({$B}) дает код, который в зависимости от установкиваших булевских выражений более быстро работает.

* При выключенной эмуляции Emulation ({$E}) компиляторне будет выполнять компоновку с библиотекой исполняющей системы, эмулирующей сопроцессор 80x87. Она должна использовать сопроцессор 80х87 (в случае его наличия) или стандартный 6 байтовый тип Real. При компиляции приложений Windows эмуляция не используется; при наличии директивы эмуляции компилятор ее игнорирует.

* Когда задана генерация кода процессора 80286 Code Generation ({$G+}), компилятор для улучшения генерации кода использует дополнительные инструкции процессора 80286. Скомпилированные таким образом программы не будут работать на процессорах 8088 и 8086.

* При выключенной проверке ввода-вывода I/O Checking ({$I}) компилятор не проверяет ошибки ввода-вывода. Вызвав предопределенную функцию IOResult, вы можете самостоятельно проверить ошибки ввода-вывода.

* Когда выключена числовая обработка NumericProcessing ({$N}), компилятор генерирует код,способный выполнять все операции с плавающей точкой с помощью встроенного 6 байтового типа Real. Если параметр NumericProcessing включен, ({$N+}), компилятор использует сопроцессор 80х87 или эмулирует сопроцессор с помощью программного обеспечения, в зависимости от наличия сопроцессора 80х87. Полученный в результате код может использовать четыре дополнительных вещественных типа (Single, Double, Extended и Comp).

* Когда выключена проверка диапазона Stack Checking ({$R}), компилятор невыполняет проверку на ошибки индексирования массива и присваивание значения вне диапазона.

* При выключенной проверке стека Stack Checking ({$S}) компилятор не обеспечивает достаточного пространства в стеке для каждого вызова процедуры или функции.

* Когда включена нестрогая проверка строк переменных Relaxed String Var Checking ($V}), компилятор не проверяет пара метры переменные строкового типа. Это позволяет вам передавать строки фактических параметров, имеющие длину, отличную от длины, определенной для формального параметра переменной.

* При разрешении расширенного синтаксиса Extended Syntax ({$X+}) вы можете использовать вызовы функций как операторы, поскольку результат функциональных вызовов может отбрасываться.

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

Условная компиляция

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

Условные директивы аналогичны по формату директивам компилятора, с которыми вы уже познакомились. Они имеют следующий формат:

{$директива аргумент}

где "директива" - это такая директива как DEFINE, IFDEF и т.д., а аргумент - необязательный аргумент. Между ними обязательно должен присутствовать разделитель (пробел или табуляция). Все условные директивы и их смысл приведены в Таблице 4.3.

Примечание: Полное описание директив условной компиляции можно найти в Главе 2 ("Директивы компилятора")"Справочного руководства программиста".

Директива условной компиляции Таблица 4.3

        ЪДДДДДВДДДДДДДї

        і          Директива          і            Описание            і

       ГДДДДДЕДДДДДДДґ

        і   {$DEFINE идентификатор}   і Определяет "идентификатор" для і

        і                              і других директив.               і

       ГДДДДДЕДДДДДДДґ

        і   {$UNDEF идентификатор}    і Отменяет определение  "иденти- і

        і                             і фикатора".                     і

       ГДДДДДЕДДДДДДДґ

        і   {$IFDEF идентификатор}    і Компилирует следующий код, ес- і

        і                              і ли определен "идентификатор".  і

       ГДДДДДЕДДДДДДДґ

        і   {$IFNDEF идентификатор}   і Компилирует следующий код, ес- і

        і                              і ли "идентификатор" не опреде- і

        і                              і лен.                           і

       ГДДДДДЕДДДДДДДґ

        і   {$IFOPT x+}               і Компилирует следующий код, ес- і

        і                              і ли разрешена директива x.      і

       ГДДДДДЕДДДДДДДґ

        і   {$IFOPT x-}               і Компилирует следующий код, ес- і

        і                              і ли запрещена директива x.      і

       ГДДДДДЕДДДДДДДґ

        і   {ELSE}                    і Компилирует следующий код, ес- і

        і                              і ли предыдущее выражение  IFxxx і

        і                              і не равно True.                 і

       ГДДДДДЕДДДДДДДґ

        і   {$ENDIF}                  і Отмечает конец блока IFxxx или і

        і                              і ELSE.                          і

       АДДДДДБДДДДДДДЩ


Директивы DEFINE и UNDEF

Директивы IFDEF и IFNDEF проверяют, определен ли заданный идентификатор. Эти идентификаторы определяются с помощью DEFINE и UNDEF. (Можно также определять идентификаторы в командной строке или в IDE.)

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

{$DEFINE идентификатор}

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

{$DEFINE debug}

Этим для остальной части компилируемого модуля или до следующего оператора:

{$UNDEF debug}

определяется идентификатор debug.

Директива UNDEF "разопределяет" идентификатор. Если идентификатор не определен, то она не действует.

Определение условных идентификаторов в IDE

Вместо того, чтобы вставлять директиву DEFINE в свой исходный код, вы можете так же определить условные идентификаторы и блоке ввода Conditional Defines (Условные определения). Определите идентификаторы, введя их в блоке ввода и разделив точками за пятой. Например, в следующем примере определяются два условных идентификатора TestCode и DebugCode:

TestCode:DebugCode

Предопределенные идентификаторы

Кроме определяемых вами идентификаторов вы можете также проверять отдельные идентификаторы, определяемые компилятором:

Предопределенные условные идентификаторы Таблица 4.4

       ЪДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДї

        і  Идентификатор   і              Показывает                   і

       ГДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДґ

        і  CPU86           і Данная версия Borland Pascal предназначенаі

        і                   і для семейства процессоров 80х86.          і

       ГДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДґ

        і  CPU87           і Присутствует   арифметический  сопроцессорі

        і                   і 80х87.                                    і

       ГДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДґ

        і  DPMI            і Данная версия предназначена для операцион-і

        і                   і ной среды защищенного режима DOS. При соз-і

        і                   і дании приложений  для  защищенного  режимаі

        і                   і DOS  данный  идентификатор  доступен дляі

        і                   і BP.EXE.                                   і

       ГДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДґ

        і  MSDOS           і Данная  версия предназначена для  операци-і

        і                   і онной системы MS-DOS. Данный идентификаторі

        і                   і доступен в BP.EXE только при создании при-і

        і                   і ложений DOS реального или защищенного ре-і

        і                   і жима и в TURBO.EXE.                       і

        ГДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДґ

        і  VER70           і Данная версия является версией  7.0 компи-і

        і                   і лятора.                                   і

       ГДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДґ

        і  WINDOWS         і Данная  версия предназначена для  операци-і

        і                   і онной среды Windows.  Данный идентификаторі

        і                   і доступен в BP.EXE и в BPW.EXE, когда целе-і

        і                   і вой платформой является Windows.          і

       АДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДЩ


Подробнее о предопределенных условных идентификаторах компилятора рассказывается в Главе 2 ("Директивы компилятора") "Руководства программиста".

Идентификаторы IFxxx, ELSE и ENDIF

Смысл условных директив в том, что если определен или нет конкретный идентификатор либо если установлен или нет конкретный параметр, вы можете выбирать для компиляции некоторые части исходного кода. Они имеют следующий общий формат, где IFxxx это директивы IFDEF, INDEF или IFOPT, за которыми следует соответствующий аргумент, а "исходный код" любое количество исходного кода Паскаля.

{$IFxxx}
исходный код
{$ENDIF}

Если выражение в директиве IFxxx принимает значение True, то "исходный код" компилируется; в противном случае он игнорируется и интерпретируется как обычный комментарий в программе.

Часто у вас имеются альтернативные фрагменты кода. Если вы ражение принимает значение True, то компилируется один фрагмент кода, а если False другой. Компилятор позволяет сделать это с помощью директивы $ELSE:

{$IFxxx}
исходный код A
{$ELSE}
исходный код B
{$ENDIF}

Если выражение в IFxxx равно True, то компилируется "исход ный код A", в противном случае компилируется "исходный код B".

Все директивы IFxxx должны завершаться с одном исходном файле. Это означает, что они не могут начинаться в одном исходном файле и заканчиваться в другом. Однако, в директиве IFxxx может указываться включаемый файл:

{$IFxxx}
{$I file1.pas}
{$ELSE}
{$I file2.pas}
{$ENDIF}

Таким образом, на основе некоторого условия вы можете выбирать альтернативные включаемые файлы

Допускается использовать вложенные конструкции IFxxx..ENDIF, так что вы можете записать, например, следующее:

             {$IFxxx}                   { первая директива IF }

               .

               .

               .

             {$IFxxx}                   { первая директива IF }

               .

               .

               .

 

             {$ENDIF}                   { завершает вторую директиву IF }

               .

               .

               .

             {$ENDIF}                   { завершает первую директиву IF }


Директивы IFDEF и IFNDEF

Директивы IFDEF и IFNDEF позволяют вам условно компилировать код на основе определения или неопределения некоторых идентифика торов.

Директивы IFDEF и IFNDEF обычно используются для включения в компилируемый код отладочной информации. Например, если вы поместите в начало каждого модуля следующий код:

{$IFDEF debug}
{$D+,L+}
{$ELSE}
{$D,L}
{$ENDIF}

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

{$DEFINE debug}

и компилирует есвою программу ,для использования с Турбо отладчиком генерируется полная отладочная информация. Аналогично,вы можете иметь фрагменты кода, компилируемые только при отладке. В этом случае можно записать:

{$IFDEF debug}
исходный код
{$ENDIF}

где "исходный код" компилируется только в том случае, если в данной точке определен идентификатор debug.

Директива IFOPT

Иногда включить или исключить код желательно в зависимости от того, какой выбран параметр компилятора (проверка диапазона, проверка ввода-вывода и т.д.). Вы можете сделать это с помощью директивы IFOPT, которая имеет две формы:

             {$IFOPT x+}

        и

             {$IFOPT x-}


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

             var

               {$IFOPT N+}

                  Radius,Circ,Area:  Double;

               {$ELSE}

                  Radius,Circ,Area:  Real;

               {$ENDIF}


Примечание: Полное описание всех параметров компилятора вы можете найти в Главе2("Директивыкомпилятора") "Справочного руководства программиста".

Просмотр исходного кода

IDE защищенного режима DOS содержит новое программное инструментальное средство просмотра объектов ObjectBrowser. Оно позволяет вам исследовать программы и модули в программах и многое другое .Даже если разрабатываемое вами приложение не использует объектно-ориентированное программирование, вы найдете ObjectBrowser чрезвычайно полезным средством. Вы можете просматривать иерархию объектов, модулей и всех процедур, функций, переменных, типов, констант и другие используемые в программе идентификаторы. С помощью ObjectBrowser вы можете делать следующее:

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

* Вывести список всех глобальных идентификаторов, используемые в вашей программе, и увидеть их описания. Если вы выберите одну переменную, то можете вывести список всех ссылок на нее в своей программе и, если хотите, перейти на то место в исходном коде, где она используется.

* Вывести список всех используемых в программе модулей, затем выбрать один из них и просмотреть список всех идентификаторов его интерфейсной части.

* Выбрать идентификатор в исходном коде, затем просмотреть детальную информацию по нему, нажав клавишу Ctrl и одновременно щелкнув правой кнопкой "мыши".

* Открыть множество окон просмотра, сравнить идентификаторы, выводимые в различных окнах, а затем вернуться в предыдущее открытое в средстве просмотра окно.

Перед использованием ObjectBrowser убедитесь, что в диалоговом окне OptionsіCompiler установлены следующие параметры:

* Debug Information (Информация для отладки).
* Locals Symbols (Локальные идентификаторы).
* Symbol Information (Информация об идентификаторах).

Убедитесь также, что в диалоговом окне Debugging/Browsing (OptionsіDebugger) установлен параметр IntegratedDebugging/ Browsing (Отладка с использованием встроенного отладчика/Просмотр).

Скомпилируйте программу, которую вы хотите просматривать.

Для активизации ObjectBrowser выберите в меню Search (Поиск) команду Objects (Объекты), Units (Модули) или Globals (Глобальные идентификаторы). Вы можете также поместить курсор на идентификатор в исходном коде и выбрать для вывода ObjectBrowser команду SearchіSymbol (ПоискіИдентификатор).

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

1. Выбрать команду OptionsіEnviromentіStartup.
2. Установить параметр Preserve Symbols (Сохранение идентификаторов); по умолчанию он установлен.
3. Выбрать командную кнопку OK.
4. Для выхода из IDE выбрать команду FileіExit.
5. Снова запустить IDE.

Примечание: Поскольку Preserve Symbols - это параметр запуска, изменение его установки не будет иметь действие, пока вы не выйдите из IDE и не запустите ее снова.

Если у вас есть "мышь" ,то исходный код удобнее просматривать, если задать активизацию ObjectBrowser правой кнопкой "мыши". Затем, удерживая нажатой клавишу Ctrl, вы можете использовать правую кнопку "мыши" для указания и проверки объекта, процедуры, функции, переменной или другого идентификатора в вашем исходном коде и его анализа (вывода детальной информации).

Примечание: Для быстрого просмотра идентификатора, на котором в исходном коде позиционирован курсор, вы можете также выбрать в локальном меню окна редактирования команду Browse Symbol at Cursor (Просмотр идентификатора впозиции курсора).

Чтобы задать просмотр с помощью "мыши", выполните следующие шаги:

1. Выберите команду OptionsіEnviromentіMouse.
2. Выберите параметр Browse as the Ctrl + Right Mouse Button (Просмотр по клавише Ctrl + правая кнопка "мыши").
3. Выберите командную кнопку OK.

Просмотр объектов

Команда SearchіObjects открывает окно, в котором выводятся все используемые в программе объекты, упорядоченные в иерархической структуре. В верхней части окна ObjectBrowser показывает базовый тип и выводит ниже и справа от базового типа потомков. Прояснить соотношения "предок-потомок" помогают соединяющие линии.

Примечание: Подробную информацию о типахо бъектов вы можете найти в Главе 9 ("Объектно-ориентированнойпрограм мирование").

       ±File±Edit±Search±±Run±±Compile±Debug±Tools±Options±Window±Help±±

        ЙН[*]НННННННННННННННННННННН Browse: Object НННННННННННННННН2Н[*]»

        є Global Scope                                                 є

        єДґ I ГДДДДДДДє

       єДObjects±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±^

        є ГДДДДLocation                                                Ы

        є і   ГДДД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 (пример демонстрационной программы в каталоге EXAMPLESDOSBREAKOUT), то увидите следующую информацию об идентификаторах:

       ±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                                   Ы

        є 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

       И<Ы±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±>ДЩ

       °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 subbrowsing.
3. Выберите командную кнопку OK.

Чтобы текущее окно просмотра сохранялось, когда вы выбираете перечисленный в его списке идентификатор, сделайте следующее:
1. Выберите команду OptionsіBrowser.
2. Установите параметр New Browser subbrowsing.
3. Выберите командную кнопку OK.

Возможно, вбольшинствеслучаев вы предпочитаете использовать параметр Replace Current или New Browser, но иногда используете альтернативный параметры. Быстро выбрать альтернативный параметр можно следующим образом:
1. Нажмите и удерживайте в нажатом состоянии клавишу Shift.
2. Выберите следующее действие просмотра.

Например, если действует параметр New Browser, то при нажатии клавиши Shift следующее открываемое окно просмотра будет замещать текущее

. Отслеживание и редактирование ссылок на строки

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

Чтобы отредактировать выводимую в ссылке строку программы, сделайте следующее:
1. Выделите ссылку в окне просмотра.
2. Нажмите клавиши Ctrl+Enter или Ctrl+G.

Ваш курсор перемещается на строку программы в исходном коде, ссылка на которую содержится в окне просмотра. Теперь вы можете редактировать строку программы.

По умолчанию, когда ваш курсор перемещается на строку исходного кода программы, окно ObjectBrowser закрывается. Если вы предпочитаете, чтобы окно просмотра оставалось открытым, то отмените параметр Close On GoToSource в диалоговом окне Preferences.

Примечание: Параметр CloseOnGo To Source влияет также на окно сообщений Messages (см. ниже).

Для отслеживания строк программы:
1. В окне просмотра выделите ссылку, которую вы хотите отслеживать.
2. Нажмите клавишу пробела.

Если вы всегда хотите отслеживать ссылки по исходному коду, установите параметр AutoTrackSource и группе Options диалогового окна Preferences. Тогда при прокрутке ссылок строки в исходном коде программы будут прокручиваться автоматически, и пробел вам нажимать не нужно.

Примечание: Параметр Auto Track Source влияет также на окно сообщений Messages (см. ниже).

Теперь строки программы, на которые имеются ссылки в окне просмотра, отслеживаются в зависимости от того, как вы установили параметры отслеживания в диалоговом окне OptionsіEnviromentі Preferences: если файл, на который имеется ссылка, не находится в окне редактирования, то IDE открывает файл, и он выводится либо в новом, либо в текущем окне редактирования.

* Если вы хотите, чтобы файл выводился в новом окне редактирования, выберите в качестве значения параметра Source Tracking New Window.

* Если вы хотите, чтобы файл замещал текущий в активном окне редактирования, выберите в качестве значения параметра Source Tracking Current Window.

Примечание: Параметр Source Tracking влияет также на окно сообщений Messages (см. ниже).

Если выбранный модуль хранится в библиотеке исполняющей системы Borland Pascal или является одним из стандартных модулей, то вы не сможете просматривать или редактировать исходный код, поскольку эти модули скомпилированы без включения отладочной инфор мации.

 
Просмотр модулей

Команда SearchіUnits открывает диалоговое окно, в котором выводятся используемые в вашей программе модули, перечисленные в алфавитном порядке. Для просмотра идентификаторов, описанных в интерфейсной части модуля, выделите конкретный модуль и нажмите клавишу Enter или дважды щелкните на нем кнопкой "мыши". Аналогично тому, как это делается с объектами, вы можете видеть область действия ссылочной информации для идентификатора. Если модуль, на который имеется ссылка, не является одним из поставляемых с Borland Pascal стандартных модулей, и скомпилирован таким образом, что включает в себя всю необходимую для интегрированной отладки/просмотра информацию, то вы можете при соответствующей ссылке отслеживать и редактировать исходный код модуля.

В следующем примере модуль Walls описывается в строке 4 файла WALLS.PAS и вызывается на строке 37 BREAKOUT.PAS.

             ЪДДДДДДДДДДДДДДДДД Browse: Units ДДДДДДДДДДДДД2ДДї

             і  Global scope                                  і

             ГДґ S ГДДДДДДДДДДДДДДДДДґ

             і unit  Bounds                                  і

             і unit  Breakout                                 і

             і unit  Bricks                                   і

             і unit  Count                                    і

             і unit  Crt           ЙН[*]ННННН Browse:  Walls НН3ННН[^]Н»

             і unit  Dos           є unit  Walls                       є

             і unit  Screen        єДґ S і R Гє

             і unit  System        є WALLS.PAS(4)                      є

             і±unit±±Walls±±±±    є°BREAKOUT.PAS(37)°°°°°°°°°°°°°°°°°°є

             і                     є                                   є

             і                     є                                   є

             і                     ИНН2/2ННННННННННННННННННННННННННННННј

             і                                                і

             і                                                і

            АДДДДДДДДДДДДДДДДДДДДДДДЩ

 

Рис. 4.6 Просмотр модулей в вашей прикладной программе.

Просмотр глобальных идентификаторов

Команда SearchіGlobal открывает окно, в котором выводятся используемые в программе глобальные идентификаторы, перечисленные в алфавитном порядке. Как и в случае объектов, для просмотра строк в программе, ссылающихся на этот идентификатор, описаний идентификатора и иерархии наследования вы можете открывать дополнительные окна ObjectBrowser. При выводе ссылочной информации вы можете отслеживать или редактировать строки программы. Например, на следующем рисунке показан список глобальных идентификаторов, используемых в программе BREAKOUTS.PAS:

        ЙН[*]НННННННННННННННННННННН Browse: Object НННННННННННННННН2Н[^]»

        є Global Scope                                                 є

        єДґ S ГДДДДДДДє

       є±func±±±Abs(..)±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±^

        є func   Addr(...)                                              Ы

        є const  AnyFile = 63                                           ±

        є proc   Append(...)                                            ±

        є const  Archive = 32                                           ±

        є func   ArcTan(...)                                            ±

        є proc   Assing(...)                                            ±

        є proc   AssingCrt(var Text)                                    ±

        є func   Assigned(...)                                          ±

        є var    b: Ball                                                ±

        є type   Ball = object(Block)                                   ±

        є var    Balls: DownCounter                                     ±

        є proc   Beep                                                  ±

        є const  Block = 0                                              ±

        є const  Blink = 128                                            ±

        є type   Block = object(Location)                               ±

        є proc   BlockRead(...)                                         ±

        є const  Blue = 1                                               v

       И<Ы±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±>ДЩ 


Рис. 4.7 Просмотр глобальных идентификаторов, используемых в программе.

 
Просмотр идентификаторов в исходном коде

Вы можете просматривать идентификаторы в своем исходном коде. Поместите курсор на идентификатор и выберите один из следующих методов:
* Для вывода диалогового окна Browse Symbol выберите вменю Search команду Symbol. Используйте идентификатор, выведенный в диалоговом окне, или введите другой идентификатор и выберите командную кнопку OK.
* Для вывода локального меню окна редактирования нажмите клавиши Alt+F10 или щелкните правой кнопки "мыши" и выберите команду Browse Symbol at Cursor.
* Если для просмотра идентификаторов вы задали правую кнопку "мыши" (выбором команды OptionsіEnviromentіMouse и Browse at Cursor),то нажмите клавишу Ctrl и, удерживая ее, щелкните правой кнопкой "мыши".

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

Если вы выбрали просмотр структурного типа, ObjectBrowser выводит на экран полностью уточненные имена, если удовлетворяются следующие два условия:
* В диалоговом окне Browser Options (OptionsіBrowser) или в диалоговом окне LocalBrowserOptions (локальное меню Options окна просмотра) выбран параметр Inherited symbol.
* В диалоговом окне Browser Options (OptionsіBrowser) или в диалоговом окне LocalBrowserOptions (локальное меню Options окна просмотра) выбран параметр Qualified Symbols.

Например, на следующем рисунке показана полная информация об описании области действия для переменной b типа Ball:

       ±File±Edit±Search±±Run±±Compile±Debug±Tools±Options±Window±Help±±

        ЙН[*]НННННННННННННННННННННН Browse: b ННННННННННННННННННННН2Н[*]»

        є var   b: Ball                                                 є

        єДґ S і I і R ГДДДДДДДДДДДДДДДДДДДДДДДДє

       є±var±±±±Location.X:±±Integer±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±^

        є var    Location.Y: Integer                                   Ы

        є var    Location.Visible: Boolean                            ±

        є var    Location.Init(Integer, Integer)                        ±

        є proc   Location.Relocate(Integer, Integer)                    ±

        є proc   Location.MoveTo(Integer, Integer)                      ±

        є func   Location.GetX: Integer                               ±

        є func   Location.GetY: Integer                                ±

        є func   Location.InVisible: Boolean                            ±

        є var    Block.Color: Integer                                 ±

        є var    Block.Width: Integer                                 ±

        є var    Block.BChar:  Char                                     ±

        є proc   Block.Show                                             ±

        є proc   Block.Hide                                             ±

        є var    Ball.XVel:  Integer                                    ±

        є var    Ball.YVel:  Integer                                    ±

        є proc   Ball.Init(Integer, Integer, Integer, Integer, Integer) ±

        є func   Ball.NextX: Integer                                    ±

        є func   Ball.NextY: Integer                                    ±

        є proc   Ball.MoveX                                             v

       И<Ы±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±>ДЩ

        °F1°Help°<Щ°Browse°°Ctrl°<Щ°Go°to°source°Space°Track°src°F10°Menu 


Рис. 4.8 Просмотр полной информации описания области действия.

Если ObjectBrowser выводит сообщение, говорящее, что какой-то идентификатор не найден, проверьте и убедитесь, что вы задали в ObjectBrowser проверку допустимого идентификатора, и что идентификатор находится в нужной области действия. Например, при выборе команды SearchіSymbol курсор может быть позиционированна комментарии. Либо курсор может находиться вне области действия, в которой ObjectBrowser может найти информацию об идентификаторе. Например, курсор может находиться на формальном параметре в описании функции, а не в реализации функции.В этом случае ObjectBrowser не может найти идентификатор, но если вы найдете параметр в реализации функции, то сможете просмотреть его.

 
 
Просмотр функций ObjectBrowser

В Таблице 4.5 перечислены клавиши и команды меню,активизи рующие функции ObjectBrowser:

Функции ObjectBrowser Таблица 4.5

       ЪДДВДДДДДДДДДДї

        і  Чтобы выполнить:        і       Сделайте следующее:         і

       ГДДЕДДДДДДДДДДґ

        і Просмотр объектов         і Выберите команду SearchіObjects.  і

       ГДДЕДДДДДДДДДДґ

        і Просмотр модулей          і Выберите команду SearchіUnits.    і

       ГДДЕДДДДДДДДДДґ

        і Просмотр глобальных       і Выберите команду SearchіGlobals.  і

        і идентификаторов           і                                   і

        ГДДЕДДДДДДДДДДґ

        і Просмотр идентификатора   і Поместите курсор на идентификатореі

        і                           і своей программы,  выберите командуі

        і                           і SearchіSymbol  или удерживайте на-і

        і                           і жатой клавишу Ctrl и щелкните пра-і

        і                           і вой кнопкой "мыши".               і

       ГДДЕДДДДДДДДДДґ

        і Выбрать Browser Options   і Выберите команду OptionsіBrowser. і

       ГДДЕДДДДДДДДДДґ

        і Выбрать параметр Source   і Выберите команду  OptionsіEnviro-і

        і Tracking Options          і mentіPreferences.                 і

       ГДДЕДДДДДДДДДДґ

        і Выбрать Mouse Options     і Выберите  команду  OptionsіEnviro-і

        і                           і mrntіMouse.                       і

        ГДДЕДДДДДДДДДДґ

        і Открыть предыдущее окно   і Выберите команду  SearchіPreviousі

        і просмотра                 і Browser, выберите в локальном менюі

        і                           і окна просмотра  команду  Previousі

        і                           і или нажмите клавиши Ctrl+P.       і

       ГДДЕДДДДДДДДДДґ

        і Выбрать Local Browser     і Нажмите клавиши Ctrl+O или выбери-і

        і Options                   і те команду Options  в  локальном і

        і                           і меню окна просмотра.              і

       ГДДЕДДДДДДДДДДґ

        і Отредактировать исходный  і Нажмите Ctrl+Enter в ObjectBrowserі

        і код                       і нажмите клавиши Ctrl+G или выбери-і

        і                           і те в локальном меню окна просмотраі

        і                           і команду Goto Source.              і

       ГДДЕДДДДДДДДДДґ

        і Отслеживать исходный      і Нажмите  в   ObjectBrowser  пробелі

        і код                       і нажмите клавиши Ctrl+T или выбери-і

        і                           і те в локальном меню окна просмотраі

        і                           і Track Source.                     і

       ГДДЕДДДДДДДДДДґ

        і Вывести ссылочную         і Нажмите  в  ObjectBrowser  клавишиі

        і информацию                і Ctrl+R или  щелкните  "мышью"  наі

        і                           і букве R в рамке окна.             і

       ГДДЕДДДДДДДДДДґ

        і Вывести информацию        і Нажмите  в  ObjectBrowser  клавишиі

        і об области действия       і Ctrl+S  или  щелкните  "мышью"  наі

        і                           і букве S в рамке окна.             і

       ГДДЕДДДДДДДДДДґ

        і Вывод информации о        і Нажмите  в  ObjectBrowser  клавишиі

        і наследовании              і Ctrl+I  или щелкните  "мышью"  наі

        і                           і букве I в рамке окна.             і

       ГДДЕДДДДДДДДДДґ

        і Изменить на обратный      і Нажмите клавишу Shift, и,  удержи-і

        і режим вывода подокна      і вая ее, выполните следующее дейст-і

        і                           і вие.                              і

       АДДБДДДДДДДДДДЩ


 
Выполнение в IDE других программ

Без выхода из IDE вы можете запускать другие программы и утилиты. При установке пакета Borland Pascal IDE устанавливается для выполнения таких инструментальных программных средств как GREP, Turbo Assembler, Turbo Debugger и Turbo Profiler.

Чтобы запустить в интегрированной интерактивной среде программу, сделайте следующее:
1. Откройте меню Tools (Инструментальные средства).

Вы увидите список программ и утилит, которые может запускать.

2. Выберите в меню Tools программу, которую вы хотите запустить.

При выборе программы ей передается управление.

После выполнения программы управление возвращается обратно в IDE.

Настройка меню Tools

Программы, которые вы найдете полезными, можно добавить в меню Tools и запускать их потом из IDE.

Чтобы добавить программы в меню Tools, сделайте следующее:

1. Дляв ывода диалогового окнаTools выберите команду OptionsіTools. В блоке списка заголовков программ Program Titles вы увидите краткое описание уже инсталлированных и готовых к выполнению программ.

2. Для вывода диалогового окна Modify/New Tool (Модификация/Новое инструментальное средство) выберитекоманду New.

3. В блоке ввода заголовка программы Program Title наберите имя программы, как вы хотите выводить его в меню Tools.

Если вы хотите, чтобы программа вызывалась по оперативным клавишам, укажите непосредственно перед и после того символа, который должен использоваться в качестве оперативной клавиши, символ тильды (~). Этот символ будет выводиться в меню Tools жирным шрифтом и специальным шрифтом, и при нажатии этой клавиши вы выберете программу. Например, чтобы добавить в меню Tools редактор Brief и сделать оперативной клавишей клавишу B, наберите: ~B~rief

4. Если вы хотите,чтобы ваша программа имела связанную с ней оперативную клавишу, выберите один из параметров Hot Key. Когда вы нажмете присвоенную оперативную клавишу, программа начинает работать. Например, утилите GREP присвоены оперативные клавиши Shift+F2. В любой момент, чтобы использовать GREP, просто нажмите Shift+F2.

5. В блоке ввода Program Path (Маршрут программы) наберите имя программы. Если вы не введете полного имени, то могут быть найдены только программы в текущем каталоге или программы по обычному маршруту DOS.

6. В блоке ввода Command Line (Командная строка) наберите параметры или макрокоманды, которые вы хотите передать программе.

Полную справочную информацию по макрокомандам, которые можно использовать в блоке Command Line в Modify/New Tool вы можете найти в оперативном справочнике Help Borland Pascal.

7. Выберите командную кнопку OK.

Для редактирования имеющейся в меню Tools программы сделайте следующее:
1. Выберите команду OptionsіTools.
2. В блоке списка Program Titles выберите нужную программу для редактирования.
3. Выберите Edit (Редактирование).
4. Внесите изменения в заголовок программы, маршрут программы или командную строку.
5. Выберите командную кнопку OK.

Чтобы удалить указанную в меню Tools программу:
1. Выберите команду OptionsіTools.
2. Выберите программу, которую вы хотите удалить.
3. Выберите Delete (Удаление).
4. Выберите командную кнопку OK.

Работа с окном Messages

Некоторые инструментальные средства посылают вывод программы черед фильтр DOS программу, конвертирующую вывод в формат, который можно выводить в окне сообщений Messages. Более подробную информацию об использовании и написании ваших собственных фильтров DOS вы можете получить в оперативном справочнике Help. Одним из таких инструментальных средств, использующих окно Messages, является GREP, а ее фильтр называется GREP2MSG.EXE. Исходный код CREP2MSG.PAS вы можете найти в каталоге UTILS.

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

Чтобы отредактировать строку программы, на которую имеется ссылка в сообщении, сделайте следующее:
* Если вы используете "мышь", дважды щелкните "мышью" на интересующем вам сообщении.
* При работе с клавиатурой выберите сообщение со ссылкой на нужную строку программы и нажмите Enter.
* Ваш курсор перемещается на строку программы в исходном коде, на которую ссылается сообщение в окне Messages. Теперь вы можете отредактировать строку программы.

По умолчанию, когда курсор переходит на строку исходного кода программы, окно Messages закрывается. Если вы предпочитаете, чтобы окно Messages оставалось открытым, отмените выбор параметра Close On Go To Source в диалоговом окне Preferences.

Примечание: Параметр CloseOnGoTo Source влияет также на ObjectBrowser (см. выше).

Чтобы отслеживать строки программы:
1. В окне Messages выберите сообщение со ссылкой на строку программы, которую вы хотите отслеживать первой.
2. Нажмите клавишу пробела.

Если вы всегда хотите отслеживать сообщения в исходном коде, установите в группе Options диалогового окна Preferences параметр Auto Track Source. После этого при прокрутке окна сообщений в вашем исходном коде автоматически будут подсвечиваться соответствующие строки; вам не нужно будет нажимать на клавишу пробела.

Примечание: Параметр Auto Track Source влияеттакже на ObjectBrowser (см. выше).

Теперь строки программы, на которые есть ссылки в сообщениях, отслеживаются в зависимости от установленных в диалоговом окне OptionsіEnviromentіPreferences параметров. Если соответствующий файл не находится в окне редактирования, IDE открывает файл и выводит его в новом окне редактирования или в текущем окне редактирования.

* Если вы хотите, чтобы файл выводился в новом окне редактирования, выберите в качестве значения параметра Source Tracking New Window.

Примечание: Параметр Source Tracking влияет такжена ObjectBrowser (см. выше).

* Если вы хотите, чтобы файл замещал текущий файл в одном из активных окон редактирования, выберите в качестве значения параметра Source Tracking Current Window.

Если окно сообщений закрыто, с помощью командыToolsі Messages вы можете открыть его снова.

Настройка конфигурации IDE

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

Сохранение рабочей операционной среды

С помощью AutoSaveвыможете сохранить параметры Editor Files, Desktop и Enviroment в диалоговом окне OptionsіEnviroment.

* Если установлен параметр Editor Files,IDE при выходе из интегрированной среды, выборе команды FileіDOS Shell, вы полнении или отладке программы сохраняет все модифицированные файлы, открытые в окне редактирования.

* Если установлен параметр Desktop, IDE при выходе из интегрированной среды, выборе команды FileіDOS Shell, выполнении или отладке программы сохраняет имена всех файлов, с которыми вы работали в оперативной области.

* Если установлен параметр Enviroment, IDE при выходе из интегрированной среды, выборе команды FileіDOS Shell, выполнении или отладке программы сохраняет в файле конфигурации выбранные вами все параметры редактирования, компоновки и компиляции.

 
 
Использование файла конфигурации

Файл конфигурации сохраняет все параметры, установленные в меню параметров Options,в ыбранные в диалоговом окне Find Text, отслеживает все объединенные файлы Help, целевую платформу и имя основного файла (если он имеется). Если в диалоговом окне OptionsіEnviromentіPreferences установлен параметр AutoSave Enviroment, то файл конфигурации обновляется при выходе из интегрированной среды, выборе команды FileіDOS Shell, выполнении или отладке программы. При использовании компиляторов BP.EXE или TURBO.EXE по умолчанию файл компилятором называется TP.EXE.

Чтобы создать новый файл конфигурации для другого проекта, сделайте следующее:
1. Выберите команду OptionsіSave As.
2. В поле ввода Options File Name наберите новое имя.
3. Выберите командную кнопку OK.

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

Чтобы переключиться на другой существующий файл конфигурации:
1. Выберите команду OptionsіOpen.
2. Задайте имя существующего файла конфигурации.
3. Выберите командную кнопку OK.

Чтобы модифицировать существующую конфигурацию:
1. Измените нужные параметры.
2. Выберите команду OptionsіSave.

IDE сохраняет все изменения в текущем файле конфигурации.

Использование файла оперативной области

ДДДДДДДДДДДДДДД

Если в диалоговом окне OptionsіEnvioromentіPreferences вы установили параметр Auto Save Desktop, IDE при выходе из интегрированной среды, выборе команды FileіDOS Shell, выполнении или отладке программы обновляет файл оперативной области. Файл оперативной области отслеживает все файлы, которые вы открывали, и файлы, с которыми вы работали, но закрыли их в ходе сеанса программирования (кроме файлов NONAMExx.PAS). Когда вы начнете новый сеанс редактирования, ваши окна редактирования выводятся в том виде, какой они имели при выходе. Когда вы откроете меню File, то список закрытых файлов в меню File продолжает увеличиваться (максимум до 5 значений).

Как определить, какой файл оперативной области использовать? Вы можете непосредственно выбрать новый файл оперативной области, но каждый раз, когда вы создаете файл конфигурации, IDE создает новый файл оперативной области. Имя файла будет тем же самым, но имя файла оперативной области вместо расширения .TP имеет расширение .DSK. Например,если ваш файл конфигурации называется MY.TP, то файл оперативной области будет называться MY.DSK.

По умолчанию IDE сохраняет файл оперативной области в том же каталоге, что и текущий файл конфигурации. Если хотите, то можете сохранять файлы конфигурации в текущем каталоге:
1. Выберите команду OptionsіEnviromentіPreferences.
2. В группе DesktopFile выберите параметр Current Directory.

Если вы хотите сохранять текущие параметры конфигурации, но очищать оперативную область, так что IDE будет "забывать" список всех файлов, с которыми вы работали, очищать все списки протоколов и закрывать все окна, сделайте следующее:
1. Выберите команду OptionsіEnviromentіPreferences.
2. Убедитесь,что в диалоговом окне Preferences установлен параметр Desktop, а параметр Enviroment выключен.
3. Перезапустите IDE.

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

Сохранение идентификаторов от одного сеанса к другому

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

Чтобы сохранять идентификаторы между сеансами, сделайте следующее:
1. Выберите команду OptionsіEnviromentіPreferences.
2. Убедитесь, что установлен параметр Auto Save Desktop.
3. В группе Desktop File Options выберите параметры Desktop и Symbols.
4. Выберите командную кнопку OK.

Управление проектом

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

Чтобы задать, какой файл будет основным, выполните следующие шаги:
1. Выберите команду CompileіPrimary File.
2. Когда выведется диалоговое окно, наберите имя своего файла или выберите его из окна списка Files.
3. Выберите командную кнопку OK.

Теперь, когда вы используете команду CompileіMake или Build, компилируется основной файл, даже если он не является файлом в активном окне редактирования.

Каждый проект, с которым вы работаете с IDE, имеет уникальные требования. Например, каждый проект имеет различный основной и различные каталоги, где находятся ваши файлы. Вы можете настроить IDE в соответствии со своим проектом.

Управление несколькими проектами с файлом конфигурации для каждого из них

Секрет управления проектами в IDE состоит в использовании для каждого проекта своего файла конфигурации. Когда вы начинаете новый проект, создайте новый файл конфигурации:

1. Установите все параметры так, как это требуется для нового проекта.

2. Задайте основной файл.

3. Для задания каталогов, где компилятор будет искать файлы для вашего проекта используйте командуOptionsі Directories.

4. В меню Options выберите команду Save As.
В диалоговом окне выводится подсказка для ввода имени нового файла конфигурации.

5. Задайте имя нового файла конфигурации.

6. Выберите командную кнопку OK.

Если вы в этот момент выйдите из IDE, а параметры Auto Save Desktop и Enviroment Options (OptionsіEnviromentіPreferences) установлены, то, когда вы начинаете новый сеанс, IDE использует новый файл конфигурации и файл оперативной области. Файлы, с которыми вы работаете, будут доступны для вас в окне редактирования или в списке закрытых файлов в меню File, поскольку для вашего проекта создается новый файл оперативной области.

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

1. В меню Options выберите команду Save As.

2. Задайте новое имя файла конфигурации, включив в каталог проекта полный маршрут.
* Если вы используете BP.EXE, задайте в качестве нового файла конфигурации BP.TP.
* Если вы используете TURBO.EXE, задайте в качестве нового файла конфигурации TURBO.TP.

3. Выберите командную кнопку OK.

Сохранив в каталоге проекта файл BP.TP или TURBO.TP, вы можете перейтив каталог проекта, запустить IDE, и IDE автоматически загрузит в файл конфигурации в этом каталоге.

Если вы не хотите больше работать с файлом, заданным в качестве основного файла, то можете использовать для очистки этого файла следующие два метода:
* Выберите команду CompileіClear Primary File.
* Выберите в диалоговом окне Primary File параметр Primary File и Clear (Очистка).

Если вы хотите работать с другим проектом, с помощью команды OptionsіOpen загрузите новый файл конфигурации проекта.