ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы.



 

Часть 13

 
                          ГЛАВА 7
 
         Все об интегрированной операционной среде
 
     В настоящей главе дан обзор всех команд и  возможностей
меню,  использующихся в интегрированной среде программирова-
ния Турбо-Паскаля. Сначала будет показано, как выбирать  ко-
манды  меню,  а  затем будет дано подробное описание каждого
элемента меню. Вы узнаете, как пользоваться редактором,  пе-
ремещаться из одного окна в другое и из меню в меню.
     Обратите вниманиие, что вместе с каждым элементом  меню
на экран выводится его краткая схема или значение по умолча-
нию.
     Для загрузки интегрированной интерактивной  среды  Тур-
бо-Паскаля в ответ на подсказку ДОС наберите TURBO и нажмите
клавишу Enter.
 
        Переключатели командной строки Турбо-Паскаля
 
     Интегрированная среда разработки программ Турбо-Паскаля
воспринимает следующие переключатели командной строки:
     /С - вызывает загрузку файла конфигурации. Введите  ко-
манду  TURBO, за которой следует /С и имя файла конфигурации
(без пробела):
 
     TURBO /CMYCONFIG.PAS
 
     /В указывает Турбо-Паскалю, что нужно перекомпилировать
и  скомпоновать все файлы вашей программы, вывести сообщения
компилятора на стандартное устройство вывода, а затем  возв-
ратиться в ДОС. Этот переключатель позволяет вам вызвать ин-
тегрированную интерактивную стеду из командного файла,  бла-
годаря  чему  вы  сможете  автоматически строить программные
комплексы. Перед построением Турбо-Паскаль загрузит либо ис-
пользуемый по умолчанию файл конфигурации, либо файл, задан-
ный с помощью  переключателя  /С.  Турбо-Паскаль  определит,
построение  какого файла .ЕХЕ нужно выполнить, исходя из ос-
новного файла, который в данный момент загружен  в  редактор
(в порядке следования). Введите команду TURBO с переключате-
лем /В или /С и имя файла конфигурации, за  которым  следует
/В.
 
     TURBO /CMYCONFIG.PAS /B
     TURBO /В
 
     Если имя основного файла не задается в файле конфигура-
ции,  то  вы  можете  задать имя компилируемой и комнонуемой
программы в командной строке. Наберите имя  программы  после
команды TURBO, за которым следует /В:
 
     TURBO MYFIRST /B
 
     /М позволяет вам выполнить вместо построения  программы
(build)  ее  создание  (make). То есть перекомпилироваться и
компоноваться будет только "устаревший" (по  времени  созда-
ния) код вашей программы. Этот переключатель используется по
тем же правилам, что и переключатль /В.
     /D позволяет Турбо-Паскалю работать в  режиме  с  двумя
мониторами   (если   обнаружны   соответствующие  аппаратные
средства; в противном случае переклюечатель  /D  игнорирует-
ся). Режим с вдвумя мониторами используется, когда вы запус-
каете, отлаживаете программу, или используете командный про-
цессор  ДОС  (команда  "Файл/Процессор команд ДОС" - File/OS
Shell).
     Когда в командной строке Турбо-Паскаля  вы  используете
переключатель  /D, то с случае наличия соответствующей аппа-
ратуры (например, монохроматический (при наличии,  например,
монохроматической  платы и платы цветного адаптера) разреша-
ется работа с двумя мониторами. Если в вашей  вычислительной
системе  имеется два монитора, то один монитор считается ак-
тивным. Для переключения между мониторами можно использовать
команду  ДОС MODE (например, MODE C080 или MODE MONO). В ре-
жиме с двумя мониторами обычный  экран  интерактивной  среды
будет выводится с использованием активного монитора, и вывод
программы также будет поступать на активный  монитор.  Таким
образом,  когда вы в ответ на подсказку операционной системы
ДОС вводите TURBO /D на одном мониторе,  Турбо-Паскаль  поя-
вится  на  другом  мониторе.  Если  вы хотите проверить свою
программу на конкретном мониторе, нужно выйти из интерактив-
ной  среды, переключить активный монитор на тот режим, в ко-
тором вы хотите выполнять  проверку  и  снова  дать  команду
TURBO  /D.  Вывод  программы при этом будет поступать на тот
монитор, в котором вы ввели команду TURBO.
 
     Предупреждение:
     1.  Не изменяйте активный монитор (например, с  помощью
         команды ДОС MODE), пока вы находитесь в интерпрета-
         торе команд ДОС (команда "Файл/Командный  процессор
         ДОС" - File/Dos Shell).
     2.  Доступ программ пользователя  к  портам  видеоплаты
         неактивного  монитора не поддерживается и может вы-
         звать непредсказуемые результаты.
     3.  Когда вы запускаете или отлаживате программы, в ко-
         торых  режим  с двумя мониторами используется явным
         образом, переключателем /D пользоваться не следует.
 
           Примечание: Команда "Выполнение/Экран пользовате-
      ля"  (Run/User  Screen),  при которой обычно выводится
      !кран с выводом программы, в режиме с двумя мониторами
      не действует.
 
                       Структура меню
 
    На Рис. 7.1 изображена полная структура основного  меню
Турбо-Паскаля и его последующих спускающихся разделов.
 
________________________________________________________
! File     Edit             Run              Compile   !
---!--------!----------------!-------------------!------
   !        !  ,-------------V----------------,  ! 
   !        ! ("R" запускает текущую программу ) ! 
   !        !  '------------------------------'  ! 
   V        V                                    V
   !        !                                    !
   !   ,----V-----------------------,            ! 
   !  /"E" активизирует редактор;    \           ! 
   !  \ F10 возвращает в область меню/           ! 
   !   '----------------------------'            ! 
---V---------              ----------------------V--
!Load  F3   !              !Compile      Alt-F9    !
!Pick  Alt-F3--,           !Make             F9    !
!New        !  !           !Build                  !
!Save       !  !           !Destination  Memory    !
!Write to   !  !           !Find error             !
!Directory  !  !           !Primary file:          !
!Change dir !  !         ,-!Get info               !
!OS shell   !  !         ! -------------------------
!Quit       !  !         !            
-------------  V         !            
----- Текущие файлы ---- !            
! C:\TURBO4\NONAME.PAS ! !            
!   -- load file --    ! !            
------------------------ !            
                         V
--------------- Информация ----------- 
!Current directory: C:\TURBO4        ! 
!Current file : C:\TURBO4\NONAME.PAS ! 
!File size    : 0 (Max: 64615)       ! 
!EMS usage    : OK                   !
!                                    !
!Line compiled: 0                    ! 
!Code is not available               !
!Program exit code                   !
!                                    ! 
!Code size               0 bytes     ! 
!Data size               0 bytes     ! 
!Stack size              0 bytes     ! 
!Minimum heap size       0 bytes     ! 
!Maximum heap size  655360 bytes     ! 
!                                    ! 
!Available Memory: 254K              !
!               Press any key        ! 
-------------------------------------- 
 
     Рис. 7.1 Структура основного меню Турбо-Паскаля
________________________________________________________
! Options            Debug               Break/Watch   !
---!-------------------!-------------------------!------
   !                   !                         !
--------------     -------------------- ----------------------
!Compiler----!---- !Evaluate   Ctrl-F4! !Add watch    Ctrl-F7!
!Linker------!---! !Call stack Ctrl-F3! !Delete watch        !
!Enviroment--!--!! !Find procedure    ! !Edit watch          !
!Directories-!-!!! !Integ. debug.  On ! !Remove all watches  !
!Parameters  !!!!! !Stand-alone d. Off! !--------------------!
!Save options!!!!! !Display swap.Smart! !Toggle breakpoint   !
--------------!!!! !Refresh display   ! !           Ctrl-F8  !
              !!!! -------------------- !Clear all break-    !
---------------!!------------------     !points              !
!         ------!                 !     !View next breakpoint!
!         !     ------------      !     ----------------------
! ----------------------   !      ----------------- 
! !Config auto save Off!   !                      !
! !Edit autosave    Off!   !                      V
! !Backup files     On !   !         --------------------------------
! !Tab size          8 !   V         !Range checking       On       !
! !Zoom windows     Off!  ---------- !Stack checking       On       !
! !Screen size---------!- !Off     ! !I/O checking         On       !
! ----------------------! !Segments! !Debug information    Off      !
!  -------------------  ! !Publics ! !Debug information    On       !
!  ! 25 line display !  ! !Detailed! !Force far calls      Off      !
!  ! 43/50 line disp.!--- ---------- !Var-string checking  Strict   !
!  -------------------               !Boolean evaluation  Short-Circ!
-------                              !Numeric processing  Software  !
      !                              !Qverlays allowed    Off       !
      V                              !------------------------------!
      !                              !------------------------------!
      !                              !Emulation           On        !
      V                              !Local symbols       On        !
------------------------------------ !Conditional defines           !
!Turbo directory:                  ! !Memory sizes--,               !
!EXE & TPU directory:              ! ---------------!----------------
!Include directories:              !----------------V---------
!Unit directories:                 !!Stack size       16384  !
!Object directories:               !!Low heap limit   0      !
!Pick file name:                   !!High heap limit  655360 !
!Current pick file:                !--------------------------
------------------------------------
 
     Рис. 7.2 Основное меню Турбо-Паскаля (продолжение)
 
     Когда вы в первый раз входит  в  интегрированную  среду
Турбо-Паскаля, курсор позиционируется на основное меню. Эле-
мент основного меню можно выбрать, нажав клавишу  с  буквой,
соответствующей  первой  букве  имени  элемента  меню:  File
(Файл),   Edit   (Редактор),   Run   (Выполнение),   Сompile
(Компиляция), Options (Опции), Debug (Отладка) и Break/Watch
(Прерывание/Просмотр).
     По всем командам (кроме Edit) выводится перечень подме-
ню.  Для  перемещения строки подсветки вверх и вниз по !тому
списку команд можно использовать клавиши управления курсором
(стрелки).  Когда  будет  подсвечена  нужная строка, нажмите
клавишу Enter. Для выхода из меню нажмите клавишу  Esc.  Для
перемещения  от  одного подменю к другому можно использовать
клавиши управления курсором или клавишу Alt в совокупности с
подсвеченной буквой элемента меню.
     Таким образом команды меню можно  выбирать  несколькими
способами.  Во-первых,  в основное меню можно попасть, нажав
клавишу F10 (если вы находитесь в одном  из  окон),  которая
позволяет  вам  переключиться  от  активного окна в основное
меню. Если вы находитесь в окне  редактирования  (Edit),  то
для  перехода  в  основное  меню  можно также нажать клавиши
Ctrl-K D или Ctrl-K O. Кроме того, вы можете нажать  клавишу
Alt и первую букву нужного вам элемента основного меню; нап-
ример,  при  нажатии  Alt-O  вы  перейдете  в  меню  "Опции"
(Options).
     Ниже приводятся пять альтернатив основного меню.
 
     File (Файл)
     Производит обработку файлов (загрузка, сохранение, ука-
зание,  создание,  запись  на  диск)  и  работу с каталогами
(просмотр, изменение), завершает выполнение программы и  вы-
зывает ДОС.
 
     Edit (Редактирование)
     Позволяет создать и отредактировать  исходные  файлы  с
помощью встроенного текстового редактора.
 
     Run (Выполнение)
     Автоматически транслирует, компонует и выполняет  прог-
рамму.
 
     Compile (Компиляция)
     Компилирует и создает для программы объектные и  выпол-
няемые файлы и так далее.
 
     Options (Опции)
     Позволяет выбрать средства компилятора (такие как  про-
верка  диапазона, информация для отладки и размеры памяти) и
определить входную строку параметров. Кроме того, производит
записи в каталоги Турбо, выполняемых файлов, включаемых фай-
лов, модулей и объектных файлов, сохраняет средства компиля-
тора и загружает эти средства из файла конфигурации.
 
     Debug (Отладка)
     Позволяет проверить и изменить любую переменную, вычис-
лить  выражение, проверить текущий стек вызова, быстро найти
в исходном тексте процедуру или функцию и разрешить или зап-
ретить  отладку. Позволяет также генерировать таблицы отлад-
чика для последующей работы с автономным отладчиком.
 
     Break/Watch (Прерывание/Просмотр)
     Позволяет добавлять, редактировать или удалять элементы
из  окна  просмотра  (Watch),  а также позволяет установить,
просмотреть или удалить точки останова в вашей программе.
 
     Имеется три основных типа элементов меню Турбо-Паскаля:
 
     - Команды, выполняющие  определенную  функцию  (запуск,
компиляция, сохранение опций и так далее).
     - Переключатели, позволяющие установить  или  выключить
средство (опцию) Турбо-Паскаля (проверка диапазона, редакти-
рование с автоматическим сохранением и  так  далее)  или  же
выбрать  одну  опцию  среди  нескольких, многократно нажимая
клавишу Enter до тех пор, пока  не  будет  достигнут  нужный
элемент (например, Destination (Назначение) или Boolean eva-
luation (вычисление булевых выражений)).
     - Установки, позволяющие указать компилятору определен-
ную информацию, необходимую ему на этапе компиляции и выпол-
нения, например, месторасположение каталога, основные  файлы
и так далее.
 
                      Последняя строка
 
     В каком бы окне или меню вы  не  находились,  строка  в
нижней  части  экрана содержит вспомогательную информацию об
использовании функциональных клавиш, содержание которой  оп-
ределяется вашим текущим положением.
     Когда вы находитесь в основном меню и окно редактирова-
ния  находится в активном состоянии, последняя строка выгля-
дит следующим образом:
 
F1-Help F2-Save F3-Load F5-Zoom F6-Edit F9-Make F10-Main menu
 
(F1-Подсказка F2-Сохранить F3-Загрузить F5-Увеличить окно 
 F6-Редактировать F9-Создать F10-Основное меню)
 
     Если вы нажмете клавишу Alt и удержите ее несколько се-
кунд в таком положении, то в последней строке будет выведены
комбинации, в которых используется Alt, например:
 
Alt-F1-Last-Help  Alt-F3-Pick  Alt-F5-Saved Screen  
Alt-F9-Compile    Alt-X-Edit
(Alt-F1-Предыдущая-Подсказка   Alt-F3-Указание 
Alt-F5-Сохраненный экран  Alt-F9-Компилировать 
Alt-X-Закончить)
 
     Если вы находитесь в окне просмотра (Watch), то послед-
няя строка выглядит следующим образом:
 
F1 - Help F5-Zoom F6-Switch F10-Menu Ins-Add Del-Delete  
Return-Edit watch
     (F1 - Справка F5-Размер окна  F6-Переключение  F10-Меню
Ins-Добавить   Del-Удалить   Return-Редактировать  выражение
просмотра)
 
     Когда вы находитесь в рамке ввода (input), в рамке оши-
бок  (error) и т.д., то нижняя строка также изменяется. Нап-
ример, когда вы находитесь в рамке "Имя загружаемого  файла"
(Load File Name), строка выглядит следующим образом:
 
     F1-Help Esc-Abort
 
                 Окно редактирования (Edit)
 
     В этом разделе описываются компоненты окна редактирова-
ния Турбо-Паскаля и разъясняется, как работать с этим окном.
     Прежде всего для перехода в окно  редактирования  пере-
местите  поле  с  подсветкой на альтернативу Edit в основном
меню и нажмите клавишу "Enter" (или нажмите клавишу Е из лю-
бого места основного меню). Для перехода в окно редактирова-
ния из любого места среды программирования, включая окно вы-
ходных  данных, нажмите Alt-E. (Напомним, что Alt-E является
сокращением для F10-Е). Если вы находитесь в окне редактиро-
вания, то его верхней границей является двойная линия, а его
имя выделяется подсветкой. Это означает, что окно  находится
в активном состоянии.
     Поскольку окно редактирования имеет  пространство,  где
можно просматривать и редактировать несколько строк исходно-
го файла, экран редактирования Турбо-Паскаля имеет  две  ин-
формационные  строки,  которые  вы, видимо, заметили: строка
статуса редактирования и нижняя строка.
     Строка статуса в верхней части окна редактирования  со-
держит информацию о редактируемом файле, о расположении кур-
сора в этом файле и об активизированных режимах редактирова-
ния:
 
 Line n  Col n  Insert  Indent  Tab C:FILENAME.EXT 
--------------------------------------------------------------
Line n (Строка n)  Курсор находится в файле в строке с номером 
                   n.
Col n (Столбец n)  Курсор находится в файле в столбце с номе-
                   ром n
Insert (Вставка)   Установлен режим вставки. Включение и выклю-
                   чение режима вставки осуществляется с по-
                   мощью Insert или Ctrl-V.
Indent (Отступ)    Установлен режим автоматического отступа.
                   Выключение и включение этого режима осущест-
                   вляется с помощью Ctrl-O I.
Fill               Если режим Tab установлен в состояние On,
                   то редактор будет заполнять начало каждой
                   строки пробелами и символами табуляции.
                   Выключение и включение этого режима осу-
                   ществляется с помощью Ctrl-O I.
Tab (Табуляция)    Активизирован режим табуляции. Включение и 
                   выключение его осуществляется с помощью 
                   Ctrl-O T.
Unindent           По клавише Backspace курсор будет устанав-
                   ливаться на первый ненулевой символ стро-
                   ки или на пустую строку.
С:FILENAME.EXT     Обозначает дисковод (С:), имя редактируе-
                   мого файла (FILENAME) и его расширение 
                   (.EXT).
--------------------------------------------------------------
 
     Строка в нижней части экрана показывает, какие  клавиши
быстрого  вмешательства (оперативные клавиши) какие действия
выполняют:
 
F1-Help F2-Save F3-Load F5-Zoom F6-Output F9-Make F10-main
 menu
(F1-Подсказка F2-сохранить F3-загрузить F5-увеличить окно
F6-Выходные данные F9-создать F10-основное меню)
 
     Для выбора одной из  указанных  функций  нажмите  соот-
ветствующую клавишу:
 
------------------------------------------------------------
F1-Help         На экране появляется окно подсказки, содер-
                жащее информацию о командах редактора Турбо-
                Паскаля.
F2-Save         Сохраняет файл, загруженный в окно редакти-
                рования.
F3-Load         Загружает новый файл в окно редактирования.
F5-Zoom         Увеличивает окно, находящееся в активном 
                состоянии, до размеров полного экрана. Для 
                возвращения к прежнему разбиению экрана на 
                окна нажмите также F5.
F6-Output       В этом случае F6 используется для перехода 
                в окно выходных данных; как правило, F6 
                используется для переключения активного 
                состояния между окнами. Нажмите F6 еще раз 
                с тем, чтобы перевести окно редактирования 
                вновь в активное состояние.
F9-Make         Создает выполняемый файл (.EXE).
F10-Main menu   Вызывает основное меню.
------------------------------------------------------------
 
     Рассматриваемый редактор использует  структуру  команд,
аналогичную  той,  которая  имеется в NotePad в SideKick и в
первоначальном редакторе Турбо-Паскаля. Если вы не знакомы с
этими редакторами, то обратитесь к приложению, где дано под-
робное описание команд редактора.

     При вводе кода в редакторе для завершения строки следу-
ет нажимать Enter (редактор не имеет автоматического перехо-
да на новую строку). Максимальная  длина  строки  равна  249
символам. Вы получите звуковое предупреждение, если попытае-
тесь выйти за эти пределы (отметим, что компилятор восприни-
мает  символы  только  до  128 столбца). Окно редактирования
имеет ширину в 77 столбцов. Если вы будете  вводить  данные,
превышающие  эту  ширину,  то уже введенный вами текст будет
сдвигаться влево. Строка статуса окна редактирования  указы-
вает положение курсора в файле с помощью строки и столбца.
     После того, как вы ввели исходный код программы в  окне
редактирования,  нажмите  F10 для вызова основного меню. Ваш
файл при этом останется на экране. Для возвращения к нему из
основного  меню  нужно  нажать  клавишу Е (для Edit) или для
возвращения из любого места нажмите Alt-E.
 
   Как работать с исходными файлами в окне редактирования
 
     Если вы вызываете окно редактирования, не загрузив  при
этом  никакого  определенного  файла, редактор Турбо-Паскаля
автоматически   присваивает   редактируемому    файлу    имя
NONAME.PAS.  Теперь  вы  имеете  в  своем  распоряжении  все
средства редактора. То есть вы можете:
 
     - создать новый исходный файл или с  именем  NONAME.PAS
или с любым другим именем;
     - загрузить и отредактировать существующий файл;
     - указать файл в списке  файлов  для  редактирования  и
загрузить его в окно редактирования;
     - сохранить файл, представленный в окне редактирования;
     - записать на диск файл, находящийся в редакторе, с но-
вым именем;
     - переходить из окна  редактирования  в  окно  выходных
данных  и  обратно  для  обнаружения и исправления ошибок на
этапе выполнения.
 
     При создании и редактировании исходного  файла  до  его
компиляции  и  выполнения  вам  не потребуется окно выходных
данных. Поэтому вы можете нажать F5 с тем,  чтобы  увеличить
окно  редактирования до размеров полного экрана. Для возвра-
щения к прежнему окну редактирования (для возвращения к  ре-
жиму разбиения экрана на окна) вновь нажмите F5.
 
              Создание нового исходного файла
 
     Создать новый файл вы можете с помощью одного из следу-
ющих методов:
 
     - В основном меню выберите  команду  "Файл/Новый  файл"
(File/New). В результате будет открыто окно редактирования с
файлом NONAME.PAS.
     - В основном меню выберете FILE/LOAD. На экране появит-
ся  рамка с подсказкой Load File Name (Имя загружаемого фай-
ла). Введите имя вашего  нового  исходного  файла.  (Нажатие
клавиши  F3 при нахождении в окне редактирования будет озна-
чать то же самое действие).
 
                Загрузка существующего файла
 
     Для загрузки и редактирования существующего файла можно
выбрать одно из двух средств: File/Load или File/Pick.
     Если в основном меню выбрано File/Load, то можно:
 
     - Ввести имя файла, который нужно отредактировать.  До-
пускается указывать маршруты, например:
 
     C:TPTESTFILE.PAS
 
     - Ввести в рамку с подсказкой Load File Name маску (ис-
пользуя  глобальные  символы  ДОС * и ?) и нажать Enter. При
вводе *.* на экране будут распечатаны все файлы из  текущего
каталога,  а также из любого другого каталога. Имена катало-
гов указываются с обратной наклонной чертой (\). Выбор опре-
деленного  каталога  приведет к выводу на экран файлов этого
каталога. Введя, например, C:*.PAS, вы  получите  на  экране
только  файлы с указанным расширением из корневого каталога.
Вы можете изменить маску глобальных символов, нажав F4. (Бо-
лее  подробно о каталогах см. Приложение Е "Начальные сведе-
ния об операционной системе ДОС").
     - С помощью клавиш со стрелками "Вверх", "Вниз" "Влево"
и  "Вправо" выделить подсветкой имя нужного вам файла. Затем
нажать Enter для загрузки выбранного файла. Теперь вы  нахо-
дитесь в окне редактирования (Edit). Если подсветкой выделе-
но имя каталога и вы нажали "Enter", то на  экране  появится
рамка для нового каталога.
     Средство Pick позволяет указать имя файла, который заг-
ружался   прежде.   Поэтому,   если  вы  выберете  File/Pick
(Файл/Указать) или  нажмете  Alt-F3  (рассмотрение  средства
Pick будет дано дальше в этой главе), то вы сможете:
 
     - Нажать Alt-F и затем Р с тем, чтобы получить на экра-
не список указания (или нажать Alt-F3).
     - С помощью клавиш со стрелками "Вверх" и "Вниз"  пере-
мещать поле с подсветкой для выбора нужного файла.
 
                 Сохранение исходного файла
 
     Для сохранения исходного файла из любого места  системы
нажмите  F2.  Если вы находитесь в основном меню, можно выб-
рать команду "Файл/Сохранение" (File/Save).
 
                  Запись выходного файла 
 
     Вы можете записать файл, находящийся в редакторе, в ка-
честве  нового файла на диск или затереть существующий файл.
Вы можете записать файл в текущий каталог (по умолчанию) или
указать  другой дисковод или другой каталог. В основном меню
выберете команду "Файл/Запись" (File/Write to). Затем в рам-
ку с подсказкой New Name (Новое имя) введите полное имя пути
для нового имени файла и нажмите Enter.
 
     C:\DIR\SUBDIR\FILENAME.EXT
 
где С: (его указывать не обязательно)  обозначает  дисковод,
DIR\SUBDIR  представляет собой необязательно указываемые ка-
талоги, а FILENAME.EXT есть имя выходного файла и его расши-
рение  (предполагается  расширение  .PAS; если вам нужно имя
файла без расширения, то в конце имени укажите точку (.)).
     Однократное нажатие клавиши Esc вызовет  возвращение  в
основное  меню; двукратное нажатие вызовет возвращение в ок-
но, находящееся в активном состоянии (редактор). Кроме того,
вы можете нажать клавиши F6 или Alt-E.
     Если FILENAME.EXT уже существует, то редактор удостове-
рится в вашем желании затереть существующий файл прежде, чем
произведет это.
 
                   Окно просмотра (Watch)
 
     В окне просмотра выводится список  выражений  просмотра
вашей  программы  (наблюдаемых  выраженй) и текущее значение
каждого выражения. Вычисление выражения просмотра при  поша-
говой  работе  или  выполнении каждый раз вычсляется заново.
Окно просмотра (Watch) позволяет  вам  отслеживать  значение
важный выражений на каждом шаге программы.
     По мере того, как вы добавляете в окно просмотра  новые
выражения,  оно  увеличивается в размере (пока его размер не
достигнет размера, заданного в меню "Изменение размера окон"
(Resize  Windows)  программы TINST). Когда размер этого окна
станет максимальным, вы все равно сможете добавлять  в  него
выражения,  но для "прокрутки" изображения, чтобы увидеть не
уместившиеся в окне значения, нужно будет использовать  кла-
виши управления курсором (стрелки).
     Текущее выражение в окне просмотра, когда это окно  ак-
тивно,  отмечено подсветкой, а конда окно не является актив-
ным - знаком (.) перед выражением.
 
                 Интегрированный отладчик
 
     Интгрированная интерактивная среда Турбо-Паскаля  вклю-
чает  в  себя  специальное  встроенное средство отладки. Это
средство, помогающее вам найти в программе ошибки, называет-
ся интегрированным отладчиком. Поскольку здесь мы собираемся
описывать только основное меню, то отсылаем вас  к  Главе  6
"Отладка  программ, написанных на Турбо-Паскале". При работе
отладчик позволяет вам остановить выполнение программы в лю-
бой ее точке. При этом вы можете проверить или изменить зна-
чение переменных и других элементов данных.
     Если переключатель меню "Отладка/Интергированная отлад-
ка"  (Debug/Integrated  Debugging)  установлен в значение On
(включен), то при запуске вышей программы интерактивная сре-
да Турбо-Паскаля будет автоматически вызывать отладчик.
     Когда вы начинаете сеанс отладки с помощью команды "Вы-
полнение/Выполнение"  (Run/Run),  Турбо-Паскаль  компилирует
все "старые" исходные файлы и подготавливает программу к за-
пуску.  Затем  он выполняет программу, пока она не достигнет
точки останова или конца программы. После того, как програм-
ма  запущена,  для просмотра выводимой программой информации
можно использовать команду  "Выполнение/Экран  пользователя"
(Run/User Screen) (или клавишу Alt-F5).
     Чтобы начать сеанс отладки, когда точки останова не за-
даны,  выберите  команду  "Выполнение/Выполнение  по  шагам"
(Run/Step Over) или используйте  клавишу  F8.  Отладчик  при
этом остановится на первом выполняемом операторе.
     Когда Турбо-Паскаль подготовит программу  для  запуска,
начинается  сеанс  отладки. Теперь вы можете запустить прог-
рамму с помощью одного из следующий методов (или любой  ком-
бинации этих методов в любом порядке):
 
     1.  Выполнять программу построчно, интерпретирую  вызов
         процедуры  или  функции, как один оператор, или вы-
         полняя их трассировку.
     2.  Выполнить программу от текущй  позиции  до  заранее
         установленной  точки останова или до конца програм-
         мы.
     3.  Выполнить программу от текущей позиции до того мес-
         та, где находится курсор.
 
     В общем случае не следует продолжать  выполнение  прог-
раммы после того, как в процессе отладки вы изменили один из
исходных файлов. В этом случае нужно  заново  скомпилировать
вашу   программу   с  помощи  команды  "Компиляция/Создание"
(Compile/Make) (клавиша F9). На практике, после того, как во
время  отладки  вы  внесли в исходный файл изменения, каждый
раз, когда вы будете давать команду  запуска,  Турбо-Паскаль
будет запрашивать у вас, хотите ли вы выполнить заново пост-
роение вашей программы.
 
                      Экран отладчика
 
     В режиме с разбивкой на окна (клавиша F5 позволяет  пе-
реходить  от  многооконного  режима к режиму полного экрана)
нижним окном является окно просмотра (Watch). При  включении
в окно промотра дополнительных выражений его размер увеличи-
вается до максимума (определяемого программой TINST).  Когда
окно достигнет полного размера, новые выражения будут добав-
ляться в вершину окна, а прежние - сдвигаться вниз.
     Ваша текущая позиция в  программе  называется  позицией
выполнения.  На  экране она указывается с помощью подсветки,
которая называтся границей выполнения.
 
                     Меню "Файл" (File)
 
     Меню "Файл" (File), включающее в себя подменю,  предла-
гает  разнообразные  средства для загрузки существующих фай-
лов, создания новых файлов и сохранения файлов на диске. При
загрузке  файл автоматически помещается в редактор. Завершив
работу с файлом, вы можете сохранить его в любом каталоге  и
с  любым  именем. Кроме того, из этого подменю вы можете пе-
рейти в другой каталог, временно вызвать командный процессор
ДОС или закончить работу в Турбо-Паскале.
 
              "Загрузить" (Load) - клавиша F3
 
     Эта команда загружает файл. Вы можете использовать при-
нятые  в  операционной системе ДОС маски для указания списка
файлов, или вы можете загрузить один определенный файл.  Для
этого небходимо просто ввести имя нужного файла.
-----------------------------------------------------------------
! File   Edit   Run   Compile    Options    Debug   Break/Watch !
! --|------------|--------------Edit--------------------------! !
! ! |Load  Alt-F3|   Col 1    Insert Indent      C:NONAME.PAS ! !
! ! |Pick        |                                            ! !
! ! |New         |                                            ! !
! ! |Save      F2|                                            ! !
! ! |Write to    |                                            ! !
! ! |Directory   |                                            ! !
! ! |Change dir  |                                            ! !
! ! |OS shell    |                                            ! !
! ! |Quit   Alt-X|                                            ! !
! ! --------------                                            ! !
! !                                                           ! !
! !------------------------Watch------------------------------! !
! !                                                           ! !
! !                                                           ! !
! --------------------------------------------------------------!
!   F1-Help F5-Zoom F6-Switch F7-Trace F8-Step F9-Make F10 Menu !
-----------------------------------------------------------------
 
     Рис. 7.3. Меню "Файл" (File)
 
     По рамке с именами каталогов можно перемещаться,  выби-
рая  первую  букву.  Например,  нажав "В" вы переместитесь к
первому имени, начинающемуся с "В".  Вторичное  нажатие  "В"
переместит  вас к другому имени файла и т.д. Если больше нет
имен файлов, которые начинаются с буквы "В", то вы  перемес-
титесь  к  первому  имени. Если имена файлов, начинающихся с
данной буквы, отсутствуют, то курсор перемещаться не  будет.
Одновременное  нажатие  клавиш Shift и "В" переместит вас на
имя первого подкаталога, который начинатся с буквы "В".
 
           Примечание. Если вы указали неправильный дисковод
      или  каталог, на экране появится рамка с сообщением об
      ошибке. Если в редакторе находится несохраненный изме-
      ненный  файл, а вы пытаетесь загрузить другой файл, то
      на экране появится рамка с предупреждением. И  в  пер-
      вом, и во втором случае клавиши быстрого вмешательства
      не функционируют до тех пор, пока вы не нажмете клави-
      шу,  указанную в рамке с сообщением об ошибке и с пре-
      дупреждением.
 
             "Указать" (Pick) - клавиша Alt-F3
 
     Эта команда позволяет указать файл в списке  из  восьми
файлов,  которые  перед этим загружались в окно редактирова-
ния. В начале списка находится файл, находящийся  в  текущий
момент  в редакторе. Этим обеспечивается легкий способ пере-
загрузить текущий файл, если вы хотите отменить  произведен-
ные изменения. Выбранный файл загружается в редактор, и кур-
сор помещается в то место, куда вносились изменения при пос-
леднем  редактировании файла. Отметим, что для каждого файла
сохраняются блок-маркеры и состояние, а также каждый из  че-
тырех маркеров. При выборе элемента "-load file-" (загрузить
файл) из списка указания на экране появится рамка с подсказ-
кой  Load File Name (имя загружаемого файла), как и в случае
выбора File/Load или нажатия F3. Alt-F3 является сокращенным
вариантом для получения этого списка.
     Вы можете определить имя файла указания с помощью  эле-
мента  меню "О/О/Имя файла указания" (O/D/Pick file name) из
программы установки Турбо-Паскаля (TINST).  Благодаря  этому
Турбо-Паскаль автоматически сохранит текущий список указания
при завершении работы, и при следующем вызове  Турбо-Паскаля
этот файл будет загружен вновь. Дополнительные сведения мож-
но найти в описании опции "О/О/Имя файла указания" (O/D/Pick
file Name).
 
                       "Новый" (New)
 
     Это средство указывает, что файл должен быть новым. При
вызове  редактора по умолчанию этому файлу присваивается имя
NONAME.PAS. (Позже вы можете изменить  это  имя  при  записи
файла на диск).
 
               Save (Сохранить) - клавиша F2
 
     Эта команда сохраняет файл, находящийся в редакторе, на
диске.  Если имя вашего файла NONAME.PAS и вы желаете сохра-
нить его, то редактор запросит вас, не хотите ли вы его  пе-
реименовать.  Нажатие клавиши F2 из любого места системы вы-
полнит то же самое действие, что и команда  "Файл/Сохранить"
(File/Save).
 
                   "Записать" (Write to)
 
     Эта команда записывает файл с новым именем или затирает
существующий  файл. Если файл с таким именем уже существует,
вам дается запрос, следует ли его затереть.
 
                   "Каталог" (Directory)
 
     Эта команда выводит нужный вам каталог и множество фай-
лов  (для  получения  текущего  каталога нужно нажать только
клавишу Enter). 
     По рамке с именами каталогов можно перемещаться,  выби-
рая  первую  букву.  Например,  нажав "В" вы переместитесь к
первому имени, начинающемуся с "В".  Вторичное  нажатие  "В"
переместит  вас к другому имени файла и т.д. Если больше нет
имен файлов, которые начинаются с буквы "В", то вы  перемес-
титесь  к  первому  имени. Если имена файлов, начинающихся с
данной буквы, отсутствуют, то курсор перемещаться не  будет.
Одновременное  нажатие  клавиш Shift и "В" переместит вас на
имя первого подкаталога, который начинатся с буквы "В".
 
              "Изменить каталог" (Change Dir)
 
     Эта команда распечатывает текущий каталог  и  позволяет
изменить его на указанный дисковод и/или каталог.
 
            "Командный процессор ДОС" (OS shell)
 
     По этой команде выполняется временный  выход  из  среды
Турбо-Паскаля  и выдается подсказка операционной систмы ДОС.
Для возвращения в Турбо-Паскаль введите команду exit (закон-
чить).  Это  полезное средство, если вам нужно выполнить ко-
манду ДОС, не прекращая работы в  Турбо-Паскале.  Экран  ДОС
можно  просмотреть, выбрав команду "Выполнение/Экран пользо-
вателя" (Run/User Screen) (клавиша F5). Обычно  при  запуске
или отладке программы для выполнения этой операции не хвата-
ет памяти. В этом случае  можно  выбрать  команду  "Выполне-
ние/Сброс программы" (Run/Program Reset) (оперативная клави-
ша Ctrl-F2), что позволяет очистить память выпоняемой  прог-
раммы и затем выполнить командный процессор ДОС.
 
           Примечание: В режиме работы  с  двумя  мониторами
      командный  процессор ДОС будет появляться не на экране
      "Выполнение" (Execution), а на  экране  Турбо-Паскаля.
      Это  позволяет вам обращаться к командам ДОС без нару-
      шения экрана вывода вашей программы. Поскольку  выход-
      ные  результаты  вашей  программы доступны на одном из
      мониторов  системы,  использовать  команду   "Выполне-
      ние/Экран  пользователя"  (Run/User  Screen)  (клавиши
      Alt-F5) запрещается.
 
               "Выход" (Quit) - клавиши Alt-X
 
     Эта команда завершает работу Турбо-Паскаля и возвращает
управление операционной системе ДОС в текущий каталог (появ-
ляется подсказка ДОС).
 
              Команда "Редактирование" (Edit)
 
     Команда Edit вызывает встроенный экранный редактор.
     Вы можете вызвать основное меню из редактора, нажав F10
(или Alt и клавишу с первой буквой нужной вам команды основ-
ного меню). Ваш исходный текст остается видимым  на  экране.
Вам  нужно только нажать Esc или Е в основном меню для того,
чтобы возвратиться к нему (или Alt-E из любого другого  мес-
та).
 
                  Меню "Выполнение" (Run)
 
     С помощью данного меню вы можете  запустить  программу,
выполнить сброс программы или выполнить программу до текущей
позиции курсора. Можно также выполнять трассировку программы
(с трассировкой процедур и функций или без нее) и просматри-
вать на экране выводимую программой информацию.
 
-----------------------------------------------------------------
!   File   Edit   Run  Compile   Options   Debug  Break/Watch   !
! ----------------------------|---------------------|-----------!
! !     Line 1   Col 1        |Run###########Ctrl-F9|         ! !
! !                           |Program Reset Ctrl-F2|         ! !
! !                           |Go to Cursor       F4|         ! !
! !                           |Trace Into         F7|         ! !
! !                           |Step Over          F8|         ! !
! !                           |User Screen    Alt-F5|         ! !
! !                           -----------------------         ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !------------------------Watch------------------------------! !
! !                                                           ! !
! --------------------------------------------------------------!
!   F1-Help F5-Zoom F6-Switch F7-Trace F8-Step F9-Make F10 Menu !
-----------------------------------------------------------------
 
     Рис. 7.4. Меню "Выполнение" (Run)
 
        Команда "Выполнение" (Run) - клавиши Ctrl-F9
 
     Команда Run вызывает компилятор, если в  файл,  находя-
щийся  в  редакторе,  были  внесены изменения со времени его
последней компиляции. Затем ваша программа запускается с ис-
пользованием  аргументов, указанных в меню "Опции/Параметры"
(Options/Parameters) после завершения  выполнения  программы
вы  вернетесь в Турбо-Паскаль. Для того, чтобы увидеть выве-
денную программой  информацию,  выберите  команду  "Выполне-
ние/Экран пользователя" (Run/User Screen) (клавиши Alt-F5).
 
    "Сброс программы" (Program Reset) - клавиши Ctrl-F2
 
     Эта команда сообщат  Турбо-Паскалю,  что  вы  закончили
один  сеанс отладки и готовы для еще одного запуска програм-
мы.
     Она отменяет текущий сеанс отладки, выводит вас из  ре-
жима  отладки  и  удаляет текущую границу выполнения. Данная
команда также освобождает память, занимаемую вашей  програм-
мой  и закрывает все открытые файлы. Значения переменных она
не сбрасывает.
     Команду "Сброс программы" нужно использовать,  если  вы
закончили отладку программы и хотите освободить память, что-
бы получить возможность работать с командой  "Файл/Командный
процессор ДОС" (File/OS Shell).
 
                 "Выполнить до курсора" 
               (Go to Cursor) - клавиша F4
 
     Данная команда позволяет вам  начать  (или  продолжить)
выполнение программы от текущей позиции (первой строки прог-
раммы, если вы начали отладку) до той строки в окне редакти-
рования  (Edit),  на  которой  находится курсор. Эта команда
предполагает, что вы переходите в окно редактора и помещаете
курсор  на  некотором  выполняемом операторе программы. Если
курсор неходится не невыполняемом операторе  (пустая  строка
или  строка  комментария), то программа будет выполняться до
следующей выполняемой строки. Однако, если курсор  находится
на описании переменной или вне области действия любой проце-
дуры, то отладчик сообщит вам об отсутствии в этом месте вы-
полняемого  кода. Аналогично командам "Выполнение/Трассиров-
ка"  (Run/Trace  Into),  "Выполнение/Пошаговое   выполнение"
(Run/Step Over) и "Компиляция/Создание" (Compile/Make) (кла-
виши F7, F8  и F9), команду "Выполнение/Выполнение до курсо-
ра" (Run/Go to Cursor) позволяет начать сеанс отладки.
     Эту команду можно использовать для перемещения  границы
выполнения в то место программы, которое вы хотите отладить.
Если вы хотите, чтобы программа останавливалась каждый  раз,
когда она достигает в этом месте определенного оператора, то
в этом месте нужно установить точку останова (с помощью меню
"Прерывание/Просмотр" (Break/Watch)).
     Команда "Выполнение до курсора" не устанавливает посто-
янную точку останова, но если такая точка останова будет об-
наружена, то программа на ней остановится. В этом случае вам
следует переместить курсор на ту строку, до которой вы хоти-
те выполнить программу, и вновь дать команду "Выполнение  до
курсора".
 
             Команда "Трассировка" (клавиша F7)
 
     Эта команда приводит к выполнению следующего оператора.
Если этим оператором является вызов подпрограммы, то трасси-
ровка продолжается на следующем операторе подпрограммы.  Ко-
манда трассировки (Trace Into) позволяет выполнять все моду-
ли и включаемые файлы программы, которые  при  необходимости
будут загружаться.
 
         Команда "Выполнение по шагам" (клавиша F8)
 
     Данная команда работает так же, как команда "Трассиров-
ка",  но  с одним важным отличием: если встречается оператор
вызова процедуры или функции, то вся эта процедура или функ-
ция  выполняется,  как один шаг (то есть на трассируется), и
отладчик делает паузу на операторе, следующем за  оператором
вызова процедуры или функции.
     Таким образом,  команда  "Выполнение  по  шагам"  (Step
Over) выполняет программу так, как если бы в ней не содержа-
лись вызовы процедур или функций (выполнение всегда  продви-
гается  на  одну  строку  кода). В отличие от этого, команда
трассировки (Trace Into) трассирует все процедуры и функции,
которые  были  скомпилированы  с установленным в значение On
(включено) переключателем  "Опции/Компилятор/Информация  для
отладки" (Options/Compiler/Debug Information) и исходный код
которых можно найти и загрузить в редактор.

               Команда "Экран пользователя" 
             (User Screen) - клавиши Alt-F5
 
     Позволяет увидеть на экране выходную  информацию  прог-
раммы.  В этот экран вы попадете из интегрированной интерак-
тивной среды при выполнении и отладке программы.  Его  можно
также использовать с помощью команды "Файл/Командный процес-
сор ДОС" (File/OS Shell).
 
                Меню "Компиляция" (Compile)
 
     Элементы в меню "Компиляция" (Compile) используются для
компиляции   программы  (Compile),  для  создания  программы
(Make), для построения программы (Build), для установки наз-
начения (Destination) для объектного кода (диск или память),
для нахождения ошибки на этапе выполнения (Find error),  для
определения  основного  файла (Primary file) и для получения
информации о текущем исходном файле (Get Info).

-----------------------------------------------------------------
! File   Edit  Run   Compile    Options   Debug   Break/Watch   !
! ----------------------------|-------------------|-------------!
! !     Line 1   Col 1        |Compile####Alt-F9##|NONAME:PAS ! !
! !                           |Make           F9  |           ! !
! !                           |Build              |           ! !
! !                           |Destination Memory |           ! !
! !                           |Find error         |           ! !
! !                           |Primary file:      |           ! !
! !                           |Get info           |           ! !
! !                           ---------------------           ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !------------------------Watch------------------------------! !
! !                                                           ! !
! --------------------------------------------------------------!
!   F1-Help F5-Zoom F6-Switch F7-Trace F8-Step F9-Make F10 Menu !
-----------------------------------------------------------------
 
     Рис. 7.5. Меню "Компиляция" (Compile)
 
          "Компиляция" (Compile) - клавиши Alt-F9
 
     Этот элемент меню является командой. Выполняется компи-
ляция  последнего  файла,  загруженного в редактор. При этом
выводится окно с информацией  о  компиляции:  имя  основного
файла,  имя компилируемого файла, количество откомпилирован-
ных строк, объем доступной памяти и успешно или нет выполне-
на  компиляция  программы.  Если  компиляция прошла успешно,
нажмите любую клавишу. При этом данное  информационное  окно
исчезнет.  В случае ошибки вы автоматически переходите в ре-
дактор на ошибочную строку.
 
               "Создание" (Make) - клавиша F9
 
     При выборе этого элемента  меню  вызывается  последова-
тельность Make Турбо-Паскаля. Если основному файлу присвоено
имя, то компилируется этот файл. В противном случае компили-
руется последний файл, загруженный в редактор. Турбо-Паскаль
проверяет все файлы, от которых зависит компилируемый  файл.
Если  в исходный файл некоторого модуля были внесены измене-
ния со времени создания файла с расширением .TPU  (объектный
код), то этот модуль компилируется заново. Если была измене-
на интерфейсная секция некоторого модуля, то заново трансли-
руются  все модули, зависящие от указанного модуля. Если мо-
дуль компонуется с объектным файлом .OBJ  (внешние  подпрог-
раммы)  и этот объектный файл является более новым, чем файл
с расширением .TPU данного модуля, то этот модуль транслиру-
ется заново. Если модуль содержит включаемый файл (файл типа
include) и этот файл является более новым, чем файл с расши-
рением .TPU данного модуля, то этот модуль транслируется за-
ново.
     Если исходный код модуля (файл .TPU) найти не  удается,
то  этот модуль не компилируется, а используется в неизмене-
ном виде.
 
                    "Построение" (Build)
 
     При выборе этого элемента меню заново транслируются все
файлы  независимо  от  того, соответствуют они дате или нет.
Это средство аналогично средству Make  за  тем  исключением,
что  оно  является  безусловным,  а  Make транслирует заново
только те файлы, которые не являются требуют обновления.
     Если исходный код модуля (файл .TPU) найти не  удается,
то  этот модуль не компилируется, а используется в неизмене-
ном виде.
 
                 "Назначение" (Destination)
 
     Это средство используется для указания,  где  сохранить
выполняемый  код - на диске (в файле с расширением .EXE) или
только в оперативной памяти (и тем самым  потерять  его  при
выходе из Турбо-Паскаля). Отметим, что даже если Destination
установлено в значение Memory (память), все файлы с расшире-
нием  .TPU  для модулей, заново транслируемых с помощью Make
или Build, обновляются на диске.  Если  код  сохраняется  на
диске, то имя выполняемого файла образуется с помощью одного
из следующих двух имен:
 
     - из имени основного файла (Primary), или,  если  такое
не указано;
     - если этой файл не задан, то из имени последнего ском-
пилированного файла (с расширением .ЕХЕ).
 
     Полученный в результате файд .ЕХЕ сохраняется в том  же
каталоге,  что  и  исходный файл, или в каталоге, заданном в
команде "Опции/Каталоги/Каталоги EXE и TPU).
 
                "Поиск ошибки" (Find error) 
 
     Это средство находит место расположения ошибки, возник-
шей на этапе выполнения. При обнаружении ошибки на этапе вы-
полнения адрес в памяти, где эта ошибка встретилась,  указы-
вается  в формате "сегмент:смещение". При возвращении в Тур-
бо-Паскаль положении этой ошибки автоматически  указывается.
Эта  команда  позволяет находить заново эту ошибку с помощью
значений сегмента и смещения. Для этого  вам  нужно  вызвать
элемент  меню Debug info (Информация для отладки). Вы должны
указать адрес ошибки в  шестнадцатиричной  форме,  используя
обозначение  сегмента  и  смещения.  Этот  формат имеет вид:
"xxxx:yyyy", например, "2BE0:FFD4".
     Для работы команды "Поиск  ошибки"  переключатели  меню
"Отладка/Интегрированная  отладка"  (Debug/Integrated Debug-
ging) и  "Опции/Компилятор/Информация  для  отладки"  должны
быть установлены в значение On (включены).
     Если ошибка на этапе выполнения обнаружена при работе в
интегрированной среде программирования, то по умолчанию зна-
чение адреса ошибки устанавливается автоматически. Это  поз-
воляет заново найти место расположения ошибки после внесения
изменений в файл. (Отметим, что если вы не выходили из  фай-
ла, то для возвращения на позицию ошибки используется коман-
да Ctrl-O W).
     При обнаружении ошибки при выполнении программы в среде
операционной системы ДОС, вам следует записать ее адрес, вы-
водимый на экране в виде сегмента и  смещения.  Затем  нужно
загрузить основную программу в редактор или указать ее имя в
элементе меню "Основной файл"  (Primary  file).  Удостоверь-
тесь,  что  "Назначение"  (Destination)  установлено на Disk
(диск). Затем введите значение сегмента и смещения.
     При задании адреса ошибки нужно использовать шестнадца-
тиричное представление сегмента и смещения (как уже указыва-
лось выше).
error in text.....          ной  памяти, максимальный размер 
динамически распределяемой oбласти памяти.
 
                   Меню "Опции" (Options)
 
     Меню "Опции" (Options) содержит установки, определяющие
работу интегрированной среды программирования. Эти установки
связаны с такими вещами как средства  компилятора,  каталоги
модулей,  объектных  файлов и файлов типа Include, аргументы
времени выполнения программы и так далее. 

                  "Компилятор" (Compiler)
 
     Эти средства представляют собой различные средства ком-
пилятора,  включая  проверку диапазона, проверку стека, про-
верку ввода/вывода и так далее. Эти же самые средства  могут
быть указаны в самом исходном коде с помощью директив компи-
лятора (см. Приложе- ние С в "Справочном руководстве").  От-
метим,  что первая буква каждого элемента меню соответствует
эквивалентной   ей    директиве    компилятора;    например,
Range-checking   (проверка  диапазона)  соответствует  {$R}.
(Единственное исключение составляют определения компилятора,
которые имеют вид /Dxxx).
 
                   "Проверка диапазона" 
      (Range-Checking) - по умолчанию Off (выключено)
 
     Команда Range-checking (Проверка  диапазона)  позволяет
установить или отменить проверку диапазона. При задании этой
опции компилятор генерирует код,  который  проверяет,  соот-
ветствуют ли индексы массивов и строк границам и не превышен
ли указанный диапазон при присваивании  значений  переменным
скалярного  типа.  Если  при  проверке обнаружена ошибка, то

-----------------------------------------------------------------
! File   Edit  Run   Compile    Options   Debug   Break/Watch   !
! ------------------------------Edit----|-----------|-----------!
! !     Line 1   Col 1    Insert Indent |Compiler###|         ! !
! !                      -----------------------------------  ! !
! !                      |Range checking#########Off#######|  ! !
! !                      |Stack checking         On        |  ! !
! !                      |I/O checking           On        |  ! !
! !                      |Debug information      On        |  ! !
! !                      |Turbo pascal map file  Off       |  ! !
! !                      |Force far calls        Off       |  ! !
! !                      |Var-string checking    Strict    |  ! !
! !                      |Boolean evaluation  Short Circuit|  ! !
! !                      |Numeric processing  Software     |  ! !
! !                      |Link buffer         Memory       |  ! !
! !                      |Conditional defines              |  ! !
! !                      |Memory sizes                     |  ! !
! !                      -----------------------------------  ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !------------------------Watch------------------------------! !
! !                                                           ! !
! --------------------------------------------------------------!
!   F1-Help F5-Zoom F6-Switch F7-Trace F8-Step F9-Make F10 Menu !
-----------------------------------------------------------------

     Рис. 7.7. Меню "Опции/Компилятор" (Options/Compiler)

программа прекращает работу. При отмене этого средства такая
проверка  не производится. Это средство эквивалентно исполь-
зованию директивы компилятора $R.
 
                      "Проверка стека"
       (Stack-Checking) - по умолчанию On (включено)
 
     Stack-checking (Проверка  стека)  позволяет  установить
или  отменить  проверку  стека. При установке этого средства
компилятор генерирует код, который перед вызовом любой  про-
цедуры или функции проверяет, имеется ли доступное простран-
ство в стеке для локальных переменных.  Если  проверка  дает
отрицательный  результат,  то  программа  прекращает  работу
из-за ошибки, возникшей на этапе выполнения. При отмене это-
го  средства  такая проверка не осуществляется. Это средство
эквивалентно использованию директивы компилятора $S.
 
                  "Проверка ввода-вывода"
        (I/O-Checking) - по умолчанию On (включено)
 
     I/O checking (Проверка ввода/вывода) позволяет  устано-
вить  или отменить проверку ошибок при вводе/выводе. При ус-
тановке этого средства компилятор  генерирует  код,  который
проверяет  ошибки  после  каждой операции ввода/вывода. Если
при проверке обнаружена ошибка, то программа завершает  свою
работу.  При  отмене этого средства такая проверка не осуще-
ствляется; однако пользователь может  проверить  ошибки  при
вводе/выводе  с  помощью  системной  функции  IOResult.  Это
средство эквивалентно  использованию  директивы  компилятора
$I.
 
           "Использование дальнего типа вызовов"
      (Force Far Calls) - по умолчанию Off (выключено)
 
     Эта команда позволяет использовать  все  вызовы  проце-
дур/функций в качестве дальних вызовов. Если это средство не
установлено, то компилятор  генерирует  ближние  вызовы  для
процедур и функций внутри компилируемого файла. Это средство
эквивалентно использованию директивы компилятора $F.
 
                   "Выравнивание данных" 
          (Align Data) - по умалчанию Word (слово)
 
     Позволяет переключаться между выравниванием  переменных
и типизованных констант на границу байта и на границу слова.
При выборе выравнивания на границу слова  все  переменные  и
типизованные константы, превышающие один байт, выравниваются
на границу машинного слова (четный адрес). Если это  необхо-
димо,  между переменными для достижения соответствующего вы-
равнивания на границу слова включаются дополнительные  неис-
пользуемые  байты.  При выборе выравнивания на границу байта
никаких мер по выравниванию данных не предпринимается. Пере-
менные  и  типизованные константы, независимо от их размера,
просто размещаются по следующему доступному адресу. Эта  ко-
манда меню эквивалентна директиве компилятора $A.
 
               "Проверка строк-переменных"  
   (Var-string Checking) - по умолчанию Strict (строгая)
 
     Эта команда позволяет выбрать строгую  или  ослабленную
проверку ошибок в строковых параметрах. При строгой проверке
компилятор сравнивает описанный размер строкового  параметра
типа  var  с  размером фактического передаваемого параметра.
Если описанный размер фактического параметра меньше  размера
формального  параметра,  то компилятор фиксирует ошибку. При
ослабленном варианте такая проверка не  осуществляется.  Это
средство эквивалентно директиве компилятора $V.
 
                   "Вычисление булевских 
           выражений" (Boolean Evaluation) - по 
          умолчанию Short Circuit (короткая схема)
 
     Boolean evaluation (Вычисление булевых выражений)  поз-
воляет  выбрать короткую или полную схемы вычисления булевых
выражений. При вычислении по короткой схеме компилятор гене-
рирует код, завершающий вычисление булева выражения как мож-
но быстрее. Например, при вычислении выражения if False  and
MyFunc  функция MyFunc никогда не вызывается. При вычислении
по полной схеме вычисляются все члены, входящие в булево вы-
ражение.  Это  средство эквивалентно использованию директивы
компилятора $B.
 
                   "Числовая обработка" 
                  (Numeric Processing) - 
            по умолчанию Software (программная)
 
     Numeric processing (Числовая обработка)  допускает  две
возможности: аппаратную обработку, когда генерируется прямой
внутренний код 8087 и допускается использование типов данных
с  плавающей  запятой  по стандарту IEEE (с одинарной точно-
стью, с двойной точностью, с повышенной точностью, сложные),
и  программную  обработку,  которая  допускает использование
только стандартного  для  Турбо-Паскаля  вещественного  типа
данных  размером в 6 байт. Это средство эквивалентно исполь-
зованию директивы компилятора $N.
 
                        "Эмуляция" 
          (Emulation) - по умолчанию On (включена)
 
     Разрешает или запрещает компоновку с библиотекой испол-
няющей системы, которая будет эмулировать работу сопроцессо-
ра 8087 с случае его отсутствия. Когда ваша программа компи-
лируется  с  опцией  "Эмуляция", установленной в значение On
(включена), то Турбо-Паскаль будет выполнять  компоновку  со
средствами  полной  эмуляции сопроцессора 8087. Полученный в
результате файл типа .ЕХЕ будет работать  на  любой  машине,
независимо от наличия в ее конфигурации сопроцессора 8087.
     При использовании в модуле команда "Эмуляция"  не  дей-
ствует. Она может использоваться только при компиляции прог-
раммы. Кроме того, если вы перекомпилируете программу с  оп-
цией  "Эмуляция"  (Emulation),  установленной в значение Off
(выключена), и скомпилируете все используемые программой мо-
дули  с  опцией  "Эмуляция",  также установленной в значение
Off, то библиотека исполняющей системы Турбо-Паскаля не  ис-
пользуется и эмулятор сопроцессора 8087 игнорируется.
     Эта команда эквивалентна директиве компилятора $E.
 
                  "Информация для отладки"
      (Debug Information) - по умолчанию On (включено)
 
     Debug information (Информация  для  отладки)  позволяет
дать  запрос компилятору генерировать информацию для отладки
компилируемой программы. Эта информация содержит  таблицу  с
номерами строк каждой процедуры, которая позволяет ставить с
соответствие объектному коду номера строк исходного текста.
     Если для данной программы или модуля опция  "Информация
для  отладки"  (Debug Information) установлена в значение On
(включена), то в интерактивой среде программирования вы смо-
жете выполнять пошаговую трассировку этого модуля и устанав-
ливать в нем точки останова, а в случае ошибки этапа  выпол-
нения  Турбо-Паскаль  будет  автоматически  перемещать вас к
тому оператору, на котором эта ошибка произошла.
     Команды "Отладка/Автономная отладка" (Debug/Stand-Alone
Debugging)        и       "Опции/Компоновщий/Файл       МАР"
(Options/Linker/Map File) будут генерировать для модуля пол-
ную  информацию  для  отладки  только  в том случае, если вы
скомпилировали этот модуль с опцией "Информация  для  отлад-
ки", установленной в значение On.
     Для модулей информация для отладки записывается  наряду
с  объектным  кодом модуля в файле с расширением .TPU. Отла-
дочная информация увеличивает объем файлов  .TPU  и  требует
дополнительную  память  при компиляции использующих этот мо-
дуль программ, но на объем  и  скорость  работы  выполняемых
программ она не влияет.
     Те части исходного кода, которые были скомпилированы  и
скомпонованы с опцией "Информация для отладки" (Debug Infor-
mation), установленной в значение Off (выключена), отладчику
недоступны. Если пространство на диске ограничено, установи-
те эту опцию в значение Off. Это позволит  получить  меньшие
по  размеру файлы .TPU и использовать меньше памяти при ком-
пиляции и выполнении программы.
     Команда "информация для отладки" обычно используется  в
сочетании  с  командой  "Опции/Компилятор/Локальные символы"
(Options/Compiler/Local Symbols), которая разрешает или зап-
рещает  предназначенную  для  отладки информацию о локальных
символах. Она эквивалентна директиве компилятора $D.
 
                    "Локальные символы" 
        (Local Symbols) - по умолчанию On (включено)
 
     Эта команда разрешает или запрещает генерацию  информа-
ции  о  локальных  символах. Информация о локальных символах
включает в себя все имена  и  типы  локальных  переменных  и
констант  модуля, то есть символы определяемые в секции реа-
лизации данного модуля и символы, определяемые в  процедурах
и функциях этого модуля.
     Если эта опция установлена в состояние  On  (включена),
то  в интерактивной среде программирования вы сможете прове-
рять и модифицировать  локальные  переменные  модуля.  Кроме
того, обращение к процедурам и функциям данного модуля можно
будет проверить  с  помощью  команды  "Отладка/Стек  вызова"
(Debug/Call Stack).
     Команды      "Опции/Компилятор/Локальные       символы"
(Options/Compiler/Local  Symbols)  и "Отладка/Автономная от-
ладка" (Debug/Stand-Alone Debugging) будут генерировать  для
модуля  информацию  о локальных символах только тогда, когда
вы компилируете модуль с опцией "Локальные  символы"  (Local
Symbol), установленной в значение On.
     Для модулей информация о локальных символах записывает-
ся  наряду  с  объектным  кодом модуля в файле с расширением
.TPU. Информация о локальных символах увеличивает объем фай-
лов  .TPU и требует дополнительную память при компиляции ис-
пользующих этот модуль программ, но на объем и скорость  ра-
боты выполняемых программ она не влияет.
     Команда "Информация о локальных  символах"  обычно  ис-
пользуется  в  сочетании с командой "Информация для отладки"
(Debug Information), которая разрешает или  запрещает  пред-
назначенную для отладки информацию о номерах строк. Обратите
внимание, что команда "Информация о локальных символах"  иг-
норируется,  если  опция "Информация для отладки" (Debug In-
formation) была установлена в значение Off (выключена). Дан-
ная команда эквивалентна директиве компилятора $L.
 
       "Условные определения" (Conditional Defines) 
 
     Эта опция определяет символы, ссылки на которые  содер-
жатся в директивах условной компиляции в исходном коде. Сим-
волы определяются указанием  их  имени.  Несколько  символов
разделяются точкой с запятой. Например, можно определить два
символа Test и Debug, введя в рамке  "Определенные  символы"
(Defined Symbols):
 
     Test;Debug.
 
     Когда компилятор обнаруживает последовательность вида:
 
 {$IFDEF Test}
 Writeln("x =",x:1);
 {SENDIF}
 
то производится генерация кода для Writeln. Это эквивалентно
определению  символов в командной строке с помощью директивы
/Dххх в TPC.EXE.
 
              "Размеры памяти" (Memory Sizes)
 
     Memory sizes (Размеры памяти) позволяет определить кон-
фигурацию  карты памяти для генерируемого файла с кодом. Все
три установки могут быть указаны в исходном коде  с  помощью
директивы компилятора $M.
     Stack size (Размер стека) - позволяет указать размер (в
байтах)  для  сегмента стека. По умолчанию размер равен 16К,
максимальный размер равен 64К.
     Low heap limit (нижний предел динамически  распределяе-
мой области памяти) - позволяет указать минимальный допусти-
мый размер динамически распределяемой памяти (в байтах).  По
умолчанию  минимальный  размер  равен 0К. Если вы запускаете
программу и для обеспечения минимального размера динамически
распределяемой  памяти  не  достаточно памяти, то выполнение
программы прерывается из-за ошибки. 
     High heap limit (верхний предел динамически распределя-
емой  области памяти) - позволяет указать максимальное коли-
чество памяти (в байтах) для динамически распределяемой  об-
ласти.  По  умолчанию  оно  равно  655360, что означает (для
большинства систем) выделение всей доступной памяти под  ди-
намически  распределяемую  область. Это значение должно быть
больше или равно наименьшему размеру динамически распределя-
емой памяти.
 
                   "Компоновщик" (Linker)
 
     Для установки опций встроенного компоновщика используй-
ет элементы следующего меню:
 
-----------------------------------------------------------------
! File   Edit  Run   Compile    Options   Debug   Break/Watch   !
! ---------------------------------|-------------|--------------!
! !     Line 1   Col 1    Insert In|Compiler     |C:NONAME.PAS! !
! !                                |Linker####F7#|            ! !
! !                                | ---------------------    ! !
! !                                | |#Map#File####Off###|    ! !
! !                                | | Link buffer Memory|    ! !
! !                                | ---------------------    ! !
! !                                | Retrieve Opt|            ! !
! !                                ---------------            ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !------------------------Watch------------------------------! !
! !                                                           ! !
! --------------------------------------------------------------!
!   F1-Help F5-Zoom F6-Switch F7-Trace F8-Step F9-Make F10 Menu !
-----------------------------------------------------------------

     Рис. 7.8. Меню "Опции/Компоновщик" (Options/Compiler)
 
               "Табличный файл" (MAP File) -
               по умолчанию - Off (выключено)
 
     Данная опция определяет, сколько информации будет поме-
щено  в  генерируемый файл .МАР (табличный файл Турбо-Паска-
ля). При выборе в меню для опции "Табличный файл" (см.  Рис.
7.9 значения, отличного от Off, табличный файл будет помещен
в тот же каталог, где находятся файлы  с  расширением  .ЕХЕ.
Этот файл имеет расширение .МАР и содержит:
     - Сегменты (segments): только  информацию  о  сегментах
(имя, размер, начальный и конечный сегменты, класс).
     - Общедоступные данные (publics): информацию о  сегмен-
тах,  все  имена  символов  и их адреса, а также точки входа
программ.
     - Подробную информацию (detailed): сенменты, информацию
о  символах и точках входа, таблицы модулей программ и номе-
ров строк.
 
-----------------------------------------------------------------
! File   Edit  Run   Compile    Options   Debug   Break/Watch   !
! ---------------------------------|-------------|--------------!
! !     Line 1   Col 1    Insert In|Compiler     |C:NONAME.PAS! !
! !                                |Linker####F7#|            ! !
! !                                | ---------------------    ! !
! !                                | |#Map#File####Off###|    ! !
! !                                | |Link buffer----------   ! !
! !                                | ------------|Offsets |   ! !
! !                                | Retrieve Opt|Segments|   ! !
! !                                --------------|Publics |   ! !
! !                                              |Detailed|   ! !
! !                                              ----------   ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !------------------------Watch------------------------------! !
! !                                                           ! !
! --------------------------------------------------------------!
!   F1-Help F5-Zoom F6-Switch F7-Trace F8-Step F9-Make F10 Menu !
-----------------------------------------------------------------

     Рис. 7.9 Меню "Табличный файл" (Map File)
 
              "Буфер компоновки" (Link Buffer)
 
     Данная опция позволяет указать компилятору Турбо-Паска-
ля   использовать   для  буфера  связей  оперативную  память
(Memory) или диск (Disk). Использование  оперативной  памяти
экономит  время,  однако  в этом случае для больших программ
может не хватить памяти. Использование диска освобождает па-
мять,  но  замедляет  процесс. Это средство эквивалентно ис-
пользованию команды /L при работе с компилятором ТРС.ЕХЕ.
  
-----------------------------------------------------------------
! File   Edit  Run   Compile    Options   Debug   Break/Watch   !
! ---------------------------------|---------------|------------!
! !     Line 1   Col 1    Insert   |Compiler       |          ! !
! !                                |Environment####|          ! !
! !                                | -------------------------! !
! !                                | |Config#autosave#####Off|! !
! !                                | |Edit auto save      Off|! !
! !                                --|Backup files        On |! !
! !                                  |Tab size            8  |! !
! !                                  |Zoom windows        Off|! !
! !                                  |Screen size            |! !
! !                                  -------------------------! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !------------------------Watch------------------------------! !
! !                                                           ! !
! --------------------------------------------------------------!
!   F1-Help F5-Zoom F6-Switch F7-Trace F8-Step F9-Make F10 Menu !
-----------------------------------------------------------------

     Рис.   7.10.   Меню   "Опции/Среда    программирования"
(Options/Environment)

                                    (Environment)

     Элементы этого меню указывают Турбо-Паскалю, где искать
необходимые файлы для компиляции и компоновки, и обеспечива-
ют подсказку. Эти разнообразные средства позволяют настроить
рабочую  среду Турбо-Паскаля таким образом, чтобы удовлетво-
рять индивидуальным потребностям программистов.
 
         "Автоматическое сохранение конфигурации" 
      (Config Autosave) - по умолчанию Off (выключено)

     Помогает сохранить изменения, произведенные в таких оп-
циях, как средства компилятора и средства среды программиро-
вания. При использовании команды  "Файл/Командный  процессор
ДОС" (File/OS Shell) или команды "Выполнение" (Run) (клавиши
Ctrl-F9 или "Выполнение по шагам" - F8) текущий файл  конфи-
гурации автоматически обновляется (если он был изменен).
 
       "Редактирование с автоматическим сохранением"
      (Edit auto save) - по умолчанию Off (выключено)
 
     Эта опция помогает предотвратить потерю исходного файла
при  использовании "Выполнение" (Run) или командного процес-
сора ДОС с помощью автоматического сохранения редактируемого
файла (если в него были внесены изменения). 
 
        "Сохранение резервные копии исходных файлов"
     (Backup source files) - по умолчанию On (включено)
 
     По умолчанию Турбо-Паскаль  автоматически  создает  ре-
зервную  копию  исходного файла при выполнении команды Save.
Резервная копия сохраняется с тем же самым  именем  файла  и
расширением  .ВАК. С помощью указанного средства можно отме-
нить или активизировать это действие.
 
        "Размер табуляции" (Tab Size) - по умолчанию 8
 
     Данная опция устанавливает жесткий размер табуляции для
редактора.  Размер табуляции может быть от 2 до 16 (по умол-
чанию - 8). Отметим, что должен быть установлен режим  табу-
ляции (Ctrl-O T) с тем, чтобы можно было использовать клави-
шу Tab для введения жесткой табуляции.
 
              "Изменение размеров окон" (Zoom
          Windows) - по умолчанию Off (выключено)
 
     Эта  опция  позволяет  увеличить  окно   редактирования
(Edit), просмотра (Watch) и вывода (Output) до размеров пол-
ного экрана. Вы можете при этом продолжать  переключать  эти
окна,  однако  каждый раз только одно окно является видимым.
При отмене этого средства восстанавливается разбиение экрана
на  окно  редактирования  и  окно  выходных данных (или окно
просмотра).
 
                  "Размер экрана" (Screen 
               Size) - по умолчанию 25 строк
 
     Screen size (Размер экрана) позволяет  выбрать  обычное
изображение  в  25  строк,  или  изображение в 43 строки для
адаптера ЕGА, или изображение в 50 строк  для  адаптера  VGA
(дисплей  с  размером  43/50  строк).  Эти средства доступны
только при наличии соответствующей аппаратной поддержки.
 
                  "Каталоги" (Directories)
 
     Это меню позволяет указать Турбо-Паскалю любой из имею-
щихся каталогов или вызвать файл указания (см. Рис. 7.11).
 
             "Каталог Турбо" (Turbo Directory)
 
     Опция "Каталог Турбо"  (Turbo  directory)  используется
системой  Турбо-Паскаля  для  нахождения  файла конфигурации
(.ТР) и файла подсказки (TURBO.HLP). Для  того,  чтобы  Тур-
бо-Паскаль  нашел  принятый  по  умолчанию файл конфигурации
(TURBO.TP), необходимо при запуске Турбо-Паскаля  установить
этот путь с помощью указанной команды.
-----------------------------------------------------------------
! File   Edit  Run   Compile    Options   Debug   Break/Watch   !
! --------------------------------------|-------------|---------!
! !     Line 1   Col 1    Insert Indent |Compiler     |       ! !
! !                                     |Environment  |       ! !
! !                                     |Parameters   |       ! !
! !                                     |Directories##|       ! !
! !                       ----------------------------------  ! !
! !                       |Turbo######directory:###########|  ! !
! !                       |EXE & TPU  directory:           |  ! !
! !                       |Include  directories:           |  ! !
! !                       |Unit     directories:           |  ! !
! !                       |Object   directories:           |  ! !
! !                       |Pick file name:                 |  ! !
! !                       |Current pick file:              |  ! !
! !                       ----------------------------------  ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !------------------------Watch------------------------------! !
! !                                                           ! !
! --------------------------------------------------------------!
!   F1-Help F5-Zoom F6-Switch F7-Trace F8-Step F9-Make F10 Menu !
-----------------------------------------------------------------

     Рис. 7.11. Меню "Опции/Каталоги" (Options/Directories)
 
                 "Каталог файлов .EXE и .TPU"
                 (.EXE и .TPU Directories)
 
     В этом каталоге хранятся файлы с расширениям .EXE  (вы-
полняемый  файлы)  и .TPU (файлы модулей). Если этот каталог
не указывается, то предполагается использование каталога,  в
котором хранятся исходные файлы. Если "Опции/Компилятор/Файл
МАР" (Options/Compiler/Map File) установлено в значение, от-
личное  от  Off, то здесь хранятся также файлы с расширением
.MAP.
 
    "Каталоги включаемых файлов" (Include directories) 
 
     Указывает каталоги, которые содержат стандартные  файлы
типа Include. Стандартными файлами типа Include (включаемыми
файлами) являются файлы, указанные в  директиве  компилятора
{$I имя_файла}. При указании нескольких каталогов они разде-
ляются точкой с запятой (;), как в команде PATH операционной
системы ДОС.
 
           "Каталоги модулей" (Unit directories)
 
     Данная опция указывает каталоги, которые содержат файлы
модулей Турбо-Паскаля. При указании нескольких каталогов они
разделяются точкой с запятой (;), как в команде РАТН опраци-
онной системы ДОС.
     Например, чтобы использовать модуль  Graph,  вы  можете
создать каталог \TURBO\GRAPH, скопировать туда файлы графики
(по крайней мере файл GRAPH.TPU), и задать в опции "Каталоги
модулей"  \TURBO\GRAPH.  Если вы хотите также хранить другие
модули в каталоге \TURBO\UNITS, то запись в опции  "Каталоги
модулей" будет выглядеть так: 
 
     \TURBO\UNIT;\TURBO\GRAPH
 
     "Каталоги объектных файлов" (Object directories) 
     Эта опция указывает каталоги, содержащие объектные фай-
лы.  Когдз Турбо-Паскаль встречает директиву {$L имя_файла},
он вначале просматривает текущий каталог, а затем  каталоги,
указанные  в  этом пункте. При указании нескольких каталогов
они разделяются точкой с запятой (;),  как  в  команде  РАТН
операционной системы ДОС.
 
           "Имя файла указания" (Pick file name)

     Данная опция определяет имя и расположение файла указа-
ния.  Если  это  поле определено, то в файл указания ведется
постоянная запись. В обратном случае  запись  файл  указания
ведется только в том случае, если не является пустым элемент
Current pick file (Текущий  файл  указания).  Поскольку  для
файла  указания  можно  использовать  любое  имя, то это имя
должно быть сохранено в файле конфигурации,  если,  конечно,
не  используется принятое по умолчанию имя TURBO.PCK. Допол-
нительные сведения об этом средстве вы можете найти в после-
дующем разделе "Файл указания и список указания".
 
        "Текущий файл указания" (Current pick file)
 
     Задает имя и расположение текущего файла указания, если
таковой  имеется. В этом файле хранится текущая информация о
списке указания в случае, если имя файла указания изменилось
или если вы вышли из интегрированной среды программирования.
Обычно этот элемент выключен и используется в информационных
целях.  Дополнительные  сведения  можно  найти в последующем
разделе "Файл указания и список указания".
 
             "Сохранение опций" (Save options)
 
     Это средство позволяет сохранить в  файле  конфигурации
(по  умолчанию  в  файле  TURBO.TP) все выбранные вами опции
(Compiler, Environment  и  Directories).  При  запуске  Тур-
бо-Паскаль  просматривает  текущий  каталог  в поисках файла
TURBO.TP; если файл не найден, то Турбо-Паскаль просматрива-
ет каталог TURBO. Если файл не обнаружен и там, а вы работа-
ете в операционной системе ДОС версии 3.х, то будет просмот-
рен еще каталог выполняемых файлов (или каталог, из которого
был запущен TURBO.EXE).
 
         "Восстановление опций" (Retrieve Options)
 
     Загружает файл конфигурации, сохраненный ранее  по  ко-
манде "Сохранение опций" (Save Options).
 
-----------------------------------------------------------------
! File   Edit  Run   Compile    Options   Debug   Break/Watch   !
! ---------------------------------|-------------------------|--!
! !     Line 1   Col 1    Insert   |Evaluate##########Ctrl-F4|! !
! !                                |Call Stack        Ctrl-F3|! !
! !                                |Find Procedure           |! !
! !                                |Integrated Debugging   On|! !
! !                                |Stand-Alone debugging Off|! !
! !                                |Dispaly Swapping    Smart|! !
! !                                |Refresh Display       8  |! !
! !                                ---------------------------! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !------------------------Watch------------------------------! !
! !                                                           ! !
! --------------------------------------------------------------!
!   F1-Help F5-Zoom F6-Switch F7-Trace F8-Step F9-Make F10 Menu !
-----------------------------------------------------------------

     Рис. 7.12. Меню "Отладка" (Debug)
 
         "Вычисление" (Evaluate) - клавиши Ctrl-F4
 
     Выводит окно с тремя рамками, позволяющими  вам  ввести
имя любой переменной или выражение, увидеть текущее значение
переменной или выражения, а также задать новое значение  пе-
ременной (см. Рис. 6.1 в Главе 6). Вместо этой команды можно
использовать клавиши Ctrl-F4.
     Окно вычисления (Evaluate) может использоваться незави-
симо от того, выполняете ли вы отладку. Если вы не отлажива-
ете программу, то переменные будут недоступны.  Однако  окно
вычислений можно использовать в качестве калькулятора, вводя
в него выражения-константы, например 3*615. Во время отладки
можно  ссылаться  на  переменные  и  выражения программы. По
умолчанию они беруться на текущей позиции курсора в активном
окне. Таким образом, вы можете позиционировать курсор на ин-
тересующий вас идентификатор, а затем выбрать  команду  "Вы-
числение"  (Evaluate) (Ctrl-F4). При этом вам не понадобится
вводить имя переменной. 
     После выбора рамки "Вычисление"  (Evaluate)  для  ввода
дополнительного  текста  (начиная  от позиции курсора) можно
использовать клавишу "Стрелка вправо" ("->").  Это  особенно
полезно  при  вычислении  выражения, включающего в себя нес-
колько термов.
     Значения некоторых выражений можно модифицировать.  Для
этого используются спецификаторы формата. Подробнее это мож-
ное средство описывается в Главе 6.
 
        "Стек вызова" (Call Stack) - клавиши Ctrl-F3
 
     Во время отладки эта команда выводит окно, показывающее
текущий  стек  вызова,  в  котором перечисляются обращения к
процедурам и функциям, приведшие вас в данную точку програм-
мы. Показываюся также параметры каждого вызова. К этой функ-
ции можно получить доступ только во время отладки, в  других
случаях она работать не будет. Подробнее она описана в Главе
6.
 
             "Поиск процедуры" (Find Procedure)
 
     Эта команда позволяет  вам  ввести  имя  процедуры  или
функци  и  выполнить ее поиск в текущей программе, загружая,
если это потребуется, включаемые файлы и  модули.  Доступ  к
этому  средству можно получить только во время отладки прог-
раммы. Подробнее оно описано в  разделе  "Поиск  процедур  и
функций" в Главе 6.
 
                 "Интегрированная отладка" 
    (Integrated Debugging) - по умолчанию On (включено)
      Когда эта опция установлена в состояние On  (включена),
то  разрешена  отладка в интерактивной среде. При этом можно
устанавливать точки останова, выполнять программу по шагам и
работать к командами отладки в меню "Выполнение" (Run). Убе-
дитесь, что команда "Опции/Компилятор/Информация для  отлад-
ки"  (Options/Compiler/Debug Information) установлена в сос-
тояние On (включена), или в исходном коде  использована  ди-
ректива  компилятора  {$D+}.  Только  после этого вы сможете
проходить по шагам программу.
     В противном случае, если установлено значение  Off,  то
таблицы  отладчика перед запуском программы формароваться не
будут, и выполнение ее по шагам или установка точек останова
поддерживаться не будет. Использование данной опции, когда в
команде "Компиляция/Назначение" (Compile/Destination) задано
значение Disk позволяет вашей программе в интерактивной сре-
де получить доступ к большему объему свободной памяти.
 
                   "Автономная отладка" 
   (Stand-Alone Debugging) - по умолчанию Off (выключена)
 
     При задании значения On (включено) и  когда  в  команде
"Компиляция/Назначение"  установлено значение Disk, в выпол-
няемый файл .EXE добавляется информация для отладки, которая
может использоваться автономным Турбо-отладчиком.
     При задании в команде "Автономная отладка" значения Off
(выключена) или значения Memory (память) в команде "Компиля-
ция/Назначение" (Compile/Destination) она не действует.
 
                   "Переключение экрана" 
   (Display Swapping) - по умолчанию Smart (эффективное)
 
     Переключение экрана имеет три  значения  -  эффективное
(Smart), пошаговое (Always) и никакого (Never). 
     Когда вы отлаживаете программу с  опцией  "Переключение
экрана",  установленной  в значение Smart, то отладчик прос-
матривает выполняемый код и анализирует, влияет ли он на эк-
ран  (то  есть выводит ли на экран информацию). Если это так
(или если в нем вызывается функция), то экран на  то  время,
пока  осуществляется  вывод,  переключается из интерактивной
среды в экран "Выполнение" (Execution), а затем переключает-
ся обратно. В противном случае переключения не происходит.
     Если в качестве текущего установлено значение Smart, то
отладчик  будет выполнять переключение экрана при выполнении
вызова процедуры или функции, даже если подпрограмма не  вы-
полняет вывода на экран. 
     Кроме того, в некоторых случаях экран  редактора  может
изменяться без переключения (например, если на экран выводит
информацию программа обработки прерывания от таймера).
     Если установлено значение Always (пошаговое), то коман-
да "Переключение экрана" (Display Swapping) осуществляет пе-
реключение экрана при каждом выполнении оператора. Это  зна-
чение нужно выполнять тогда, когда ожидается "затирание" ин-
формации на экране редактора данными, выводимями программой.
     Если в команде "Переключение  экрана"  задано  значение
Never  (никакого), то отладчик не будет выполнять переключе-
ние экрана. Это можно использовать  для  отладки  той  части
кода,  в  которой, как вам известно, не выполняется вывод на
экран (см. также пояснения  к  команде  "Обновление  экрана"
(Refresh Display).
 
           Примечание: Если вы выполняете отладку в режиме с
      двумя  мониторами  (то есть используется переключатель
      командной строки /D), то вывод программы можно  наблю-
      дать  на  одном  мониторе,  а экран Турбо-Паскаля - на
      другом. Такми образом, Турбо-Паскаль не будет переклю-
      чать  экраны и команда "Переключение экранов" (Display
      Swapping) действовать не будет.
 
           "Обновление экрана" (Refresh Display)
 
     Эту опцию можно использовать для восстановления  экрана
интегрированной интерактивной среды. Ее удобно использовать,
если ваша программа случайно вывела что-либо на экран и  за-
терла содержащуюся на нем информацию.

          Меню "Прерывание/Просмотр" (Break/Watch)
 
     Когда         "Отладка/Интегрированная         отладка"
(Debug/Integrated   Debugging)  установлено  в  значение  On
(включена), то используйте  команды  меню  "Прерывание/Прос-
мотр"  (Break/Watch)  для  добавления  и удаления записей из
окна просмотра (Watch), а также для установки и отмены точек
останова.  При этом вы можете добавить просматриваемое выра-
жение, удалить его, отредактировать, удалить все  просматри-
ваемые  выражения,  переключить точку останова, отменить все
точки останова или выполнить программу  до  следующей  точки
останова.
 
-----------------------------------------------------------------
! File   Edit  Run   Compile    Options   Debug   Break/Watch   !
! ---------------------------------|-------------------------|--!
! !     Line 1   Col 1    Insert   |Add watch         Ctrl-F7|! !
! !                                |Delete watch             |! !
! !                                |Edit watch               |! !
! !                                |Remove all watches       |! !
! !                                |-------------------------|! !
! !                                |Toggle breakpoint Ctro-F8|! !
! !                                |Clear all breakpoints    |! !
! !                                |View next breakpoint     |! !
! !                                ---------------------------! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !                                                           ! !
! !------------------------Watch------------------------------! !
! !                                                           ! !
! --------------------------------------------------------------!
!   F1-Help F5-Zoom F6-Switch F7-Trace F8-Step F9-Make F10 Menu !
-----------------------------------------------------------------

     Рис. 7.13. Меню "Прерывание/Просмотр" (Break/Watch)
 
               "Добавление в окно просмотра" 
               (Add Watch) - клавиши Ctrl-F7
 
     Эта команда позволяет вам добавить элемент  (переменную
или  выражение) в окно просмотра (Watch). Каждый добавляемый
в окно просмотра элемент включается перед текущим выражением
просмотра. По мере добавления новых выражений окно просмотра
увеличивается в размерах, пока  не  достигнет  максимального
значения,  установленного в команде программы TINST "Измене-
ние размеров окон" (Resize Windows). При этом для  просмотра
всех  выражений вы можете использовать "прокрутку" изображе-
ния окна.
 
        "Удаление из окна просмотра" (Delete Watch)
 
     Эта команда удаляет текущее  просматриваемое  выражение
(только  в  том случае, если окно просмотра (Watch) является
видимым). Если вы не находитесь в окне просмортра, то  теку-
щее  выражение просмотра отмечается значком жирной точки (.)
у левой границы окна просмотра. В противном случае, если  вы
находитесь  в  окне  просмотра, оно подсвечивается. При этом
удалить выражение просмотра можно с помощью клавиш  Del  или
Ctrl-Y.
 
       "Реадктирование в окне просмотра" (Edit Watch)
 
     Данная команда выводит текущее  выражение  просмотра  в
рамке "Ввод" (Input). При нажатии клавиши Enter исходное вы-
ражение будет заменено измененной копией. По клавише Esc из-
менения будут отменены.
 
                "Удаление всех выражений из 
            окна просмотра" (Remove All Watches)
 
     Удаляет все элементы из  окна  просмотра  (Watch).  При
этом оно сокращается до минимального размера.
 
     "Переключение точки останова" (Toggle Breakpoint)
 
     Эта команда устанавливает на текущей строке точку оста-
нова.  Если там уже имеется точка останова, то она отменяет-
ся. В редакторе точки останова выводятся в режиме  подсветки
текста.
 
    "Отмена всех точек останова" (Clear All Breakpoints)
 
     Данная команда отменяет все ранее  установленные  точки
останова.
 
                 "Просмотр следующей точки 
              останова" (View Next Breakpoint)
 
     Перемещает в окне  редактирования  курсор  к  следующей
точке останова. При этом никакие операторы не выполняются, а
просто показываются точки останова.  Если  в  программе  нет
больше  точек  останова,  то вы перемещаетесь к первой точке
останова. Этот процесс позволяет пересекать границы файла (в
случае необходимости в редактор загружается другой файл).
 
              Список указания и файл указания
 
     Список указания и файл указания (pick file) используют-
ся вместе для сохранения состояний сеансов редактирования. В
списке указания запоминаются совершаемые  вами  действия  за
время  работы  в интегрированной среде программирования, а в
файле указания хранится информация после того, как вы  поки-
нули интегрированную среду программирования или внесли изме-
нения в нее.
 
        Список указания (Pick List) - клавиши Alt-F3
 
     Список указания представляет собой иерархическое  меню,
расположенное  в  меню File (файл). Он содержит восемь самых
поздних отредактированных файлов, которые загружались в  ре-
дактор. Кроме того, первым файлом в этом списке является те-
кущий файл в редакторе. 
     При выборе опции  "Файл/Указание"  (File/Pick)  поле  с
подсветкой  помещается  на  втором  элементе меню. Это будет
файл, последним загруженный в редактор. Выбрав этот файл или
переместившись по списку и выбрав какой-либо другой файл, вы
тем самым загрузили его в редактор. При этом редактор помес-
тит курсор в то место, где он находился при последнем редак-
тировании. Кроме того, любые маркеры и отмеченные  маркерами
блоки будут находиться там, где вы их поставили. 
     Список указания является удобным способом для перемеще-
ния  из одного файла в другой и обратно. Нажатие оперативной
клавиши Alt-F3 поместит вас сразу в список указания, а затем
последовательно  нажимая Alt-F3 Enter вы сможете переключать
два файла. Если нужный вам файл не находится в списке указа-
ния,  вы можете выбрать последний элемент в меню списка ука-
зания "--load file--" или нажать F3 (Load file) с тем, чтобы
загрузить этот файл.
 
                "Файл указания"  (Pick File)
 
     Файл указания используется для  хранения  информации  о
редакторе,  включая  список  указания.  Для каждого элемента
списка указания сохраняется имя файла,  расположение  файла,
маркеры  и  маркеры блоков. Помимо информации о каждом файле
файл указания содержит данные о состоянии редактора при  ва-
шем  последнем выходе из него. Эти данные включают последние
строки поиска и замены и средства поиска.
     Для создания файла указания необходимо  определить  имя
файла указания. Для этого в элемент Pick file name (Имя фай-
ла         указания)          меню          "Опции/Каталоги"
(Options/Directories)вводится имя файла. Если это поле опре-
делено, то список указания каждый раз обновляется  на  диске
при выходе из интегрированной среды программирования.
 
                  Загрузка файла указания
                              
     Если имя файла указания определено, то  интегрированная
среда  программирования  попытается загрузить его. Имя файла
указания можно определить несколькими способами.  Вы  можете
использовать программу установки интегрированной среды прог-
раммирования Турбо-Паскаля TINST для  постоянного  включения
имени  файла указания в файл TURBO.EXE. Можно загрузить файл
конфигурации, содержащий имя файла указания. Или  вы  можете
ввести имя файла указания. Если имя файла указания определе-
но, но интегрированная среда программирования не  может  его
найти, то выдается сообщение об ошибке. 
     Если имя файла указания не определено, то интегрирован-
ная среда программирования осуществляет поиск файла указания
с именем TURBO.PCK, принятым по умолчанию, сначала в текущем
каталоге, затем в каталоге TURBO и, если вы работаете в опе-
рационной системе ДОС версии 3.х, то в каталоге  выполняемых
файлов.
     Как только файл указания загружен, интегрированная сре-
да программирования запоминает его имя и расположение с тем,
чтобы обновить этот файл после того, как вы, изменив катало-
ги, завершите работу.
 
                 Сохранение файлов указания
 
     Если файл указания не был загружен и элемент "Имя файла
указания"  (Pick file name) остался пустым, то интегрирован-
ная среда программирования не сохранит этот  файл  на  диске
при завершении работы. 
     Обычно файлы указания сохраняются только при завершении
работы в интегрированной среде программирования. Однако, бы-
вают случаи, когда текущий файл указания обновляется и  соз-
дается новый файл указания (или возобновляется).
     При изменении имени файла указания интегрированная сре-
да  программирования  запишет текущий список указания в пос-
ледний файл указания, а затем активизирует файл  указания  с
новым именем.
 
             Файлы конфигурации и файл указания
 
     Поскольку имя файла указания хранится в файле  конфигу-
рации,  то для изменения файлов указания можно загрузить но-
вый файл конфигурации. Если имя файла указания в файле  кон-
фигурации  отличается  от  имени текущего файла указания, то
текущий файл указания обновляется и загружается  новый  файл
указания.
     Отметим, что один и тот же файл указания может  исполь-
зоваться  в двух файлах конфигурации; поэтому загрузка файла
конфигурации с файлом указания,  имя  которого  совпадает  с
именем  текущего файла указания, не повлияет ни на файл ука-
зания, ни на текущий список указания.



 
                          ГЛАВА 8
 
              Справочник по командным строкам
 
     Для тех, кто привык использовать  обычные  редакторы  и
расширенные пакетные файлы, Турбо-Паскаль предлагает вариант
компилятора, работающего в режиме командной строки,  который
не  использует  интегрированной  среды программирования (как
TURBO.EXE). Этот вариант компилятора, идентичный  тому,  что
находится в TURBO.EXE, называется TPC.EXE и располагается на
том же дистрибутивном диске.
 
               Использование компилятора ТРС
 
     Использование TPC.EXE не сложно: в ответ  на  подсказку
введите:
 
     tpc [параметры] имя_файла [параметры]
 
     Если имя файла не имеет расширения, то ТРС будет  пред-
полагать  расширение .PAS. Если вам нужно, чтобы транслируе-
мый файл не имел вообще расширения, то после имени файла не-
обходимо   поставить   точку  (.).  Если  в  исходном  файле
"имя_файла" содержится программа, то ТРС создаст выполянемый
файл  с  расширением  .ЕХЕ и именем "имя_файла", а если этот
файл содержит модуль, то ТРС создаст файл модуля  Турбо-Пас-
каля  (unit)  с именем "имя_файла.TPU". Если вы опустите как
параметры, так и имя-файла, то ТРС выдаст  краткое  описание
синтаксиса и параметров командной строки.
     Вы можете указать несколько параметров для  ТРС.  Пара-
метр состоит из косой черты (/), за которой следует один или
два символа - или буква или знак доллара с буквой. В некото-
рых  случаях после этих символов в параметре указывается до-
полнительная информация, например, имя пути или  имя  файла.
Параметры могут задаваться в любом порядке и могут стоять до
и/или после имени файла.
 
                   Параметры компилятора
 
     В интегрированной интерактивной  среде  у  вас  имеется
возможность  задавать  различные параметры (опции) с помощью
системы меню. Компилятор ТРС  позволяет  использовать  боль-
шинство  из этих параметров, используя описанный ране метод.
Имеется также альтернативный метод: вместо косой черты можно
использовать знак "-". Однако параметры, начинающиеся с чер-
ты, должны отделяться друг от  друга  пробелами.  Параметры,
начинающиеся косой чертой, не нужно разделять пробелами, од-
нако, это  допускается.  Поэтому,  например,  следующие  две
строки эквивалентны и допустимы:
 
 tpc -ic:\tp\include -xname.dta sortname -$r- -$f+
 tpc /ic:\tp\include/xname.dta sortname /$r-/$f+

     В первой строке используется черта и поэтому по крайней
мере  один пробел отделяет один параметр от другого. Во вто-
рой строке используется косая черта, поэтому  разделений  не
требуется.
     В Таблице 8.1  дан  список  всех  параметров  командной
строки  и  приведены  их эквиваленты в интегрированной среде
программирования. В некоторых случаях  одиночному  параметру
командной строки соответствуют две или три команды меню.
 
                                               Таблица 12.1
                 Параметры командной строки
------------------------------------------------------------
Командная          Элемент меню
строка             и значение по умолчанию
------------------------------------------------------------
/$A+            Опции/Компилятор/Выравнивание данных...Слово
/$A-            Опции/Компилятор/Выравнивание данных...Байт
/$B+            Опции/Компилятор/Вычисление булевских выра-
                жений...Выполнить
/$B-            Опции/Компилятор/Вычисление булевских выра-
                жений...По короткой схеме
/$D+            Опции/Компилятор/Информация отладчика...Ус-
                тановлено
/$D-            Опции/Компилятор/Информация отладчика...От-
                менено
/$E+            Опции/Компилятор/Емуляция...Включено
/$E-            Опции/Компилятор/Емуляция...Выключено
/$F+            Опции/Компилятор/Использовать дальние вызовы
                ...Установлено
/$F-            Опции/Компилятор/Использовать дальние вызовы
                ...Установлено
/$I+            Опции/Компилятор/Проверка ввода/вывода...Ус-
                тановлено
/$I-            Опции/Компилятор/Проверка ввода-вывода...От-
                менено
/$L+            Опции/Компилятор/Буфер связи...Память
/$L-            Опции/Компилятор/Буфер связи...Диск
/$Msss,min,max  Опции/Компилятор/Размеры памяти
/$N+            Опции/Компилятор/Числовая обработка...Аппа-
                ратно
/$N-            Опции/Компилятор/Числовая обработка...Про-
                граммно
/$O+            Опции/Компилятор/Разрешение использовать 
                оверлеи...Включено
/$O-            Опции/Компилятор/Разрешение использовать 
                оверлеи...Выключено
/$R+            Опции/Компилятор/Проверка диапазона...Ус-
                тановлено
/$R-            Опции/Компилятор/Проверка диапазона...От-
                менено
/$S+            Опции/Компилятор/Проверка стека...Установ-
                лено
/$S-            Опции/Компилятор/Проверка стека...Отменено
/$T+            Опции/Компилятор/Генерация табличного файла
                Турбо-Паскаля...Установлено
/$T-            Опции/Компилятор/Генерация табличного файла
                Турбо-Паскаля...Отменено
/$V+            Опции/Компилятор/Проверка строкового пара-
                метра-переменной...Установлено
/$V-            Опции/Компилятор/Проверка строкового пара-
                метра-переменной...Отменено
 
/Dсимвол        Опции/Компилятор/Условные определения
/В              Компиляция/Построение
/Емаршрут       Опции/Каталоги/Каталог выполняемых файлов
/Fсегм:смещ     Компиляция/Найти ошибку
/Iпуть          Опции/Каталоги/Каталоги включаемых файлов 
/М              Компиляция/Создание
/Омаршрут       Опции/Каталоги/Каталоги объектных файлов
/Rпараметры     Компиляция/Назначение...Память
                Выполнение
                Опции/Параметры
                Выполнение
/Тмаршрут       Опции/Каталоги/Каталог Тurbо
/Uмаршрут       Опции/Каталоги/Каталоги модулей
/Хпараметры     Компиляция/Назначение...Диск
                Опции/Параметры
                Выполнение
/$V             Отладка/Автономная отладка...Включено
------------------------------------------------------------
 
             Команда директивы компилятора (/$)
 
     Турбо-Паскаль поддерживает несколько директив  компиля-
тора,  некоторые  из  которых  были рассмотрены в предыдущих
главах. Описание всех директив дано в Приложении С "Справоч-
ного Руководства". Эти директивы обычно вставляются в исход-
ный текст и имеют одну из следующих форм:
 
     {$директива+}
     {$директива-}
     {$директива информация}
 
где директива обозначает одиночную букву.  Кроме  того,  эти
директивы  могут  быть  указаны в командной строке с помощью
параметра /$ или -$. Поэтому
 
tpc mystuff /$r-
 
оттранслирует MYSTUFF.PAS с выключенной проверкой  диапазона
в то время, как
 
     tpc mystuff /$r+
 
оттранслирует его с установленной  проверкой  диапазона.  Вы
можете с этим параметром указать несколько директив компиля-
тора:
 
    tpc mystuff /$r-/$i-/$v-/$f+
 
Однако, помните, что если используется  черта  вместо  косой
черты,  то необходимо разделять директивы хотя бы одним про-
белом:

    tpc mystuff -$r- -$i- -$v- -$f+
 
Кроме того, ТРС позволяет указывать список директив (за иск-
люче- нием директивы $M), разделенных запятыми:
 
    tpc mystuff /$r-,i-,v-,f+
 
Отметим, что необходимо указать только первый знак доллара.
     Единственным исключением для указанного формата являет-
ся  параметр  распределения  памяти ($M). Этот парметр имеет
формат:
 
     /$m стек,мин_разм,макс_разм
 
где стек обозначает размер стека, "мин_разм" обозначает  ми-
нимальный  размер динамически распределяемой области памяти,
а "макс_разм"  обозначает  максимальный  размер  динамически
распределяемой памяти. Все три значения указываются в байтах
и представляют собой десятичные числа, если им не  предшест-
вует знак доллара (б$), который означает, что числа являются
шестнадцатиричными. Поэтому, например,  следующие  командные
строки эквивалентны:
 
 tpc mystuff /$m16384,0,655360
 tpc mystuff /$m$4000,$0,$A0000
 
Отметим, что из-за этого формата нельзя  использовать  пара-
метр $M в списке директив, разделенных запятыми.
 
             Условные определения (параметр /D)
 
     Параметр /D позволяет вам определять  символы  условия,
соответствующие  директиве  компилятора ($DEFINE символ). За
параметром /D должен следовать один или более символов усло-
вия,  разделенный  точкой с запятой (;). Например, следующая
командная строка:
 
     TPC MYSTUFF /DIOCHECK;DEBUG;LIST
 
определяет для компиляции программы MYSTUFF.PAS три  символа
условия:  iocheck,  debug, list. Это эквивалентно внесению в
начало исходного текста программы директив:
 
   {$DEFINE IOCHECK}
   {$DEFINE DEBUG}
   {$DEFINE LIST}
 
     Если задано несколько директив компилятора /D,  то  вы-
полняется конкатенация списков символов. То есть команда:
 
     TPC MYSTUFF /DIOCHECK/DDEBUG/DLIST
 
эквивалентна первому примеру. Параметр /D соответствует  ко-
манде     меню    "Опции/Компилятор/Условные    определения"
(Option/Compiler/Conditional Defines) в TURBO.EXE.
 
                Параметры режима компилятора
 
     Несколько параметров определяют функционирование самого
компилятора.  К  ним относятся параметр /М (Make - создать),
/В (Build - построить) и /F (Find error - найти ошибку),  /L
(Link  Buffer - буфер компоновки) и /Q (Quit - выход). Как и
в случае других параметров здесь  также  можно  использовать
формат  с чертой, однако следует помнить, что параметры сле-
дует разделять хотя бы одним пробелом.
 
              Параметр "Создание" (Make) - /М
 
     Как и TURBO, программа  ТРС  имеет  встроенную  утилиту
Make,  облегчающую  разработку пакетов программ. Параметр /М
указывает ТРС проверить те подпрограммные средства, от кото-
рых  зависит компилируемая программа. Если программа исполь-
зует модули, то ТРС осуществляет поиск файла  с  расширением
.PAS для каждого модуля. При нахождении модуля ТРС сравнива-
ет время и дату его последней модификации с временем и датой
создания  файла с расширением .TPU. Если изменения исходного
файла (.PAS) являются более поздними, то ТРС заново трансли-
рует модуль. Модули из TURBO.TPL в этом процессе не участву-
ют.
     При повторной трансляции модуля ТРС проверяет все зави-
симости  этого  модуля  от других модулей и таким же образом
обрабатывает те модули. В результате все модули,  используе-
мые программой, обновляются перед компиляцией программы.
     Если использовать этот параметр в  предыдущем  примере,
то команда будет иметь вид:
 
     tpc mystuff /m
 
     Этот параметр аналогичен команде Compile/Make в  интег-
рированной среде программирования (TURBO.EXE).
 
           Параметр "Построение" (Build All) - /В
 
     Если вы не уверены, какие файлы были обновлены, а какие
- нет, и если вы не хотите полагаться на средство /М (Make),
определяющее, что нужно обновить, вы можете указать ТРС  об-
новить  все файлы (модули), от которых зависит Ваша програм-
ма. Для этого следует использовать параметр /В. Отметим, что
нельзя  одновременно использовать /М и /В (фактически, это и
не имеет смысла).
     Если использовать этот парметр в предыдущем примере, то
команда будет иметь вид:
 
     tpc mystuff /b
 
Этот  парметр  аналогичен  команде   "Компиляция/Построение"
(Compile/Build)  в  интегрированной  среде  программирования
(TURBO.EXE).
 
         Параметр "Поиск ошибки" (Find Error) - /F
 
     Этот параметр  эквивалентен  команде  "Компиляция/Поиск
ошибки" (Compile/Find error) в TURBO. При обнаружении ошибки
на этапе выполнения, вам сообщается код  ошибки  и  смещение
для  ее  расположения. Этот параметр указаывает ТРС найти, в
каком месте произошла ошибка, при условии,  что  вы  создали
файл  с  расширением .ТРМ, содержащий информацию для отладки
(с помощью директив компилятора $T и $D).
     Допустим, что имеется файл TEST.PAS, содержащий следую-
щую программу:
 
program Test;
var 
  i : integer;
begin
  i := 0;
  I := i div i;  {вызывает ошибку деления на ноль}
end.
 
     Оттранслируем эту программу с помощью компилятора,  ис-
пользующего  командные  строки.  При этом укажем компилятору
сгенерировать табличный файл Турбо-Паскаля (.ТРМ):
 
 tpc test /$t+
 
Если вы дадите команду DIR Test.*, то  ДОС  распечатает  три
файла:
 
 TEST.PAS   - ваш исходный код
 TEST.EXE   - выполняемый файл
 TEST.TPM   - табличный файл Турбо-Паскаля
 
     Теперь запустим Test и получим сообщение об  ошибке  на
этапе выполнения:
 
     C:\ > test
     Runtime error 200 at 0000:0010
     (Ошибка этапа выполнения 200 в 0000:0010)
 
     Отметим, что здесь указан код ошибки (200) и сегмент  и
смещение  (0000:0010  в шестнадцатиричном виде) по указателю
команд (IN) для команды, где произошла ошибка. Как при  этом
установить,  какая  строка  исходного кода вызвала появление
этой ошибки? Для этого нужно просто вызвать компилятор с па-
раметром  поиска  ошибки  на этапе выполнения (Find Error) и
указать сегмент и смещение из сообщения об ошибке:
 
 C:\ >tpc test /f0000:0010
 Turbo Pascal Version 4.0 (Турбо-Паскаль версии 4.0)
 Copyright (C) 1987 Borland Intrnational (Право копирования 
  фирма "Борланд Интернэшнэл")
 TEST.PAS(5): Target address found (указанный адрес найден)
    i := i DIV i;
    ^
 
     Компилятор указывает имя файла и номер строки, а  также
распечатывает  строку  исходного  кода,  вызвавшую появление
ошибки.
     Как эже указывалось ранее, чтобы  компилятор  ТРС  смог
найти ошибку этапа выполнения, ваша программа и модули дожны
компилироваться с разрешением генерации информации  для  от-
ладки  (по  умолчанию  генерация этой информации разрешена).
Если вы запретите с помощью директивы компилятора {$D-}  или
параметра  /$D-  генерацию информации для отладки, то ТРС не
сможет найти ошибки этапа выполнения.
     Команде интерактивной среды  "Компиляция/Поиск  ошибки"
(Compile/Find Error) соответстсвует параметр /F.
 
       Параметр "Буфер компоновки" (Link Buffer) - /L
 
     Данный параметр запрещает организацию в памяти  буферов
при компоновке файлов .TPU для создания файла .EXE.
     Встроенный компоновщик (редактор связей)  Турбо-Паскаля
представляет  собой  двухпроходный  компоновщик.  При первом
просмотре файлов .TPU он помечает каждую процедуру,  которая
вызывается  другими процедурами. На втором проходе, извлекая
отмеченные процедуры из файлов .TPU, он генерирует выполняе-
мый файл .ЕХЕ. По умолчанию между этими двумя проходами фай-
лы .TPU хранятся в памяти, однако,  если  задается  параметр
/L,  то они будут вновь считываться на втором проходе. Меха-
низм, использующийся по умолчанию, повышает скорость работы,
но для успешной компоновки больших программ возможно придет-
ся использовать параметр /L.
     В интегрированной интерактивной среде этот параметр со-
ответствует заданию значения Disk в команде "Опции/Компонов-
щик/Буфер компоновки" (Option/Compiler/Link Buffer).
 
                Параметр "Выход" (Quit) - /Q
 
     Параметр выхода из режима позволяет подавить  вывод  во
время компиляции имен файлов и номеров строк. Когда компиля-
тор ТРС вызывается с этим параметром:
 
     TPC MYSTUFF /Q
 
выходная информация будет ограничиваться сообщением о завер-
шении  компиляции  и  обычной статистикой, выводимой в конце
компиляции.
 
                    Параметры каталогов
 
     ТРС поддерживает несколько параметров, которые  эквива-
лентны      командам      из      меню      "Опции/Каталоги"
(Options/Directories) в интегрированной среде программирова-
ния. Эти параметры позволяют указать пять каталогов, исполь-
зуемых программой ТРС: каталог выполняемых файлов и модулей,
каталог  файлов  включаемых  типа, каталог объектных файлов,
каталог Turbo.
     Первый параметр указывает ТРС, куда поместить созданный
ею выполняемый файл (.EXE) или модуль, а остальные параметры
указывают, где искать файлы определенного типа.
 
                     Параметр "Каталоги
         выполняемых файлов и файлов модулей" (/E)
 
     Этот параметр указывает ТРС, куда нужно поместить  соз-
даваемые файлы .ЕХЕ и 
 
    TPC MYSTUFF /EC:\TP\BIN
 
     Если этот параметр не задан, то ТРС создает файлы  .ЕХЕ
и  .ТРU в том же каталоге, где находятся соответствующие ис-
ходные файлы. Параметр /E соответствует команде  интерактив-
ной среды "Опции/Каталоги/Каталог .ЕХЕ и 
 
 
               Параметр "Каталог Turbo" (/T)
 
     При выполнении ТРС необходимы два файла: файл  конфигу-
рации  ТРС.CFG  и файл резидентной библиотеки TURBO.TPL. Для
их поиска ТРС автоматически просматривает  текущий  каталог.
Если  вы  работаете под управлением операционной системы ДОС
версии 3.х (или более поздней), то также просматривается ка-
талог, содержащий TPC.EXE. Например, вы можете ввести:
    tpc mystuff /tc:\tp\bin
 
           Примечание: Если вам  нужно,  чтобы  параметр  /Т 
      повлиял на поиск  TPC.CFG, он должен быть самым первым 
      аргументом в командной строке. Этот параметр идентичен 
      команде  "Опции/Каталоги/Каталоги   Turbo"  (O/D/Turbo  
      directory) в интерактивной среде.
 
         Параметр "Каталоги включаемых файлов" (/I)
 
     Помимо модулей  Турбо-Паскаль  поддерживает  включаемые
файлы,   указанные   с  помощью  директивы  компилятора  {$I
имя_файла}. В свою очередь вы можете  указать  каталог  (или
каталоги),  в котором  следует искать включаемые файлы (фай-
лы типа Include). Например, если в вашей программе есть нес-
колько директив включения (include), а сами файлы расположе-
ны в каталоге C:TPCINCLUDE, то можно указать следующий пара-
метр:
 
 tpc mystuff /ic:\tp\include
 
ТРС будет осуществлять поиск этих включаемых файлов в  ката-
логе  C:TPCINCLUDE после просмотра текущего каталога. Вы мо-
жете указать несколько имен маршрута, разделив их точками  с
запятой.  Поиск  в каталогах будет осуществляться в заданном
порядке. Этот параметр идентичен команде "Опции/Каталоги/Ка-
талоги включаемых файлов" (O/D/Include directories) в интег-
рированной интерактивной среде. Если  указывается  несколько
директив  /I, то каталоги объединяются вместе. Например, ко-
манда:
 
 tpc mystuff /ic:\tp\include;d:\move
 
идентична команде:
 
 tpc mystuff /ic:\tp\include/id:\move
 
              Параметр "Каталоги модулей" (/U)
 
     При компиляции программы, использующей модули, ТРС вна-
чале  проверяет,  не  находятся  ли  используемые  модули  в
TURBO.TPL (который загружается вместе с ТРС). Если  нет,  то
ТРС  осуществляет  поиск  файла,  имя которого составлено из
имени модуля и расширения ТРС другие каталоги для поиска мо-
дулей. Как и в случае других модулей можно указать несколько
имен маршрута, разделив их точками с запятой. Например, если
ваши  модули  находятся в двух различных каталогах, то можно
ввести примерно следующее:
 
 tpc mystuff /uc:\tp\units1;c:\tp\units2
 
Это укажет ТРС просмотреть C:TPUNITS1 и C:TPUNITS2 для поис-
ка  модулей,  не найденных в TURBO.TPL и в текущем каталоге.
Этот параметр идентичен  команде  интерактивной  среды  "Оп-
ции/Каталоги/Кзталоги модулей" (O/D/Unit directories).
     Если указано несколько директив /I, то каталоги объеди-
няются вместе. Таким образом, команда
 
 tpc mystuff /ic:\tp\include;d:\move
 
идентична команде
 
 tpc mystuff /ic:\tp\include/id:\move
 
         Параметр "Каталоги объектных файлов" (/О)
 
     Турбо-Паскаль позволяет компоновать внешние подпрограм-
мы на языке ассемблера; эта возможность разъясняется в Главе
15 "Справочного руководства".  В  директиве  исходного  кода
{$L} указывается имя объектного файла, который следует ском-
поновать. Параметр компилятора /О указывает ТРС, где  осуще-
ствлять  поиск  этих  объектных файлов (аналогично параметру
I).
     Например, если в программе используется несколько  под-
программ  на языке ассемблера, которые уже оттранслированы и
объектные файлы (.OBJ) которых хранятся в каталоге C:TPCASM,
то вы можете ввести:
 
 tpc mystuff /oc:\tp\asm
 
     Если ТРС не найдет файлы, затребованные программой MYS-
TUFF.PAS,  в текущем каталоге, она продолжит поиск в указан-
ном подкаталоге. Как и в случае парметра $I, вы можете  ука-
зать  несколько подкаталогов, разделив имена путей точками с
запятой (;). Это идентично использованию команды интерактив-
ной интегрированной среды "Опции/Каталоги/Кзталоги объектных
файлов" (O/D/Object directories).
     Если используется несколько директив  /I,  то  каталоги
объединяются вместе. Таким образом, команда
 
 tpc mystuff /ic:\tp\include;d:\move
 
идентична команде
 
 tpc mystuff /ic:\tp\include/id:\move
 
                     Параметры отладки
 
     В интегррованной интерактивной среде  версии  5.0  Тур-
бо-Паскаля для организации помощи на этапе отладки программы
имеются такие средства, как интегрированный отладчик. В  ТРС
также  имеется ряд параметров, позволяющих вам сгенерировать
информацию для отладки, с которой могут работать  автономные
отладчики,  включая,  разумеется,  Турбо-отладчик фирмы Бор-
ланд.
 
                  Параметр "Файл МАР" (/G)
 
     Параметр /G указывает компилятору ТРС,  что  необходимо
генерировать файл буква, показывающая желаемый уровень выво-
димой в файле .МАР информации: S (инофрмация только  о  сег-
ментах), Р (сегменты и общедоступные имена) или D (подробная
информация).
     В отличии от файлов .ЕХЕ и .TPU, имеющих двоичный  фор-
мат,  файл  .МАР  представляет собой обычный текстовый файл,
который можно вывести на устройсво печати  или  зугрузить  в
редактор Турбо-Паскаля. Этот файл разделен на три раздела:
 
     - сегменты;
     - общедоступные имена;
     - номера строк.
 
     Параметр /GS выводит только раздел сегментов, /GP выво-
дит раздел сегментов и общедоступных имен, а /GD выводит все
три раздела.
     Для программ и модулей, скомпилированных с  директивами
{$D+,L+}  (они используются по умолчанию) в разделе общедос-
тупных имен указываются все глобальные пременные,  процедуры
и  функции;  в  разделе с номерами строк показаваются номера
строк всех процедур и функций данной программы. При  исполь-
зовании директив {$D+,L-} в разделе общедоступных имен пере-
числяются только символы, определенные в интерфейсной секции
модуля.  Наконец, для программ и модулей, скомпилированных с
директивой {$D-}, отсутствуют записи  в  секции  с  номерами
строк.
     Параметр /G соответствует команде  интерактивной  среды
"Опции/Компоновщик/Файл МАР" (Option/Linker/Map File).
 
             Параметр "Автономная отладка" (/V)
 
     Когда в командной строке указывается параметр  /V,  ТРС
добавляет в конец файла .ЕХЕ инофрмацию для отладки, с кото-
рой может работать Турбо-отладчик.  Турбо-отладчик  (TD.EXE)
представляет собой мощный автономный отладчик, который может
работать с выполняемыми файлами  Турбо-Паскаля,  Турбо-Си  и
Турбо-Ассемблера.  Он  включает в себы отладку на уровне ма-
шинных и исходных кодов, расширенное использование точек ос-
танова (включая точки останова по условию) и позволяет отла-
живать большие программы с использованием виртуальных  машин
и  процессора 80386 и отладку программ на двухмашинном комп-
лексе (соединенных черех порт).
     Хотя информация для отладки, генерируемая по  директиве
/V,  увеличивает объем результирующего файла .ЕХЕ, на реаль-
ный код в файле .ЕХЕ она влияния не оказывает, и при  выпол-
нении  их  среды  ДОС для файла .ЕХЕ не потребуется дополни-
тельной памяти.
     Размер дополнительной присоединяемой к файлу  .ЕХЕ  ин-
формации зависит от директив компилятора $L и $D в каждой из
программ или модулей. Для программ, компилируемых с директи-
вами  {$D+,L+}  (по умолчанию), отладчику будут известны все
константы, переменные, типы, процедуры и  фукнции.  При  ис-
пользовании  директив  {$D+,L-}   отладчику  будут  известны
только символы, определенные в интерфейсной  секции  модуля.
Наконец, для программ и модулей, скомпилированных с директи-
вой {$D-}, при отладке прикладной задачи отладчик не  сможет
выводит на экран строки исходного текста.
     Параметр /V соответствует установки значения On  (вклю-
чено)      в      опции     "Отладка/Автономная     отладка"
(Debug/Stand-Alone Debugging) интерактивной среды.
 
                        Файл TPC.CFG
 
     Вы можете указать список параметров в файле  конфигура-
ции  TPC.CFG, который можно использовать вместе с параметра-
ми, вводимыми в командной строке. Каждая  строка  в  TPC.CFG
представляет собой дополнительный аргумент командной строки,
вставляемый  перед  действительными  аргументами   командной
строки.  Таким образом, создав файл TPC.CFG, вы можете изме-
нить любую принятую по умолчанию установку параметра  коман-
дной строки.
     ТРС позволяет вводить один и тот же параметр  командной
строки  несколько раз, при этом игнорируются все его вхожде-
ния за исключением последнего. Поэтому даже если вы изменили
некоторые  установки  в TPC.CFG, вы можете отменить их в ко-
мандной строке.
     При запуске ТРС осуществляет поиск  TPC.CFG  в  текущем
каталоге.  Если там его нет и если вы работаете под управле-
нием операционной системы ДОС версии 3.х, то просматривается
также  каталог  запуска  (то  есть  каталог,  где  находится
TPC.EXE). Для того, чтобы ТРС просмотрела также и другие ка-
талоги (помимо текущего), следует указать в командной строке
в качестве первого параметра параметр /Т.
     Если TPC.CFG содержит строку, которая не  начинается  с
косой  черты (/) или просто черты (-), то эта строка опреде-
ляет принимаемое по умолчанию имя файла  для  компиляции.  В
этом  случае при запуске ТРС с пустой командной строкой (или
с командной строкой, содержащей только  параметры  командной
строки)  будет  оттранслирован  файл  с  именем, принятым по
умолчанию, а не выдано сообщение с указанием синтаксиса.
     Здесь приведен пример файла TPC.CFG, в котором  опреде-
лено несколько каталогов:
 
 /tc:\tpc\bin\turbo
 /uc:\tpc\units
 /oc\tpc\asm
 
Теперь, если вы введете команду:
 
     tpc mystuff
 
в ответ на системную подсказку, то  ТРС  будет  действовать,
как если бы вы ввели следующее:
 
tpc /tc:\tpc\bin/turbo /uc:\tpc\units /uc:\tpc\asm mystuff
 
и оттранслирует MYSTUFF с использованием  указанных  катало-
гов.
     Кроме того, Вы можете указать в файле конфигурации  оп-
ределенные наборы параметров. Например, если вам нужно, что-
бы проверка диапазона была всегда отменена, а программа  вы-
полнялась  сразу  после  компиляции,  то  вы можете изменить
TPC.CFG следующим образом:
 
 /tc:\tpc\bin\turbo
 /uc:\tpc\units
 /oc:\tpc\asm
 /$R-
 /r
 
     Затем вы можете просто ввести:
 
 tpc mystuff
 
с тем, чтобы сгенерировать такую командную строку:
 
tpc /tc:\tpc\bin/turbo /uc:\tpc\units /oc:\tpc\asm /$R- /x
 mystuff
 





Яндекс цитирования