ГЛАВА 7. СПРАВОЧНИК ПО ИНТЕГРИРОВАННОЙ УСОВЕРШЕНСТВОВАННОЙ СРЕДЕ. Turbo Pascal дает возможность легко и эффективно писать, редактировать, компилировать, редактировать связи и отлаживать программы. Обо всем этом можно узнать, ознакомившись с платформой программирования фирмы Borland (известной также как интегрированная усовершенствованная среда, коротко IDE). Turbo Pascal среда также предоставляет дополнительные возможности для еще более удобного написания программ: - размножающиеся, передвигающиеся окна с изменяющимися размерами; - поддержка мышки; - диалоговые окна; - команды вырезания-и-вставки (также разрешается копирование из окна подсказки и между окнами редактирования); - способности замены-и-поиска; - способности вывода на печать; - макроязык редактора; - мультифайловое редактирование файлов до 1 Мб размером. Эта глава рассказывает о том, как запустить Turbo Pascal и выйти из него, затем раскрывает смысл индивидуальных элементов меню, диалоговых окон, кнопок и так далее. Для введения в основные компоненты IDE, Вы можете: - Вернуться к главе 1. Эта глава содержит общую информацию об IDE и затем позволяет Вам начать программировать с среде. - Запустить TPTOUR. Это интерактивное руководство эмулирует IDE Turbo Pascal, чтобы показать, как открыть файлы, редактировать их, компилировать, запускать и отлаживать программы, плюс получение навыков в общем управлении окнами. - Воспользуйтесь расширенной встроенной системой справочной информации Turbo Pascal. Можно получить информацию о любом аспекте IDE с помощью нажатия клавиши F1; специфическую справочную информацию по языку можно получить при нажатии Ctrl-F1, находясь в окне редактора. Примечание. Все окна, диалоговые окна и так далее, описанные в этой главе, изображаются так, как можно увидеть их на монохромном мониторе. Запуск и выход. Запуск Turbo Pascal прост. Нужно только войти в справочник Turbo Pascal и набрать TURBO в командной строке DOS. Если Вам хочется, можно использовать одну или более опций (и имен файлов) с командой TURBO. Эти опции делают возможным использование двух мониторов, расширенной (expanded) памяти, RAM дисков, LCD экранов и EGA палитры и т.д. Опции командной строки. Опциями командной строки для интегрированной среды Turbo Pascal являются: /C, /D, /E, /G, /L, /N, /P, /SX, /T, /X. Эти опции используют следующий синтаксис: turbo [option] files Наличие знака + (или пробела) после директивы включает ее; наличие знака - после директивы отключает ее. Например, turbo -g -p- myfile делает возможным сохранение графической памяти и невозможным замену палитры. Опция /С. При использовании опции /С, за которой следует имя файла конфигурации, Turbo Pascal загрузит этот файл конфигурации при запуске. Oпция /D. Oпция /D заставляет работать Turbo Pascal в режиме двойного монитора, если имеется соответствующее аппаратное обеспечение (например, монохромная плата и цветная плата); в противном случае, опция /D игнорируется. Используйте режим двух мониторов, когда Вы запускаете или отлаживаете программу, или временно выходите в DOS (File/DOS Shell). Если в Вашей системе имеется два монитора, DOS рассматривает один из них как активный монитор. Используйте команду DOS MODE для переключения между двумя мониторами (MODE C080, например, или MODE MONO). В режиме двойного монитора обычный экран Turbo Pascal появится на неактивном мониторе, а вывод программы пойдет на активный монитор. Таким образом, когда Вы наберете TURBO /D на подсказку DOS на одном мониторе, Turbo Pascal появится на другом мониторе. Если Вы хотите тестировать свою программу на конкретном мониторе, выйдите из Turbo Pascal, переключите активный монитор на тот, с которым хотите тестировать, и вновь наберите команду TURBO /D. Вывод программы пойдет на тот монитор, где вы набрали команду TURBO. При использовании oпции /D помните о следующем: - Не меняйте активный монитор (например, с помощью команды DOS MODE), когда вы временно выходите в DOS (File/DOS Shell). - Пользовательские программы, которые прямо обращаются к портам видеоплаты неактивного монитора, не поддерживаются и могут привести к непредсказуемым последствиям. - Когда Вы запускаете или отлаживаете программы, которые делают явным использование двух мониторов, не используйте опцию двух мониторов Turbo Pascal (/D). Опция /E. Используйте опцию /Е для изменения размера кучи редактора. Размером по умолчанию является 28К - это минимальная установка; максимальная - 128К. Установка кучи редактора более 28К улучшит работу IDE, если Вы используете медленный диск как устройство перекачки. Если у Вас есть EMS память или Вы поместили файл обмена на диск RAM (см. опцию /S), то не изменяйте установку по умолчанию. Опция /G. Используйте опцию /G для полного хранения графической памяти во время отладки графических программ в системах EGA, VGA и MCGA. С Graphics Screen Save, установленной в On, IDE резервирует еще 8К для буфера (которые будут помещены в EMS, если это будет возможно). Опция /L. Используйте опцию /L при запуске Turbo Pascal на LCD (жидко-криталический) экране. Опция /N. Опция /N делает возможной или невозможной проверку "снежности" CGA; по умолчанию она включена. Отключите эту опцию, если Вы работаете с CGA, который не использует "снег" во время обновления экрана. Эта опция не имеет никакого действия, если Вы не используете CGA. Опция /О. Используйте опцию /О для изменения размера кучи оверлея IDE. По умолчанию задано 112К. Минимальный размер, который можно установить - 64К; максимальный - 265К. Если имеется EMS память, можно уменьшить размер кучи оверлея без ухудшения работы IDE, и более того, освободить больше памяти для компиляции и отладки своих программ. Опция /P. Используйте опцию /P, которая управляет палитрой на EGA видеоадаптерах, когда Ваша программа изменяет регистры EGA палитры. EGA палитра будет восстанавливаться всякий раз при переключении экрана. Вообще, Вам не нужно использовать эту опцию, если Ваша программа не изменяет регистры EGA палитры или если Ваша программа не использует BGI для изменения палитры. Опция /S. Если Ваша система не имеет доступной памяти EMS, используйте опцию /S для задания устройства и пути доступа области "быстрого" обмена, такой как диск RAM (например, /Sd:\, где d - это устройство). Если справочник обмена не задан, то в текущем справочнике создается файл обмена. Опция /T. Отключите опцию /T, если Вы не хотите, чтобы IDE загружала TURBO.TPL при запуске. Если TURBO.TPL не загружен, то Вам необходим модуль System (SYSTEM.TPU), доступный для компиляции или отладки программ. Вы можете увеличить объем IDE путем отключения опции /T и извлечения SYSTEM.TPU из TURBO.TPL (используя TPUMOVER). Опция /W. Используйте опцию /W, если Вы хотите изменить размер кучи окна. Установка по умолчанию - 32К. Минимальная установка - 24К; максимальная - 64К. Уменьшите размер кучи окна, чтобы увеличить размер доступной памяти для своих программ, если Вам не нужно иметь много открытых окон в своей конфигурации окон. Установка по умолчанию обеспечивает хорошую работу IDE и достаточное пространство для окон. Опция /Х. Отключите опцию /Х, если Вы не хотите, чтобы IDE использовала EMS. По умолчанию эта опция включена. В этом случае, IDE совершенствует выполнение посредством размещения оверлейного кода, данных редактора и других ресурсов системы в EMS. Выход из Turbo Pascal. Для выхода из Turbo Pascal существуют два способа. - Для того чтобы выйти из Turbo Pascal насовсем, выберите File /Exit (или нажмите Alt-X). Если Вы сделали изменения, которые не сохранили, Turbo Pascal выдаст запрос, хотите ли Вы сохранить свою программу перед выходом. - Для того чтобы выйти из Turbo Pascal для набора команд в командной строке DOS, выберите File/DOS Shell. Turbo Pascal остается в памяти, но Вы переходите в DOS. Вы можете набрать любые команды DOS и даже можете запустить другие программы. Когда Вы готовы вернуться в Turbo Pascal, наберите EXIT в командной строке и нажмите Enter. Turbo Pascal появится перед Вами вновь в таком виде, в каком Вы его оставили. Ё (System) меню (системное). ┌─────┐ ┌──────────┐ │ Alt │ │ ПРОБЕЛ │ └─────┘ └──────────┘ Если Вы войдете в это меню, то увидите несколько общих системных команд (About, Clear Desktop, Refresh Display). About (о). При выборе этой команды появится диалоговое окно, которое покажет информацию о версии Turbo Pascal. Для закрытия этого окна нажмите Esc или ПРОБЕЛ, или отметьте кнопку OK (или нажмите Enter). Refresh Display (восстановление экрана). Можно использовать эту опцию для восстановления экрана IDE. Это пригодится, если Ваша программа случайно перекрыла экран IDE, а Вам необходимо восстановить его. Clear Desktop (очищение панели экрана). Выберите Ё/Clear Desktop для закрытия всех окон и очищения всех архивных списков. Меню File (файлы). ┌─────┐┌─────┐ │ Alt ││ F │ └─────┘└─────┘ Меню File позволяет открывать и создавать файлы с программами в окнах редактора. Это меню позволяет также сохранять изменения, выполнять другие файловые функции, осуществлять временный выход в DOS и выходить совсем. Open F3 (открыть). File/Open команда (Файл/Открыть) показывает диалоговое окно с выбором программных файлов для их открытия в окне редактора. Ниже показано, как выглядит это диалоговое окно: ╔═[█]═════════════ Open a File ═════════════════╗ ║ ┌──────────────────────────────┐ ║ ║ │Name │ ║ ║ │ *.PAS │∙││ [ Open ] ║ ║ └──────────────────────────────┘ ║ ║ Files ║ ║ APP.PAS │ BRICKS.PAS [ Replace ] ║ ║ AOR.PAS │ CARDDEMO.PAS ║ ║ ARTY.PAS │ CARDFILE.PAS ║ ║ BGIDEMO.PAS │ CARDGEN.PAS ║ ║ BGILINK.PAS │ CARDS.PAS ║ ║ BOUNDS.PAS │ CIRCULAR.PAS [ Cancel ] ║ ║ BREAKOUT.PAS │ COMPBOX.PAS ║ ║ BREAKPTS.PAS │ ║ ║ < █ЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁ> [ Help ] ║ ║ ║ ║ C:\PASCAL\*.PAS ║ ║ APP.PAS 2050 Jan 5,1991 10:55am ║ ╚═══════════════════════════════════════════════╝ Диалоговое окно содержит окно ввода, список файлов, кнопки, помеченные как Open (Открыть), Replace (Заменить), Cancel (Отказ) и Help (Справочная информация), и информационную панель, описывающую выбранный файл. Теперь Вы можете выполнять любое из следующих действий: - Наберите полное имя файла и выберите Replace (заменить) или Open (открыть). Open загружает файл в новое окно редактора. При выборе Replace окно редактора должно быть активным; содержимое окна заменяется выбранным файлом. - Наберите имя файла со спецификатором (знаком вопроса или звездочкой), что фильтрует список файлов в соответствии с Вашими спецификациями. - Нажимайте ∙ для выбора спецификации файла из архивного списка файловых спецификаций, который Вы ввели ранее. - Просмотрите содержимое различных справочников путем выбора имен справочников из списка файлов. Окно ввода позволяет набрать точное имя файла или имя файла со стандартными спецификаторами DOS (* или ?) для фильтрации имен, появляющихся в окне архивного списка. При наборе полного имени и нажатии Enter Turbo Pascal откроет его. (При введении имени файла, которое Turbo Pascal найти не может, он автоматически создает и открывает новый файл с этим именем). Если Вы нажимаете ∙ при мерцании курсора в окне ввода, ниже окна появится архивный список. Выбор имени осуществляется посредством двойного его отмечания или выбором с помощью клавиш со стрелками и нажатием Enter. Как только Вы набрали или выбрали требуемый файл, отметьте Open кнопку (выберите Cancel в том случае, если Вы изменили свое решение). Также можно нажать Enter, как только файл был выбран, или можно дважды отметить имя файла. Примечание. Если Вы выбрали Replace вместо Open, то выбранный файл заменит файл в активном окне редактора вместо открытия нового окна. Использование окна списка File. Окно списка файлов показывает имена всех файлов в текущем справочнике, соответствующих спецификациям в окне ввода, показывает родительский справочник и все подсправочники. Отметьте окно списка или нажимайте Tab до тех пор, пока имя окна списка не высветится. Для выбора имени файла можно нажимать ° и ∙, а затем нажать Enter для его открытия. Можно также дважды отметить в окне имя любого файла для его открытия. Для того, чтобы видеть все имена, нужно делать скроллинг. Если имеется более одной клетки с именами, можно использовать также Ў и ў. Примечание. Можно также набирать строчные буквы для поиска имен файлов и прописные буквы для поиска имен справочников. Панель файловой информации внизу Open диалогового окна File показывает имя пути доступа, имя файла, дату, время и размер файла, который был выбран в окне списка. (Заметим, что ни один элемент этой панели нельзя выбрать). По мере продвижения по окну списка эта панель постоянно обновляется. New (новое). File/New команда позволяет открыть новое окно редактора с именем по умолчанию NONAMExx.PAS. (xx - число от 00 до 99). Эти NONAME файлы используются как временные буферы редактора; Turbo Pascal предлагает назвать NONAME файл, когда Вы хотите его сохранить. Save (сохранить). ┌────┐ │ F2 │ └────┘ File/Save команда сохраняет файл, находящийся в активном окне редактора, на диск. (Этот элемент меню недоступен, если нет активного окна редактора). Если файл имеет имя по умолчанию (NONAME00.PAS или подобное), Turbo Pascal откроет диалоговое окно Save File As (Сохранить файл как) для того, чтобы позволить Вам переименовать и сохранить его в текущем справочнике или на другом устройстве. Это диалоговое окно подобно окну, открывающемуся для Save As (сохранить как) команды, описанной дальше. Save As (сохранить как). File/Save As команда позволяет сохранить файл, находящийся в активном окне редактора, под другим именем, в другом справочнике, на другом устройстве. После выбора этой команды можно увидеть Save File As диалоговое окно: ╔═[█]════════════ Save File As ═════════════════╗ ║┌───────────────────────────────┐ ║ ║│ Save File As │ ║ ║└───────────────────────────────┘ [ OK ] ║ ║┌──────────────────┐ ║ ║│ Files │ ║ ║│ A.PAS │ ║ ║│ CD.PAS │ ║ ║│ BGG.PAS │ ║ ║│ INCLUDE\ │ ║ ║│ ..\ │ ║ ║│ │ [ Cancel ] ║ ║│ │ ║ ║│ │ ║ ║│ │ [ Help ] ║ ║└──────────────────┘ ║ ║ E:\PASCAL\*.PAS ║ ║ A.PAS 1467 Jan 4,1991 11:29am ║ ╚═══════════════════════════════════════════════╝ Наберите новое имя, необязательно с устройством и справочником, и нажмите или выберите ОК. Все окна, содержащие этот файл, обновятся с этим новым именем. Если Вы выберите имя существующего файла, этот файл будет перекрыт. Save All (сохранить все). File/Save All команда работает точно так же, как Save команда, за исключением того, что она сохраняет содержание всех модифицированных файлов, а не только файл, находящийся в активном окне редактора. Эта команда недоступна, если ни одно окно редактора не открыто. Change Dir (изменить справочник). File/Change Dir команда позволяет задать устройство и справочник как текущий. Текущий справочник - это справочник, который Turbo Pascal использует для сохранения файлов и их поиска. (При использовании относительных путей в Options/Directories они относятся только к текущему справочнику). Диалоговое окно Change Directory выглядит следующим образом: ╔═[█]═══════ Change Directory ════════════╗ ║┌─────────────────────────────────┐ ║ ║│ Directory Name │ ║ ║│ E:\PASCAL │∙│ │ ║ ║└─────────────────────────────────┘ ║ ║┌ Directory Tree───────────┐ [ OK ] ║ ║│ Drives ^│ ║ ║│ └─┬E:\ Ё│ ║ ║│ └─┬PASCAL █│ [ Chdir ] ║ ║│ └┬─TEMP Ё│ ║ ║│ └─BETA Ё│ ║ ║│ Ё│ [ Revert ] ║ ║│ Ё│ ║ ║│ Ё│ ║ ║│ v│ [ Help ] ║ ║└──────────────────────────┘ ║ ╚═════════════════════════════════════════╝ Существует два способа смены справочников: - Набрать путь доступа нового справочника в окне ввода и нажать Enter, или - Выбрать требуемый справочник в дереве справочников (если Вы используете клавиатуру, нажмите Enter, чтобы сделать справочник текущим), а затем выберите ОК или нажмите Esc для выхода из диалогового окна. При выборе ОК изменения будут сделаны, а диалоговое окно исчезнет. При выборе кнопки ChDir окно списка Directory Tree сменится на выбранный справочник и покажет подсправочники в высвеченном справочнике (нажатие Enter или двойная отметка записи даст Вам тот же результат). Если Вы изменили свое решение по выбранному справочнику и хотите вернуться к предыдущему (и Вы еще не вышли из диалогового окна), выберите Revert кнопку. Print (печать). File/Print команда позволяет печатать содержание активного окна редактора. Turbo Pascal расширяет табуляции (заменяет символы табуляции соответствующим количеством пробелов) и затем посылает их на печатающее устройство DOS. Эта команда недоступна, если активное окно нельзя распечатать. Используйте Ctrl-K P для печати только выбранного текста. Get Info (получить информацию). File/Get Info команда показывает информацию по текущему файлу. ╔═[█]═══════════════════ Information ════════════════════════╗ ║ ║ ║ ════════ Programm ═══════════ ════ Memory ═════ ║ ║ Sourse compiles: 0 lines DOS: 166K ║ ║ Code size: 0 bytes TURBO: 207K ║ ║ Data size 0 bytes Symbols: 0K ║ ║ Stack size: 0 bytes Program: 0K ║ ║ Minimum heap size: 0 bytes Free: 206K ║ ║ Maximum heap size: 0 bytes ═════ EMS ═══════ ║ ║ TURBO: 256K ║ ║ Status: No program Other: 384K ║ ║ Free: 4704K ║ ║ ║ ║ [ OK ] ║ ║ ║ ╚════════════════════════════════════════════════════════════╝ Это информация только для просмотра; нельзя менять установки в этом окне. После просмотра информации в этом окне нажмите Enter для того, чтобы убрать это окно. DOS Shell (временный выход в DOS). File/DOS Shell команда позволяет временно покинуть Turbo Pascal для введения команды DOS или программы. Для возврата в Turbo Pascal, наберите EXIT и нажмите Enter. Вы можете столкнуться с тем, что во время отладки будет недостаточно памяти для выполнения этой команды. В этом случае завершите сеанс отладки посредством выбора Run/Program Reset (Ctrl-F2). Предупреждение: Не инсталлируйте никакие TSR программы (такие, как SideKick), если временно вышли в DOS, так как память может стать нераспределяемой. Примечание. В режиме двойного монитора командная строка DOS появится на экране Turbo Pascal, а не на пользовательском. Это позволяет Вам переключиться на DOS без нарушения вывода своей программы. Поскольку вывод Вашей программы допустим на одном мониторе системы, Window/User Screen и Alt-F5 недоступны. Exit (выход). ┌─────┐ ┌─────┐ │ Alt │ │ X │ └─────┘ └─────┘ File/Exit команда приводит к выходу из Turbo Pascal, удаляет его из памяти и возвращает Вас в командную строку DOS. Если Вы не сохранили какие-то изменения, то Turbo Pascal запрашивает, хотите ли Вы их сохранить перед выходом. Меню Edit (редактирование). ┌─────┐ ┌─────┐ │ Alt │ │ E │ └─────┘ └─────┘ Меню Edit позволяет вырезать, копировать и вставлять текст в окне редактора. Можно также открыть окно Clipboard (карман) для просмотра и редактирования его содержимого. Перед использованием большинства команд этого меню Вам необходимо знать, как выбирать текст (потому что большинство действий редактора применяются к выбранному тексту). Выбор текста означает его высвечивание. Можно выбирать текст и с помощью клавиатуры, и с помощью мышки; принцип одинаков, хотя действия отличаются. С помощью клавиатуры можно использовать следующие методы: - Нажатие Shift во время нажатия клавиш со стрелками; - Чтобы выбрать текст с помощью клавиатуры, нажмите Ctrl-K B для отметки начала блока. Затем передвиньте курсор к концу блока и нажмите Ctrl-K K. - Чтобы выбрать отдельное слово, передвиньте курсор к слову и нажмите Ctrl-K T. - Чтобы выбрать отдельную строку, нажмите Ctrl-K L. С помощью мышки: - Чтобы выбрать текст с помощью мышки, тащите указатель мышки над требуемым текстом. Если же необходимо продолжить выбор за пределами окна, тащите мышку в нужную сторону, и окно автоматически будет сдвигаться. - Для выбора отдельной строки дважды отметьте ее. - Для выбора текста строка за строкой, нажмите кнопку мышки и тащите мышку по тексту. - Чтобы расширить или уменьшить выбранный кусок, одновременно нажмите Shift и клавишу мышки в любом месте документа. Как только текст выбран, команды в меню Edit становятся доступными, а карман становится полезным. Карман является чудом после вырезания и вставки текста. Это специальное окно в Turbo Pascal, которое хранит текст, который был удален или скопирован, так что можно вставить его в любом месте. Карман работает в тесном взаимодействии с командами редактора. Далее приводится объяснение каждой команды меню Edit. Restore Line (восстановить строку). Edit/Restore Line отменяет последнюю команду редактирования, выполненную над строкой (включая набор текста в пустой строке или Ctrl-Y). Эта команда работает только с последней модифицированной или удаленной строкой. Cut (вырезать). ┌───────┐ ┌─────┐ │ Shift │ │ Del │ └───────┘ └─────┘ Edit/Cut команда удаляет выбранный текст из документа и помещает этот текст в карман. Можно вставить этот текст в любой другой документ (или в другое место в этом же самом документе) посредством выбора команды Paste (вставить). Текст остается в кармане, так что можно вставлять один и тот же текст много раз. Copy (копировать). ┌───────┐ ┌─────┐ │ Ctrl │ │ Ins │ └───────┘ └─────┘ Edit/Copy команда оставляет выбранный текст нетронутым, но помещает его точную копию в карман. Можно вставить этот текст в любой другой документ посредством выбора команды Paste (вставить). Можно также скопировать текст из окна справочной информации: с клавиатуры, используйте Shift и клавиши со стрелками; с мышкой, отметьте и тащите текст, который хотите скопировать. Paste (вставить). ┌───────┐ ┌─────┐ │ Shift │ │ Ins │ └───────┘ └─────┘ Edit/Paste команда вставляет текст из кармана в текущем окне в позицию, указанную курсором. Текст, который вставляется в настоящий момент, в окне кармана помечен как текущий блок. Copy Example (копировать пример). Edit/Copy Example команда копирует текст с выбранным ранее примером из текущего окна справочной информации в карман. Примеры уже заранее определены как блоки, так что не нужно помечать требуемый пример как блок. Show Clipboard (открыть карман). Edit/Show Clipboard команда открывает окно кармана, который хранит текст, вырезанный и скопированный из других окон. Текст, который является текущим выбранным (высвеченным) - это текст, который Turbo Pascal использует при выборе команды Paste (вставить). Можно редактировать карман так, чтобы текст, который нужно вставить, точно соответствовал требуемому. Окно кармана похоже на любое другое окно редактора. Единственное отличие окна кармана возникает при вырезании или копировании текста. Когда Вы выбрали текст в окне кармана и затем выбрали команду Cut (вырезать) или Copy (копировать), выбранный текст немедленно появляется внизу окна. (Помните, что любой текст, который был вырезан или скопирован, добавляется в конец кармана - так что можно позднее его вставить). Clear (очистить). ┌──────┐ ┌─────┐ │ Ctrl │ │ Del │ └──────┘ └─────┘ Edit/Clear команда удаляет выбранный текст, не помещая его в карман. Это означает, что нельзя вставить этот текст, как в случае выбора команд Cut (вырезать) или Copy (копировать). Текст, удаленный с помощью этой команды, не восстановим. Можно очистить сам карман посредством выбора всего текста в кармане и последующим выбором команды Edit/Clear. Меню Search (поиск). ┌──────┐┌─────┐ │ Alt ││ S │ └──────┘└─────┘ Меню поиска позволяет осуществлять поиск текста, объявления процедур и месторасположение ошибок в Ваших файлах. Find (найти). ┌──────┐ ┌─────┐ ┌─────┐ │ Alt │ │ S │ │ F │ └──────┘ └─────┘ └─────┘ Search/Find команда показывает диалоговое окно Find, позволяющее Вам набрать текст, который Вы хотите найти и установить опции, влияющие на поиск. (Ctrl-Q F является другим сокращением этой команды). ╔═[█]═══════════════════ Find ════════════════════════╗ ║ ┌─────────────────────────────────────────────────┐ ║ ║ │Text to Find │∙││ ║ ║ └─────────────────────────────────────────────────┘ ║ ║ Options Direction ║ ║ [ ] Case sensitive (.) Forward ║ ║ [ ] Whole words only ( ) Backward ║ ║ [ ] Regular expression ║ ║ ║ ║ Scope Origin ║ ║ (.) Global ( ) From cursor ║ ║ ( ) Selected text (.) Entire scope ║ ║ ║ ║ [ OK ] [ Cancel ] [ Help ] ║ ║ ║ ╚═════════════════════════════════════════════════════╝ Диалоговое окно поиска содержит несколько кнопок. Options (опции). Можно выбрать из трех элементов независимых кнопок Options: ┌──────────────────────┐ │ [ ] Case sensitive │ └──────────────────────┘ (различение прописных и строчных букв). Включайте эту кнопку в том случае, если хотите, чтобы Turbo Pascal при поиске различал прописные и строчные буквы. ┌─────────────────────────┐ │ [ ] Whole words only │ └─────────────────────────┘ (только целые слова). Включайте эту кнопку в том случае, если хотите, чтобы Turbo Pascal искал только целые слова (то есть, строка должна иметь знаки пунктуации или знаки символа пробела с обеих сторон). ┌────────────────────────┐ │ [ ] Regular expression │ └────────────────────────┘ (регулярное выражение). Включайте эту кнопку в том случае, если хотите, чтобы Turbo Pascal распознавал спецификаторы, аналогичные используемым в GREP, в строке поиска. Спецификаторами являются ^, $, ., *, +, [], \. Они означают следующее: ^ - в начале строки означает начало строки. $ - в конце выражения означает конец строки. . - означает любой символ. * - символ, сопровождаемый звездочкой, означает любое число повторений (включая нуль) этого символа. Например, bo* означает bot, b, boo, и даже be. + - символ, сопровождаемый знаком плюса, означает любое число повторений этого символа (но не нуль). Например, bo+ означает bot или boo, но не be или b. [] - символы в квадратных скобках означают какой-то один символ, стоящий в этих скобках. Например, [bot] означает или b, или o, или t. [^] - этот знак в квадратных скобках в начале строки означает "не". Таким образом, [^bot] означает любой символ, кроме b, o или t. [-] - внутри квадратных скобок означает диапазон символов. Например, [b-o] означает любой символ от b до o. \ - перед символом спецификатора говорит Turbo Pascal о том, что нужно рассматривать этот символ как литеру, а не как спецификатор. Например, \^ означает ^, а не начало строки. Введите строку в окне ввода и выберите ОК для начала поиска, а для отказа от поиска выберите Cancel. Если Вы хотите ввести строку, которую уже искали, нажмите ∙, чтобы посмотреть архивный список и осуществить из него выбор. Можно также выбрать слово, на котором стоит курсор в окне редактора и использовать его в окне поиска посредством просто вызова Find из Search меню. Можно брать дополнительные символы из текста путем нажатия клавиши Ў. Direction (направление). ┌────────────┐ │Direction │ │(.) Forward │ │( ) Backward│ └────────────┘ Отметьте зависимые кнопки Direction, для того чтобы решить, в каком направлении будет осуществляться поиск - начиная с Origin (устанавливаемого с помощью Origin зависимых кнопок) или нет. Scope (область). ┌──────────────────┐ │ Scope │ │ (.) Global │ │ ( ) Selected text│ └──────────────────┘ Выберите кнопки, для того чтобы определить, в какой области файла осуществлять поиск. Можно выбрать весь файл (Global) или только выбранный текст. Origin (начало). ┌────────────────┐ │Origin │ │(.) From Cursor │ │( ) Entire Scope│ └────────────────┘ Выберите кнопку, чтобы определить, где начинается поиск. Когда выбрана Entire Scope (целая область), то зависимые кнопки Direction определяют, в начале или в конце выбранной области начнется поиск. Диапазон области можно выбрать с помощью Scope (область) зависимых кнопок. Replace (заменить). ┌──────┐ ┌─────┐ ┌─────┐ │ Alt │ │ S │ │ R │ └──────┘ └─────┘ └─────┘ Search/Replace команда выводит диалоговое окно, позволяющее набирать образец текста для поиска и образец текста, на который его надо заменить. (Ctrl-Q A является другим сокращением этой команды). ╔═[█]══════════════════ Replace ══════════════════════╗ ║ ┌─────────────────────────────────────────────┬─┬┐ ║ ║ │ Text to Find │∙││ ║ ║ ├─────────────────────────────────────────────┼─┼┤ ║ ║ │ New Text │∙││ ║ ║ └─────────────────────────────────────────────┴─┴┘ ║ ║ Options Direction ║ ║ [X] Case sensitive (.) Forward ║ ║ [ ] Whole words only ( ) Backward ║ ║ [X] Regular expression ║ ║ [X] Prompt on replace ║ ║ ║ ║ Scope Origin ║ ║ (.) Global (.) From cursor ║ ║ ( ) Selected text ( ) Entire scope ║ ║ ║ ║ [ OK ] [ Change All ] [ Cancel ] [ Help ] ║ ║ ║ ╚═════════════════════════════════════════════════════╝ Диалоговое окно замены содержит несколько зависимых и независимых кнопок - многие из них идентичны кнопкам диалогового окна поиска, описанного ранее. Дополнительная кнопка, Prompt on replace (подсказка для замены), управляет подсказкой для каждой замены. Наберите строку поиска и строку замены в окнах ввода и выберите OK или Change All (заменить все) для начала поиска, или нажмите Cancel для отказа. Если Вы хотите ввести строку, использованную ранее, нажмите стрелку вниз для просмотра архивного списка и выбора в нем. Если Turbo Pascal находит заданный текст, он спрашивает, хотите ли Вы произвести замену. При выборе OK он находит и заменяет только первый образец элемента поиска. При выборе Changе All (заменить все), он заменяет все вхождения, как это определено с помощью Direction (направление), Scope (область) и Origin (начало) кнопок. Как и в диалоговом окне поиска, можно выбрать слово, на котором стоит курсор в окне редактора и использовать его в окне ввода Text to find (текст для поиска) простым вызовом Find или Replace (найти или заменить) из Search menu (меню поиска). Вы можете добавить текст из окна редактора с помощью стрелки вправо. Search Again (поиск вновь). ┌──────┐ ┌─────┐ │ Ctrl │ │ L │ └──────┘ └─────┘ Search/Search Again команда повторяет последнюю Find или Replace команду. Все установки, которые были сделаны в последнем диалоговом окне (Find или Replace) остаются действительными при выборе Search Again. Goto line number (идти к строке номер). Search/Goto line number команда выдает подсказку номера строки, которую Вы хотите найти. Диалоговое окно выглядит следующим образом: ╔═[█]═════ Go to Line Number ══════════════╗ ║ ║ ║ ┌──────────────────────┐┌───────────┐ ║ ║ │Enter New Line Number ││21 ││∙│ ║ ║ └──────────────────────┘└───────────┘ ║ ║ ║ ║ [ OK ] [ Cancel ] [ Help ] ║ ║ ║ ╚══════════════════════════════════════════╝ Turbo Pascal показывает текущий номер строки и номер столбца в нижнем левом углу каждого окна редактора. Find Procedure (поиск процедуры). Search/Find Procedure команда выводит диалоговое окно, позволяющее ввести имя процедуры для поиска. Эта команда доступна только во время сеанса отладки. ╔═[█]═══════ Find Procedure ═════════╗ ║ ║ ║┌───────────────┐ ║ ║│ Proсedure Name│ ║ ║├───────────────┴──────────────┐ ║ ║│ begin ││∙│ ║ ║└──────────────────────────────┘ ║ ║ ║ ║ [ OK ] [ Cancel ] [ Help ] ║ ║ ║ ╚═════════════════════════════════════╝ Введите имя процедуры или нажмите "∙" для выбора имени из архивного списка. В противоположность Find команде, эта команда находит объявление процедуры, а не пример ее использования. Find Error (поиск ошибки). ┌─────┐ ┌────┐ │ Alt │ │ F8 │ └─────┘ └────┘ Команда Search/Find Error находит местоположение ошибки времени выполнения. Когда происходит ошибка времени выполнения, адрес в памяти, где она произошла, дается в формате seg:ofs (сегмент:смещение). При возврате в IDE, Turbo Pascal автоматически определяет местонахождение ошибки. Эта команда позволяет Вам найти ошибку снова, задавая значения seg и ofs. Чтобы Find Error работала, нужно установить независимую кнопку Debugging в Integrated (в диалоговом окне Options/Debugger). Если ошибки времени выполнения произошли в программе, запущенной внутри IDE, то значения по умолчанию для адреса ошибки устанавливаются автоматически. Это позволяет Вам переместить ошибку после изменения файлов. (Заметим, что если Вы просто переместились в том же самом файле, Вы можете вернуться назад к местоположению ошибки с помощью команды Ctrl-Q W). Меню Run (выполнение). ┌─────┐ ┌────┐ │ Alt │ │ R │ └─────┘ └────┘ Команды меню запуска запускают Вашу программу, а так же начинают и заканчивают сеансы отладки. Run (выполнение). ┌──────┐ ┌────┐ │ Ctrl │ │ F9 │ └──────┘ └────┘ Run/Run команда запускает Вашу программу, используя параметры, которые Вы передали в нее с помощью команды Run/Parameters. Если со времени последней компиляции исходный код был модифицирован, то встроенный менеджер проекта автоматически перекомпилирует и отредактирует Вашу программу. Если Вы не хотите отлаживать свою программу, Вы можете компилировать и редактировать ее с отключенными независимыми кнопками Debugging (что даст Вашей программе больше памяти для выполнения) в Option/Debugger диалоговом окне. Если Вы компилируете свою программу с этой независимой кнопкой, установленной в Integrated, то результирующий выполнимый код будет содержать отладочную информацию, которая повлияет на поведение Run/Run команды следующим образом: Если Вы не модифицировали исходный код со времени последней компиляции, - Run/Run команда приведет к выполнению Вашей программы до следующей точки прерывания, или к выполнению до конца, если точки прерывания не были установлены. Если со времени последней компиляции исходный код был модифицирован, - если Вы уже сделали несколько шагов по своей программе, используя команды Run/Step Over или Run/Trace into, Run/Run выдаст подсказку, хотите ли Вы сделать перекомпиляцию в своей программе: - Если Вы ответите ДА, менеджер проекта перекомпилирует и отредактирует Вашу программу, и установит ее выполнение с начала. - Если Вы ответите НЕТ, то Ваша программа выполнится до следующей точки прерывания или до конца, если точки прерывания не были установлены. - если Вы не находитесь в активном сеансе отладки, то встроенный менеджер проекта перекомпилирует Вашу программу и установит ее запуск с начала. Примечание: Если Вы хотите использовать все возможности Turbo Pascal, сделайте Debugging установку в Integrated. Нажатие Ctrl-Break приводит к прекращению выполнения на следующей исходной строке Вашей программы. Если Turbo Pascal не может найти исходную строку, второе нажатие Ctrl-Break завершит программу и приведет к возвращению в интегрированную усовершенствованную среду. Program reset (сброс программы). ┌──────┐ ┌────┐ │ Ctrl │ │ F2 │ └──────┘ └────┘ Run/Program reset команда прекращает текущий сеанс отладки, освобождает память, размещенную под Вашу программу и закрывает все открытые файлы, используемые Вашей программой. Goto Cursor (перейти на курсор). ┌─────┐ │ F4 │ └─────┘ Run/Goto cursor команда выполняет программу до строки, на которой стоит курсор в текущем окне редактора. Если курсор стоит на строке, которая не содержит выполнимое утверждение, команда выдаст предупреждение. Run/Goto cursor команда может так же начать сеанс отладки. Goto cursor не устанавливает постоянную точку прерывания, но она позволяет программе останавливаться на постоянной точке прерывания, если она встретила эту точку прерывания перед строкой, на которой стоит курсор. Если это произошло, Вы должны выбрать команду Goto cursor опять. Используйте Goto cursor команду для того, чтобы перейти на ту часть Вашей программы, которую Вы хотите отлаживать. Если Вы хотите остановить свою программу на определенном утверждении каждый раз, когда она достигает этой точки, установите на этой строке точку прерывания. Заметим, что если Вы установили курсор на строке кода, которая не выполнима, Ваша программа будет выполняться до следующей точки прерывания или до конца, если точка прерывания не встретится. Вы всегда можете использовать Ctrl-Break для прекращения работы программы. Trace into (пошаговая трассировка). ┌─────┐ │ F7 │ └─────┘ Run/Trace into команда выполняет Вашу программу утверждение за утверждением. Когда она достигает вызова процедуры, она выполняет каждое утверждение внутри процедуры, вместо выполнения процедуры как одного шага (см. Run/Step over). Если утверждение не содержит вызова процедур, доступных отладчику, Trace into остановится на следующем выполнимом утверждении. Используйте Trace into команду для перемещения позиции выполнения к процедуре, вызываемой процедурой, которую Вы сейчас отлаживаете. Если утверждение содержит вызов процедуры, доступной отладчику, Trace into останавливается в начале определения процедуры. Последующая Trace into или Step over команда выполняет утверждения в определении процедуры. Когда отладчик оставляет процедуру, он возобновляет вычисление утверждения, которое содержит вызов; Например, if Min <= Max then DoSomething; Trace Into команда распознает только процедуры, определенные в исходном файле, откомпилированном с двумя опциями, установленными в On: - в диалоговом окне Compiler Options (Options/Compiler), Debug Information независимая кнопка должна быть включена; - В диалоговом окне Debuggеr (Options/Debugger) независимую кнопку переключите в Integrated. Step over (шаг через). ┌─────┐ │ F8 │ └─────┘ Run/Step over команда выполняет следующие утверждения в текущей процедуре. Она не выполняет трассировку внутрь вызовов процедур нижнего уровня, даже если они доступны отладчику. Используйте Step over для выполнения процедуры, которую Вы сейчас отлаживаете, как одно утверждение за один момент времени без входа внутрь других процедур. Parameters (параметры). Run/Parameters команда позволяет Вам передать выполняющейся программе параметры командной строки точно так же, как Вы их набрали в командной строке DOS. Команды переназначения DOS будут игнорироваться. При выборе этой команды появится диалоговое окно с одним окном ввода. ╔═[█]══════════════ Program Parameters ═════════════════╗ ║ ║ ║ ║ ║ ┌──────────────────────────────────────┬─┐ ║ ║ Parameters│ │∙│ ║ ║ └──────────────────────────────────────┴─┘ ║ ║ ║ ║ [ OK ] [ Cancel ] [ Help ] ║ ║ ║ ╚═══════════════════════════════════════════════════════╝ Примечание: Здесь нужно ввести только параметры, а не имя программы. Параметры имеют значение, только когда программа стартует. Если Вы уже завершили отладку и хотите изменить параметры, то Вы можете выбрать Program reset для выполнения программы с новыми параметрами. Меню Compile (компиляция). ┌─────┐ ┌───┐ │ Alt │ │ C │ └─────┘ └───┘ Используйте команды меню Compile для того, чтобы сделать complile, make или build программы в активном окне. Для того, чтобы использовать команды Compile, Make и Build, нужно иметь открытый файл в активном окне редактора. Например, если Вы открыли окно Output или Watch, эти выборы будут недоступны. Compile (компиляция). ┌─────┐ ┌────┐ │ Alt │ │ F9 │ └─────┘ └────┘ Compile/Compile команда компилирует активный файл редактора. Когда Turbo Pascal компилирует, появляется окно статуса, показывающее результаты компиляции. Когда компиляция/редактирование завершается, нажмите любую клавишу, чтобы удалить это окно. Если происходит какая-нибудь ошибка или предупреждение, окно редактора, содержащее исходный код с ошибкой, становится активным, появляется сообщение об ошибке, а курсор устанавливается на местоположении первой ошибки. Make (сборка). ┌─────┐ │ F9 │ └─────┘ Compile/Make команда вызывает встроенный менеджер проекта для создания .EXE файла. - Если для Primary File было задано имя, то компилируется этот файл; в противном случае компилируется файл в активном окне редактора. Turbo Pascal проверяет все файлы, от которых зависит компилируемый файл. - Если исходный файл для данного модуля был модифицирован со времени создания файла .TPU (объектный код), то модуль перекомпилируется. - Если для данного модуля был изменен интерфейс, то все другие модули, которые зависят от него, перекомпилируются. - Если модуль, отредактированный в файл .OBJ (внешние программы), и файл .OBJ новее, чем файл .TPU этого модуля, то модуль перекомпилируется. - Если модуль включает файл Include, а файл Include новее, чем файл .TPU этого модуля, то этот модуль перекомпилируется. Если исходный файл к модулю (файлу .TPU) не может быть установлен, то этот модуль не компилируется, но используется. Compile/Make перестраивает только те файлы, которые не являются текущими и не находятся в активном окне редактора (или если задана Primary File). Compile/Make перекомпилирует только те файлы, которые не являются текущими (или если задана опция Primary File). Build (полная сборка). Compile/Build команда перекомпилирует все файлы независимо от их даты. Эта команда подобна команде Compile/ Make за исключением того, что она не имеет условий. Destination (назначение). Команда Compile/Destination позволяет определить, будет ли выполняемый код храниться на диске (как файл .ЕХЕ) или он будет храниться в памяти (и таким образом теряться при выходе из Turbo Pascal). Заметим, что даже если Destination установлена в Memory (память), то все модули, перекомпилированные во время Make и Build, имеют свои обновленные файлы .TPU на диске. Если Destination установлена в Disk (диск), то создается файл .ЕХЕ, а его имя извлекается из одного или двух имен по следующему правилу: имя Primary File или, если оно не задано, имя файла в активном окне редактора. Примечание. Установка Destination в Disk увеличивает память, доступную в IDE для компиляции и отладки программ. Файлы .ЕХЕ и .TPU (если они есть) хранятся в том же справочнике, что и соответствующие исходные файлы, или в справочнике EXE & TPU Directory (Options/Directories), если он задан. Primary File (основной файл). Выберите опцию Primary File, для того чтобы задать файл .PAS, который будет компилироваться при использовании команд Compile/Make (F9) или Build (Alt-C B). Можно использовать эту опцию при работе над программой, которая использует несколько модулей и файлов Include. Не имеет значения, какой файл Вы только что редактировали; Make или Build всегда оперируют с приоритетным файлом. Если Вы задате другой файл приоритетным, а хотите откомпилировать файл в выбранном окне редактора, выберите Compile (Alt-F9). Меню Debug (отладка). ┌──────┐ ┌────┐ │ Alt │ │ D │ └──────┘ └────┘ Команды меню отладки управляют всеми свойствами интегрированного отладчика. Можно изменить установки по умолчанию для этих команд в Options/Debugger диалоговом окне. (Дополнительную информацию об отладке см. в главе 5). Evaluate/Modify (вычисление/модификация). ┌──────┐ ┌────┐ │ Ctrl │ │ F4 │ └──────┘ └────┘ Debug/Evaluate/ Modify команда вычисляет переменную или выражение, показывает ее значение, и, если это возможно, позволяет его изменить. Команда открывает диалоговое окно, содержащее три поля: Expression (выражение), Result (результат) и New Value (новое значение). Ниже приведен пример диалогового окна: ╔═[█]═════════════ Evaluate and Modify ═════════════════╗ ║ ║ ║ Expression ║ ║ ┌──────────────────────────────────┬─┐ ║ ║ │ │∙│ [ Evaluate ] ║ ║ └──────────────────────────────────┴─┘   ║ ║ Result ║ ║ ┌────────────────────────────────────┐ ║ ║ │ │ [ Modify ] ║ ║ └────────────────────────────────────┘   ║ ║ New Value ║ ║ ┌──────────────────────────────────┬─┐ ║ ║ │ │∙│ [ Cancel ] ║ ║ └──────────────────────────────────┴─┘   ║ ║ ║ ║ [ Help ] ║ ║   ║ ╚═══════════════════════════════════════════════════════╝ Примечание. Evaluate кнопка задана по умолчанию; если с помощью табуляции Вы попадете в New Value поле, Modify кнопка будет задана по умолчанию. Expression поле показывает выражение, по умолчанию состоящее из слова, на котором стоит курсор в окне редактора. Можно вычислить выражение по умолчанию, нажав Enter, или отредактировать или заменить его. Можно также нажимать Ў, чтобы расширить выражение по умолчанию путем копирования дополнительных символов из окна редактора. Если отладчик может вычислить выражение, он показывает его значение в Result поле. Если выражение относится к переменной или простому элементу данных, то можно подвести курсор к New Value полю и ввести выражение как новое значение. Для закрытия диалогового окна нажмите Esc. Если Вы изменили содержание New Value поля, но не выбрали Modify, то отладчик проигнорирует New Value поле при закрытии диалогового окна. Используйте выражение повтора для просмотра значений последовательных элементов данных. Например, для массива целочисленного типа, названного ListInt, - ListInt[0],5 покажет пять последовательных целых в десятичном представлении; - ListInt[0],5x покажет пять последовательных целых чисел в шестнадцатиричном представлении. Выражение, используемое с повторением счета, должно представлять собой простой элемент данных. Отладчик рассматривает элемент данных как первый элемент массива, если он не является указателем, и как указатель на массив в противном случае. Debug/Evaluate/Modify команда показывает каждый тип значения в соответствующем формате. Например, она показывает int как целое в десятичном представлении, а массив как указатель в шестнадцатиричном представлении. Для того, чтобы получить другой формат для показа, поставьте перед выражением запятую, а за ней один из спецификаторов формата, приведенных в таблице 7.1. Таблица 7.1. Спецификаторы формата, распознаваемые отладчиком в выражениях. ___________________________________________________________________ Символ Функция ___________________________________________________________________ С Символ. Показывает специальные символы для управляющих символов (ASCII от 0 до 31); по умолчанию, такие символы изображаются значениями ASCII, используя синтаксис #хх. Влияет на символы и строки. S Строка. Показывает управляющие символы (ASCII от 0 до 31) как ASCII значения, используя синтаксис #хх. Так как этот формат показа строк и символов задан по умолчанию, то он имеет смысл только в соединении со спецификатором М. D Десятичное представление. Показывает все целочисленные значения в десятичном представлении. Применяется к простым целочисленным выражениям, а также к массивам и записям, содержащим целые числа. $, H Шестнадцатиричное представление. Показывает все или Х целочисленные значения в шестнадцатиричном представлении   с префиксом $. Применяется как к простым   целочисленным выражениям, так и к массивам и записям,   содержащим целые числа. Fn Числа с плавающей точкой. Показывает n значащих цифр   (n - целое число от 2 до 18). По умолчанию задано   значение 11. Применяется только к значениям чисел с   плавающей точкой. M Pаспечатка содержимого памяти. Показывает содержимое памяти, начиная с адреса указанного выражения. Выражение должно представлять собой конструкцию, действительную в левой части оператора присваивания, т.е., конструкцию, означающую адрес в памяти; в противном случае М спецификатор будет игнорироваться. По умолчанию, каждый байт переменной изображается как две цифры в шестнадцатиричном представлении. Добавление спецификатора D к М приведет к тому, что байты будут изображаться в десятичном представлении. Добавление спецификаторов H, $ или Х, приведет к тому, что байты будут   изображаться в шестнадцатиричном представлении c префиксом $. S или С спецификаторы приведут к тому, что переменные будут изображаться в виде строк (с или без специальных символов). Число показываемых байтов по умолчанию соответствует размеру переменной, но может быть  использован повторяющийся счет для задания точного числа байтов. P Указатель. Показывает указатели в формате seg:ofs, а не в формате по умолчанию Ptr(seg,ofs). Например, показывает 3А0:0020 вместо Ptr($3A0,$20). Применяется только к значениям указателей. R Запись. Показывает имена записей и полей объекта, как (X:1;Y:10;Z:5) вместо (1,10,5). Применяется только к переменным записей и объектам с полями. ___________________________________________________________________  Watches (просмотр). Debug/Watches команда выводит меню команд, управляющих пользованием точек просмотра. Следующие разделы описывают команды этого меню.  Add Watch (добавить выражение для просмотра). ┌──────┐ ┌─────┐ │ Ctrl │ │ F7 │ └──────┘ └─────┘ Add Watch команда вставляет выражение просмотра в окно Watch.   При выборе этой команды отладчик открывает диалоговое окно и выдает подсказку для ввода выражения просмотра. Выражением по умолчанию является слово, на котором стоит курсор в текущем окне редактора. Имеется также архивный список, который можно использовать для быстрого ввода выражения, использованного ранее. Если Вы верно набрали выражение и нажали Enter или ОК, отладчик добавляет выражение и его текущее значение в окно Watch. Если окно Watch является активным, можно вставить новое выражение для просмотра посредством нажатия Ins. Delete Watch (удалить выражение просмотра). Когда Вы находитесь в окне Watch, Вы можете выбрать Delete Watch для удаления текущего выражения просмотра из окна Watch, или нажать Del или Ctrl-Y. Текущее выражение просмотра помечено ромбиком с левой стороны. Edit Watch (редактировать выражение просмотра). Edit Watch команда позволяет редактировать текущее выражение для просмотра в окне Watch. При выборе этой команды отладчик открывает диалоговое окно, содержащее копию текущего выражения для просмотра. Редактируйте выражение и нажмите Enter. Отладчик заменяет первоначальную версию выражения отредактированной версией. Можно также редактировать выражение для просмотра вне окна просмотра, выбрав это выражение и нажав Enter. Примечание. Архивный список сэкономит Ваше время при наборе выражения. Remove All Watches (удалить все выражения просмотра). Remove All Watchs команда удаляет все выражения для просмотра из окна Watch. Toggle Breakpoint (переключить точку прерывания). ┌──────┐ ┌────┐ │ Ctrl │ │ F8 │ └──────┘ └────┘ Debug/Toggle Breakpoint команда позволяет установить или очистить безусловную точку прерывания на строке, на которой стоит курсор. Когда точка прерывания установлена, она помечается посредством высвечивания. Более подробная информация о точках прерывания содержится в следующем разделе. Breakpoints (точки прерывания). Debug/Breakpoints команда открывает диалоговое окно, позволяющее управлять использованием безусловных точек прерывания. Это диалоговое окно выглядит следующим образом: ╔═[█]═══════════════════ Breakpoints ═════════════════════════════╗ ║ ║ ║ ┌──────────────────────────────────────────────────────────────┐║ ║ │Breakpoint List Line# Condition Pass │║ ║ │┌──────────────────────────────────────────────────────────┐^ │║ ║ ││ │█ │║ ║ │└──────────────────────────────────────────────────────────┘Ё │║ ║ │ Ё │║ ║ │ Ё │║ ║ │ Ё │║ ║ │ Ё │║ ║ │ v │║ ║ └──────────────────────────────────────────────────────────────┘║ ║ ║ ║ [ OK ] [ Edit ] [ Delete ] [ View ] [ Help ] ║ ║ ║ ╚═════════════════════════════════════════════════════════════════╝ Диалоговое окно показывает все установленные точки прерывания, номера их строк и условия. Условие имеет архивный список, позволяющий выбрать условие точки прерывания, использованное ранее. Когда бы выполняющаяся программа ни встретила точку прерывания, она остановится на строке с точкой прерывания. Перед компиляцией исходного файла можно установить точку прерывания на любой строке, даже на пустой строке или комментарии. При компиляции и выполнении файла, Turbo Pascal проверяет все установленные точки прерывания и дает возможность удалить, игнорировать или изменить неправильные точки прерывания. При отладке файла Turbo Pascal знает, какие строки содержат выполнимые утверждения, и выдаст предупреждение в случае попытки установить неправильные точки прерывания. Примечание. Можно установить безусловные точки прерывания посредством выбора команды Debug/Toggle Breakpoint. Можно удалить точки прерывания из своей программы посредством выбора кнопки Delete (удалить). Можно также просмотреть исходный текст, где есть установленные точки прерывания, посредством выбора кнопки View (просмотр). View передвигает курсор к выбранной точке прерывания в окне Edit (эта команда не выполняет Ваш код). Примечание. Это диалоговое окно не имеет кнопки Cancel, поэтому будьте особенно внимательны при редактировании и удалении. Выберите Edit кнопку для добавления новой точки прерывания. При редактировании точки прерывания это диалоговое окно перекроется другим: ╔═[█]══════════ Edit Breakpoint ═════════════════╗ ║ ║ ║ ┌──────────┐ ║ ║ │Condition │ ║ ║ ├──────────┴──────────────────┐ ║ ║ │ ││∙│ [ Modify ] ║ ║ └─────────────────────────────┘ ║ ║ ┌───────────┐ ║ ║ │Pass Count │ ║ ║ ├───────────┴─────────────────┐ ║ ║ │ │ [ New ] ║ ║ └─────────────────────────────┘ ║ ║ ┌───────────┐ ║ ║ │File Name │ ║ ║ ├───────────┴─────────────────┐ ║ ║ │ E:\PASCAL\CD.PAS │ [ Cancel ] ║ ║ └─────────────────────────────┘ ║ ║ ┌────────────┐ ║ ║ │Line Number │ ║ ║ ├────────────┴────────────────┐ ║ ║ │ 1 │ [ Help ] ║ ║ └─────────────────────────────┘ ║ ║ ║ ╚════════════════════════════════════════════════╝ Опять же, здесь есть номер строки и условия установленных точек прерывания. Используйте Pass Count кнопку для того, чтобы установить, сколько раз надо миновать точку прерывания перед остановкой. Это диалоговое окно также имеет кнопку New (новая), которая позволяет вводить информацию для новой точки прерывания, и кнопка Modify (модифицировать), которая открывает окно установок. Когда редактируется исходный файл, каждая точка прерывания "приклеивается" к строке, на которой она установлена. Точки прерывания теряются только в следующих случаях: - Вы удалили точку прерывания в диалоговом окне Breakpoints; - Вы удалили исходную строку, на которой была установлена точка прерывания; - Вы очистили точку прерывания с помощью Toggle Breakpoint. Turbo Pascal пытается отследить точки прерывания в двух случаях: - Если Вы редактируете файл, содержащий точки прерывания, и не сохраняете отредактированную версию этого файла; - Если Вы редактируете файл, содержащий точки прерывания, а затем продолжаете текущий сеанс отладки, не делая перекомпиляцию программы. (Turbo Pascal выдаст подсказку - предупреждение "Source modified, rebuild?" (исходный текст изменен, перекомпилировать?)). Примечание. Точки прерывания запоминаются в файле TURBO.DSK, если эта опция допустима. Меню Options (опции). ┌──────┐┌───┐ │ Alt ││ O │ └──────┘└───┘ Меню Options содержит команды, позволяющие посмотреть и изменить различные установки по умолчанию в Turbo Pascal. Большинство из команд меню приводит к появлению диалогового окна. Compiler (компилятор). Options/Compiler команда выводит меню, которое предоставляет несколько опций для установки, влияющих на компиляцию кода. Это диалоговое окно выглядит следующим образом: ╔═[█]══════════════ Compiler Options ═══════════════════════════╗ ║ ┌──────────────────────────────────────────────────────────┐ ║ ║ │Code generations │ ║ ║ │ [ ] Force far calls [X] Word align data │ ║ ║ │ [ ] Overlays allowed [ ] 286 Instructions │ ║ ║ └──────────────────────────────────────────────────────────┘ ║ ║ ┌─────────────────────┐ ┌────────────────────────────────┐ ║ ║ │Runtime errors │ │Syntax options │ ║ ║ │ [ ] Range checking │ │ [X] Strict var-strings │ ║ ║ │ [X] Stack checking │ │ [ ] Complete boolean evaluation│ ║ ║ │ [X] I/O checking │ │ [ ] Extended syntax │ ║ ║ └─────────────────────┘ └────────────────────────────────┘ ║ ║ ┌─────────────────────┐ ┌────────────────────────────────┐ ║ ║ │Numeric Processing │ │Debugging │ ║ ║ │ [ ] 8087/80287 │ │ [X] Debug information │ ║ ║ │ [X] Emulation │ │ [X] Local symbols │ ║ ║ └─────────────────────┘ └────────────────────────────────┘ ║ ║ Conditional defines ║ ║ ┌─────────────────────────────────────────────────────────┐ ║ ║ └─────────────────────────────────────────────────────────┘ ║ ║ ║ ╚═══════════════════════════════════════════════════════════════╝ Следующие разделы описывают эти команды. Code Generation (генерация кода). Установки в этом окне говорят компилятору делать объектный код определенными методами. Далее приведено значение различных кнопок: - Force Far Calls позволяет всем процедурам и функциям использовать дальние модели вызова. Если эта опция отключена, то компилятор использует ближние модели вызова для всех процедур и функций внутри компилируемого файла. Примечание. Эта опция эквивалентна директиве компилятора $F. - Overlays Allowed делает возможной или невозможной генерацию оверлейного кода. Turbo Pascal разрешает делать оверлейным модуль только в том случае, если он был откомпилирован с включенной опцией Overlays Allowed. В этом состоянии генератор кода принимает особые предосторожности при передаче строк и установленных константных параметров из одной оверлейной процедуры или функции в другую. Включение назависимой кнопки Overlays Allowed не заставляет Вас делать оверлейным модуль. Она дает инструкции Turbo Pascal сделать этот модуль оверлейным, если это требуется. Если Вы работаете над модулем, который планируете использовать и как оверлейный, и как неоверлейный, то переключение Overlays Allowed обеспечит, что действительно Вы можете сделать и то, и другое с одним и тем же модулем. Примечание. Эта опция эквивалентна директиве компилятора $О+. - Опция Word Align Data (когда она включена) говорит Turbo Pascal о выравнивании несимвольных данных по четным адресам. Когда эта опция отключена, Turbo Pascal использует побайтное выравнивание, где данные могут выравниваться по четным или нечетным адресам, в зависимости от того, какой следующий адрес является доступным. (Эта опция эквивалентна директиве компилятора $А). Выравнивание по словам увеличивает скорость, с которой процессоры 8086 и 80286 вызывают и хранят данные. - 286 Instructions приводит к тому, что Turbo Pascal генерирует код для набора инструкций 80286. Заметим, что программа, откомпилированная с включенной генерацией кода 80286, не проверяет присутствие 80286 во время выполнения. (Эта опция эквивалентна директиве компилятора $G). Run-time Errors (ошибки времени выполнения). Группа кнопок Run-time Errors позволяет выбрать, какие ошибки времени выполнения будут генерироваться. - Когда включена Range Checking, компилятор генерирует код, который проверяет, что массив и строка не выходят за границы, а присвоения переменным скалярного типа не превышают заданные диапазоны. Если проверка была неудачна, то программа прерывается с ошибкой времени выполнения. (Эта опция эквивалентна директиве компилятора $R). - При включении опции Stack Checking компилятор генерирует код, который проверяет перед каждым вызовом процедуры или функции, имеется ли доступное пространство для локальных переменных в стеке. Если проверка была неудачна, то программа прерывается с ошибкой времени выполнения. (Эта опция эквивалентна директиве компилятора $S). - При включении опции I/O Checking, компилятор генерирует код, который проверяет наличие ошибок ввода/вывода после каждого вызова ввода/вывода. Если проверка была неудачна, то программа прерывается с ошибкой времени выполнения. Когда эта опция отключена, то проверка ввода/выода невозможна; однако пользователь может тестировать ошибки ввода/вывода через системную функцию IOResult. (Эта опция эквивалентна директиве компилятора $I). Syntax Options (синтаксические опции). Эта группа позволяет выбрать тип синтаксических опций, по которым будет осуществляться поиск. - С включенной опцией Strict Var-String компилятор сравнивает объявленный тип строкового параметра типа var с типом действительно передаваемого параметра. Если они не идентичны, то происходит ошибка компиляции. Если эта опция отключена, то такая проверка не производится. (Эта опция эквивалентна директиве компилятора $V). - С включенной опцией Complete Boolean Evaluation всегда вычисляются все термы в булевских выражениях. Если эта опция отключена, компилятор генерирует код, прекращающий вычисление булевского выражения, как только это становится возможным; например, в выражении if False and MyFunc ..., функция MyFunc никогда не будет вызвана. (Эта опция эквивалентна директиве компилятора $B). - При включенной опции Extended Syntax синтаксис Turbo Pascal расширяется так, что позволяет использовать вызовы функций, определенных пользователем как утверждения, как если бы они были процедурами. Если эта опция отключена, расширенный синтаксис невозможен. (Эта опция эквивалентна директиве компилятора $Х). Numeric Processing (числовая обработка). ┌───────────────────┐ │Numeric Processing │ │ [ ] 8087/80287 │ │ [X] Emulation │ └───────────────────┘ Опции Numeric Processing позволяют решить, как Turbo Pascal будет обрабатывать числа с плавающей точкой. - Выберите 8087/80287 для генерации прямого inline кода 8087 или 80287. Эта опция эквивалентна директиве компилятора $N. - Выберите Emulation, если Вы хотите, чтобы Turbo Pascal проверил, имеет ли Ваш компьютер сопроцессор 80х87 (и использовал его, если это нужно). Если его нет, Turbo Pascal эмулирует 80х87. Эта опция эквивалентна директиве компилятора $Е. Примечание. Эта опция игнорируется, если 8087/80287 недоступен. Дополнительную информацию об эквивалентных директивах компилятора см. в главе 21 руководства программиста. Debugging (отладка). Можно установить опции в группе Debugging, чтобы включить или отключить отладочную информацию или генерацию локальных символов. - Включение Debug Information позволяет генерировать отладочную информацию, которая состоит из построчной таблицы для каждого утверждения Паскаля, отображающей адреса объектного кода в исходные текстовые числа. Эта опция эквивалентна директиве компилятора $D. Когда Вы включили Debug Information для данной программы или модуля, IDE позволит Вам устанавливать точки прерывания в этом модуле. Также, когда происходит ошибка времени выполнения в программе или модуле, откомпилированном с включенной опцией Debug Information, Turbo Pascal автоматически установит курсор на утверждении, вызвавшем ошибку с помощью Search/Find Error. Примечание. Debug Information обычно используется вместе с командой Local Symbols. Для модулей отладочная информация записывается в файл .TPU вместе с объектным кодом модуля. Отладочная информация увеличивает размер файла .TPU и берет дополнительную память при компиляции программы, использующей этот модуль, но не влияет на размер или скорость выполняемой программы. Части исходного кода, откомпилированные и отредактированные с выключенной опцией Debug Information, недоступны отладчику. Если дискового пространства недостаточно, отключите опцию Debug Information, чтобы создавать меньшие файлы .TPU и использовать меньше памяти при компиляции и выполнении. Примечание. Чтобы использовать Turbo Debugger, $D должна быть включена. - Включенная опция Local Symbols делает возможной генерацию информации локальных символов, которая состоит из имен и типов всех локальных переменных и констант в модуле (символов в разделе реализации модуля и символов внутри процедур и функций модуля). Эта опция эквивалентна директиве компилятора $L. Когда Вы включили Local Symbols для данной программы или модуля, IDE позволяет проверять и изменять локальные переменные модуля. Также вызовы процедур и функций модуля можно исследовать с помощью команды Window/Call Stack. Для модулей информация о локальных символах записывается в файл .TPU вместе с объектным кодом модуля. Информация о локальных символах увеличивает размер файла .TPU и берет дополнительную память при компиляции программы, использующей этот модуль, но не влияет на размер или скорость выполняемой программы. Примечание. Опция Local Symbols игнорируется, если опция Debug Information отключена. Conditional Defines (условные определения). Используйте окно ввода Conditional Defines, чтобы ввести символы, на которые будут ссылаться директивы условной компиляции (см. главу 21 в руководстве программиста). Можно разделять многочисленные условия точкой с запятой (;), например, TestCode;DebugCode Memory Sizes (размеры памяти). Опции Memory Sizes позволяют Вам определить потребности памяти по умолчанию для программы. Все три установки можно задать в своем исходном коде, используя директиву компилятора $M. Если Вы пытаетесь выполнить свою программу, но не хватает кучи для удовлетворения заданной потребности, программа прервется с ошибкой времени выполнения. (Эта опция эквивалентна директиве компилятора $M). - Stack Size задает размер (в байтах) сегмента стека. Размер по умолчанию - 16,384, максимальный размер - 65,520. - Low Heap Limit задает минимальный требуемый размер кучи (в байтах). По умолчанию минимальный размер равен 0К. - High Heap Limit задает максимальный требуемый размер кучи (в байтах). По умолчанию максимальный размер равен 655,360, который (в большинстве систем) распределит всю доступную память в кучу. Это значение должно быть больше или равно наименьшему размеру кучи. Примечание. Вы должны задавать наименьший предел, если Ваша программа выполняет другие программы. Обратитесь к Exec в главе 1 справочника по библиотеке для получения дополнительной информации. Linker (редактор связей). Options/Linker команда позволяет сделать несколько установок, влияющих на редактирование. Linker команда открывает диалоговое окно, которое выглядит следующим образом: ╔═[█]════════════════ Linker ════════════════════╗ ║ ┌───────────────┐ ┌─────────────┐ ║ ║ │Map File │ │Link Buffer │ ║ ║ │ (.) Off │ │(.) Memory │ ║ ║ │ ( ) Segments │ │( ) Disk │ ║ ║ │ ( ) Publics │ └─────────────┘ ║ ║ │ ( ) Detailed │ ║ ║ └───────────────┘ ║ ║ [ OK ] [ Cancel ] [ Help ] ║ ║ ║ ╚════════════════════════════════════════════════╝ Это диалоговое окно имеет несколько зависимых кнопок. Следующие разделы кратко описывают каждую из них. Map File (файл карты). ┌──────────────┐ │Map File │ │ (.) Off │ │ ( ) Segments │ │ ( ) Publics │ │ ( ) Detailed │ └──────────────┘ Используйте Map File зависимые кнопки для выбора типа создаваемого файла .MAP. Для установок, отличных от Off, файл .MAP помещается в справочник EXE и TPU, заданный в диалоговом окне Options/Directories. Установкой по умолчанию для файла .MAP является Off. (Segments, Public и Detailed эквивалентны опциям командной строки /GS, /GP и /GD). Link Buffer (буфер редактора связей). Опция Link Buffer приводит к тому, что Turbo Pascal использует Memory (память) или Disk (диск) для буфера редактора. При выборе зависимой кнопки Memory увеличивается скорость компиляции, но может не хватить памяти для больших программ. Выбор зависимой кнопки Disk освобождает память, но замедляет компиляцию. (Эта опция эквивалентна опции командной строки /L в TPC.EXE). Debugger (отладчик). Options/Debugger команда позволяет сделать несколько установок, влияющих на интегрированный отладчик. Эта команда открывает диалоговое окно, которое выглядит следующим образом: ╔═[█]══════════════════ Debugger ══════════════════════╗ ║ ┌────────────────┐ ┌──────────────────┐ ║ ║ │Debugging │ │ Display Swapping │ ║ ║ │ [X] On │ │ ( ) None │ ║ ║ │ [ ] Standalone │ │ (.) Smart │ ║ ║ │ │ │ ( ) Always │ ║ ║ └────────────────┘ └──────────────────┘ ║ ║ [ OK ] [ Cancel ] [ Help ] ║ ║ ║ ╚══════════════════════════════════════════════════════╝ Следующие разделы описывают содержание этого окна. Debugging (отладка). ┌───────────────┐ │Debugging │ │ [X] On │ │ [ ] Standalone│ ║ │ (.) None │ └───────────────┘ Зависимые кнопки Debugging определяют, будет ли отладочная информация включена в выполнимый файл и как будет выполняться .EXE под управлением Turbo Pascal. - Выбор Integrated (по умолчанию), позволяет отлаживать программы как в интегрированном отладчике, так и в автономном отладчике Turbo Debugger. - Выбор Standalone позволяет отлаживать программы только в Turbo Debugger. Опции Integrated, Standalone (Options/Debugger) и Map File (Options/Linker) создают полную информацию и информацию о локальных символах для модуля только в том случае, если этот модуль был откомпилирован с включенными опциями Debug Information и Local Symbols, соответственно. Display Swapping (смена дисплея). ┌─────────────────┐ │Display Swapping │ │ ( ) None │ │ (.) Smart │ │ ( ) Always │ └─────────────────┘ Зависимые кнопки Display Swapping позволяют установить, когда интегрированному отладчику изменять окна просмотра во время выполнения программы. При отладке в режиме двойного монитора (т.е. с ипользованием опции /d в командной строке) вывод своей программы можно видеть на одном мониторе, а экран Turbo Pascal - на другом. В этом случае, Turbo Pascal никогда не переключает экран и установка Display Swapping ни на что не влияет. - Если установить Display Swapping в None, то отладчик не будет переключать экран вообще. Нужно использовать эту установку для части отладки кода, где совершенно определенно нет вывода на экран. - При выполнении программы в режиме отладки с установкой по умолчанию Smart отладчик ищет в коде, который выполняется, места, где будет генерироваться вывод на экран. Если код делает вывод на экран (или вызов процедуры), то происходит переключение экрана с экрана интегрированной усовершенствованной среды на экран пользователя на время, достаточное для вывода, а затем переключается обратно. В противном случае переключения экрана не происходит. Примечание. Знайте, что при быстрой смене экрана: - Он переключается при любом вызове процедуры, даже если эта процедура не делает вывода на экран; - В некоторых ситуациях экран IDE может быть модифицирован без переключения; например, если на экран пишет подпрограмма, вызывающая прерывание таймера. - При установлении кнопки Display Swapping в Always отладчик будет переключать экран всякий раз при выполнении утверждения. Нужно выбрать эту опцию, если поверх экрана интегрированной усовершенствованной среды будет писать Ваша выполняющаяся программа. Directories (справочники). Options/Directories команда позволяет сказать Turbo Pascal, где искать файлы, необходимые для компиляции, редактирования связей и файлы вывода. Эта команда открывает диалоговое окно, содержащее четыре окна ввода. Оно выглядит следующим образом: ╔═[█]══════════════════ Directories ══════════════════════╗ ║ ┌──────────────────────────────┐ ║ ║ EXE & TPU directory │ │ ║ ║ └──────────────────────────────┘ ║ ║ ┌──────────────────────────────┐ ║ ║ Include directories │ │ ║ ║ └──────────────────────────────┘ ║ ║ ┌──────────────────────────────┐ ║ ║ Unit directories │ │ ║ ║ └──────────────────────────────┘ ║ ║ ┌──────────────────────────────┐ ║ ║ Object directories │ │ ║ ║ └──────────────────────────────┘ ║ ║ ║ ║ [ OK ] [ Cancel ] [ Help ] ║ ║ ║ ╚═════════════════════════════════════════════════════════╝ Используйте следующие директивы при введении имен справочников в этих окнах ввода: - Нужно разделять многочисленные имена путей справочников (если это разрешено) точкой с запятой (;). Можно использовать максимум 127 символов (включая пробелы). - Пробелы перед и после точки с запятой разрешаются, но не требуются. - Разрешаются относительные и абсолютные имена путей, включая имена путей, относящихся к фиксированной позиции на устройстве, отличного от текущего. Например, C:\PASCAL;C\PASCAL\MYPROGS;A:\TURBO\EXAMPLES; Ниже показано, для чего предназначено каждое окно ввода: - Наберите справочник вывода для файлов .EXE или .TPU в окне ввода EXE and TPU Directory. Если ввода в этом окне не было, файлы будут храниться в справочнике, где находятся исходные файлы. Файлы .MAP также будут храниться здесь, если Map File (Options/Linker) установлена в значение, отличное от Off. - Окно ввода Include Directories задает справочник, содержащий стандартные включаемые файлы. Стандартные включаемые файлы - это файлы, заданные директивой компилятора {$I filename}. Разрешается несколько имен справочников разделять точкой с запятой, как в команде DOS PATH. - Используйте окно ввода Unit Directories для задания справочников, содержащих Ваши файлы модулей Turbo Pascal. Многочисленные справочники разделяются точкой с запятой (;), как в команде DOS PATH. Чтобы использовать модуль Graph, например, можно создать справочник \TURBO\BGI, скопировать GRAPH.TPU туда и задать справочник модулей \TURBO\BGI. Если Вы хотите также хранить другие модули в справочнике \TURBO\UNITS, то Вы должны ввести справочники модулей: \TURBO\UNITS;\TURBO\BGI - Используйте окно ввода Object Directory для задания справочников, содержащих файлы .OBJ (подпрограммы ассемблерного языка). Когда Turbo Pascal встречает директиву {$L filename}, он ищет сначала в текущем справочнике, затем в справочниках, заданных здесь. Многочисленные справочники разделяются точкой с запятой (;), как в команде DOS PATH. Environment (среда). Options/Environment команда позволяет сделать установки для среды. Эта команда открывает меню, позволяющее выбрать установки из опций Preferences, Editor и Mouse. Диалоговое окно Preferences выглядит следующим образом: ╔═[█]══════════════ Preferences ═══════════════════╗ ║ ║ ║ ┌────────────────┐ ┌────────────────────┐ ║ ║ │Screen Size │ │Source tracking │ ║ ║ │ (.) 25 lines │ │ (.) New window │ ║ ║ │ ( ) 43/50 lines│ │ ( ) Current window │ ║ ║ └────────────────┘ └────────────────────┘ ║ ║ ┌─────────────────┐ ┌──────────────────────────┐║ ║ │Auto save │ │Desktop file │║ ║ │ [ ] Editor files│ │ ( ) None │║ ║ │ [ ] Environment │ │ ( ) Current directory │║ ║ │ [ ] Desktop │ │ (.) Config file directory│║ ║ └─────────────────┘ └──────────────────────────┘║ ║ ║ ║ [ OK ] [ Cancel ] [ Help ] ║ ║ ║ ╚══════════════════════════════════════════════════╝ ┌────────────────┐ │Screen Size │ │ (.) 25 lines │ │ ( ) 43/50 lines│ └────────────────┘ - Зависимые кнопки Screen Size позволяют установить, будет ли экран интегрированной усовершенствованной среды иметь 25 строк или 43/50 строк. В зависимости от типа видеоадаптера Вашего PC будут доступны одна или две кнопки. При установке 25 строк (по умолчанию) Turbo Pascal использует 25 строк и 80 столбцов. Для систем с монохромным дисплеем или Color Graphics Adapter (CGA) доступен только этот размер экрана. Если Ваш персональный компьютер имеет EGA или VGA адаптер, можно ипользовать опцию 43/50 строк. Интегрированная усовершенствованная среда показывает 43 строки и 80 столбцов, если имеется EGA адаптер, и 50 строк на 80 столбцов, если имеется VGA адаптер. ┌────────────────────┐ │Source tracking │ │ (.) New window │ │ ( ) Current window │ └────────────────────┘ - При пошаговом прохождении или установлении местоположения ошибки в исходном коде интегрированная усовершенствованная среда открывает новое окно, как только она встретит файл, который не был еще загружен. Выбор Current Window приводит к тому, что интегрированная усовершенствованная среда заменяет содержание самого верхнего окна редактора новым файлом вместо открытия нового окна редактора. ┌─────────────────┐ │Auto save │ │ [ ] Editor files│ │ [ ] Environment │ │ [ ] Desktop │ └─────────────────┘ - Если Editor Files включена в опции Auto Save, и если файл был изменен со времени последнего сохранения, Turbo Pascal автоматически сохраняет исходный файл, как только Вы выбрали Run/Run (или любую другую команду отладки/выполнения) или File/DOS Shell команду. Когда включена опция Environment, все установки, сделанные во время этого сеанса работы, автоматически сохранятся в файле конфигурации TURBO.TP при выходе из Turbo Pascal. Когда включена опция Desktop, Turbo Pascal определяет, будет ли Ваша конфигурация (в файле TURBO.DSK) сохраняться при выходе и будет ли она восстанавливаться при возврате в Turbo Pascal. Ваша информация о конфигурации не будет сохраняться, если файл .ТР не создан (автоматически или с помощью выбора команды Options/Save Options), а зависимая кнопка Desktop Files не установлена в значение, отличное от None. ┌──────────────────────────┐ │Desktop file │ │ ( ) None │ │ ( ) Current Directory │ │ (.) Config file directory│ └──────────────────────────┘ - Если Вы хотите, чтобы IDE сохранила файл конфигурации окон и восстанавливала конфигурацию окон последнего сеанса программирования, выберите зависимую кнопку Current Directory или Config File Directory. Когда IDE сохраняет файл конфигурации TURBO.TP, она также создает TURBO.DSK, содержащий информацию об окнах редактора, позицию всех окон, архивные списки, положение точек прерывания и другую информацию. Все это можно сохранить и восстановить автоматически включением обеих опций Environment и Desktop в группе Auto Save. Альтернативно, можно создать TURBO.TP, используя диалоговое окно Options/Save Options. Когда в следующий раз Вы загрузите TURBO.EXE, он будет искать TURBO.TP и TURBO.DSK в текущем справочнике. Если они будут найдены, то они загрузятся, а конфигурация предыдущего сеанса работы и конфигурация окон восстановятся. Если TURBO.TP не будет найден в текущем справочнике, IDE будет искать его в справочнике, содержащем сам TURBO.EXE. Editor (редактор). При выборе Editor в меню Environment появляются опции, из которых можно осуществить выбор. Диалоговое окно Editor Options имеет несколько независимых кнопок, управляющих обработкой текста в окнах редактора. ┌──────────────────────────┐ │Editor Options │ │ [X] Create backup files │ │ [X] Insert mode │ │ [X] Autoindent mode │ │ [X] Use tab character │ │ [X] Optimal fill │ │ [X] Backspace unindents │ │ [X] Cursor through tabs │ └──────────────────────────┘ - При включенной кнопке Create Backup Files (по умолчанию) Turbo Pascal автоматически создает копию исходного файла в окне редактора, если Вы выберете File/Save и дает этой копии файла расширение .BAK. - При выключенной опции Insert Mode любой текст, набираемый в окнах редактора, будет перекрывать существующий текст. Когда эта опция включена, набираемый текст вставляется (сдвигая вправо). Нажатие Ins включает Insert режим при работе в окне редактора. - Когда включена опция Autoindent Mode, нажатие Enter в окне редактора устанавливает курсор под первый непустой символ в первой непустой строке. Это поможет Вам сделать код Вашей программы более читаемым. ┌────────────┐ │Tab Size 8 │ └────────────┘ - Когда включена опция Use Tab Character, Turbo Pascal вставляет символ табуляции (ASCII 9) при нажатии клавиши Tab. Если эта опция отключена, Turbo Pascal заменяет табуляцию пробелами, число которых определено установкой Tab Size, описанной далее. - При включении опции Optimal Fill, Turbo Pascal начинает каждую строку абзаца с минимально возможным количеством символов, используя табуляцию и пробелы по мере необходимости. Это приводит к созданию строк с меньшим количеством символов, чем при отключенной опции Optimal Fill. - Когда включена опция Backspace Unindents (по умолчанию), а курсор стоит на непустой строке или первом непустом символе строки, Клавиша ПРОБЕЛ выравнивает строку до уровня без отступов. - При включенной опции Cursor Through Tabs, клавиши со стрелками передвинут курсор к середине табуляции; в противном случае курсор перепрыгнет несколько столбцов, пока не установится под табуляцией. - При включении опции Use Tab Character в этом диалоговом окне и нажатии Tab, Turbo Pascal вставляет символ табуляции в файл и передвигает курсор к следующему знаку табуляции. Окно ввода Tab Size позволяет установить, сколько символов до следующего знака табуляции будет пропущено. Допустимыми значениями являются значения от 2 до 16; по умолчанию задано 8. Чтобы изменить способ, которым табуляция изображается в файле, просто измените значение размера табуляции на требуемый размер. Turbo Pascal пересчитает все табуляции в этом файле с учетом того размера, который был выбран. Можно сохранить этот новый размер табуляции в файле конфигурации посредством выбора команды Options/Save Options. Mouse (мышка). При выборе Mouse из меню Environment, показывается диалоговое окно Mouse Options, содержащее все установки для мышки. ╔═[█]══════════════ Mouse Options ═══════════════════╗ ║ ║ ║ Right Mouse Button Mouse Double Click ║ ║ ( ) Nothing Fast Medium Slow ║ ║ (.) Topic search <ЁЁЁЁЁЁЁЁЁЁ█ЁЁЁЁЁЁЁЁЁЁЁЁЁЁ> ║ ║ ( ) Go to cursor ║ ║ ( ) Breakpoint [ ] Reverse mouse buttons ║ ║ ( ) Evaluate ║ ║ ( ) Add watch ║ ║ ║ ║ [ OK ] [ Cancel ] [ Help ] ║ ║ ║ ╚════════════════════════════════════════════════════╝ Зависимые кнопки Right Mouse Button определяют эффект нажатия правой клавиши мышки (или левой клавиши, если включена опция Reverse Mouse Buttons). По умолчанию задается Topic Search. Ниже приведен список, что будет делать правая клавиша мышки, если Вы выберете установку, отличную от Nothing: Topic Search подобно Help/Topic Search Go to Cursor подобно Run/Go to Cursor Breakpoint подобно Debug/Toggle Breakpoint Evaluate подобно Debug/Evaluate Add Watch подобно Debug/Watches/Add Watch В окне Mouse Double Click можно изменить передвигающуюся отметку на полосе управления для настройки скорости двойной отметки мышкой, используя клавиши со стрелками. Перемещение отметки ближе к Fast означает, что Turbo Pascal требует более короткого времени между отметками для распознавания двойной отметки. Перемещение отметки ближе к Slow означает, что Turbo Pascal будет распознавать двойную отметку, даже если между отметками прошло достаточно много времени. При включении кнопки Reverse Mouse Buttons, активной кнопкой мышки становится самая правая вместо самой левой. Заметим однако, что кнопки на самом деле не переключатся до тех пор, пока не будет выбрана кнопка OK. Startup (установки). Выбор Startup из меню Environment позволяет выбрать установки для интегрированной среды. ╔═[█]════════════════ Startup options ══════════════════════╗ ║ ║ ║ ┌──────────────────────────┐ ║ ║ │ [ ] Dual monitor support │ ┌─────┐ ║ ║ │ [ ] Graphics screen save │ Window heap size │ 32 │ ║ ║ │ [ ] EGA/VGA palette save │ └─────┘ ║ ║ │ [X] CGA snow checking │ ┌─────┐ ║ ║ │ [ ] LCD color set │ Editor heap size │ 28 │ ║ ║ │ [X] Use expanded memory │ └─────┘ ║ ║ │ [X] Load TURBO.TPL │ ┌─────┐ ║ ║ └──────────────────────────┘ Overlay heap size │ 112 │ ║ ║ └─────┘ ║ ║ ┌───────────────────────────────┐ ║ ║ Swap file directory │ │ ║ ║ └───────────────────────────────┘ ║ ║ ║ ║ [ OK ] [ Cancel ] [ Help ] ║ ║ ║ ╚═══════════════════════════════════════════════════════════╝ Все эти опции соответствуют опциям командной строки, упомянутым в начале этой главы. Изменения, которые Вы делаете здесь, записываются прямо в TURBO.EXE и не действуют до тех пор, пока Вы не загрузите в следующий раз IDE. Colors (цвета). Используйте диалоговое окно Colors для настройки IDE по своему вкусу. ╔═[█]════════════════════ Colors ═══════════════════════════╗ ║ ║ ║ Group Item ┌── Foreground─┐ ║ ║ ┌─────────────────┐ ┌────────────────┐ │ .│ │ │ │ │ ║ ║ │Ў Desktop ў ^ │ │Ў Color ў ^ │ ├──┼──┼──┼──┼──┤ ║ ║ │ Menus █ │ │ Ё │ │ │ │ │ │ │ ║ ║ │ Dialogs Ё │ │ Ё │ ├──┼──┼──┼──┼──┤ ║ ║ │ Editor Ё │ │ Ё │ │ │ │ │ │ │ ║ ║ │ Help Ё │ │ Ё │ └──┴──┴──┴──┴──┘ ║ ║ │ Watches Ё │ │ Ё │ ┌── Background─┐ ║ ║ │ Call stack Ё │ │ Ё │ │ │ │ │ │ │ ║ ║ │ Register Ё │ │ Ё │ ├──┼──┼──┼──┼──┤ ║ ║ │ Output Ё │ │ Ё │ │ │ │ │ │ .│ ║ ║ │ Compiler Ё │ │ Ё │ └──┴──┴──┴──┴──┘ ║ ║ │ Ё │ │ Ё │ Text Text Text ║ ║ │ v │ │ v │ Text Text Text ║ ║ └─────────────────┘ └────────────────┘ ║ ║ ║ ║ [ OK ] [ Cancel ] [ Help ] ║ ║ ║ ╚═══════════════════════════════════════════════════════════╝ Список Group содержит имена различных областей IDE, которые можно настроить. При выборе этой группы окно списка Item будет содержать имена различных видов этой области. В цветной и черно-белой системах можно менять основной и фоновый цвета, используя мышку или курсор для изменения палитры. Во всех системах текст в нижнем правом углу диалогового окна отражает текущие установки. Изменение не действует на конфигурацию окон до тех пор, пока Вы не закроете диалоговое окно (путем выбора ОК). Save Options (сохранить опции). Options/Save Options команда выводит диалоговое окно, позволяющее сохранить установки, сделанные в диалоговых окнах Find и Replace (из меню Search), Destination и Primary File (из меню Compile) и все установки в меню Options. Все опции и таблица команд редактора хранятся в файле TURBO.TP; архивные списки, конфигурация окон и положение точек прерывания находятся в файле TURBO.DSK. Если Turbo Pascal не находит эти файлы, он ищет их в справочнике, в котором запускается TURBO.EXE. Retrieve options (восстановить установки). Команда Options/Retrieve Options вызывает диалоговое окно, позволяющее восстановить установки, сделанные в диалоговых окнах Find и Replace (из меню Search), опции Destination и Primary File (из меню Compile) и все установки Options. Если Desktop File (.DSK) установлена в Current Directory или Config File Directory, то TURBO.DSK также будет загружен. Меню Window (окна). Window меню содержит команды управления окном. Большинство из окон, которые Вы откроете из этого меню, имеют все стандартные элементы окна такие, как окна скроллинга, закрывающую кнопку и кнопки масштабирования. Команды Tile и Cascade всегда будут переделывать окна редактора в области выше окон Watch, Output и Call Stack. Если эти окна не открыты, то Tile и Cascade будут использовать весь экран. Внизу меню Window появляется команда Window/List. Выберите эту команду для получения списка всех открытых окон. Size/Move (размер/позиция). ┌──────┐ ┌───┐ │ Ctrl │ │F5 │ └──────┘ └───┘ Выберите Window/Size/Move для изменения размера или позиции активного окна. При выборе этой команды активное окно передвигается в соответствии с нажатием клавиш со стрелками. Когда окно находится в требуемом месте, нажмите Enter. Также можно передвигать окно путем волочения за заголовок. Если одновременно с нажатием клавиш со стрелками Вы нажмете Shift, то можете изменить размер окна. При достижении требуемого размера нажмите Enter. Если окно имеет уголок для изменения размеров, можно тащить за этот уголок или любой другой угол для изменения размеров окна. Zoom (масштабирование). ┌────┐ │ F5 │ └────┘ Выберите Window/Zoom для того, чтобы сделать активное окно максимального размера. Если окно уже было увеличено до максимума, можете выбрать эту команду для восстановления предыдущего размера окна. Можно также дважды отметить в любом месте верхней строки окна (за исключением мест, где есть значки) для того, чтобы увеличить или уменьшить окно. Tile (черепица). Выберите Window/Tile для того, чтобы разместить на экране все открытые окна подобно черепице. Эта команда делает все окна редактора одинаковыми по размеру и размещает их одно за другим без перекрытий. Cascade (каскад). Выберите Window/Cascade для того, чтобы во вложенном виде разместить на экране все открытые окна. Эта команда позволяет просматривать только активное окно; для других окон видны только имена файлов и номера окон. Next (следующий). ┌────┐ │ F6 │ └────┘ Выберите Window/Next для того, чтобы сделать активным следующее окно, которое станет самым верхним открытым окном. Previous (предыдущий). ┌───────┐ ┌─────┐ │ Shift │ │ F6 │ └───────┘ └─────┘ Выберите Window/Previous для того, чтобы сделать активным предыдущее окно (окно, открытое последним перед текущим активным окном). Close (закрыть). ┌───┐┌───┐ │Alt││ F3│ └───┘└───┘ Выберите Window/Close для закрытия активного окна. Можно также отметить закрывающую кнопку в левом верхнем углу для закрытия окна. Watch (просмотр). Выберите Window/Watch для открытия окна Watch (просмотра) и для его активизации. Окно Watch показывает выражения и изменения их значений так, что Вы можете видеть, как Ваша программа вычисляет ключевые значения. Используйте команды в меню Debug/Watches для добавления и удаления элементов просмотра из этого окна. Обратитесь к разделу по этому меню для получения информации о том, как использовать окно Watch. Чтобы закрыть это окно, отметьте закрывающую кнопку или выберите Window/Close. Register (регистр). Выберите Window/Register для открытия окна Register и его активизации. Register окно показывает регистры CPU и особенно полезно при отладке встроенного Ассемблера. Чтобы закрыть это окно, отметьте закрывающую кнопку или выберите Window/Close. Ouput (вывод). Выберите Window/Output для открытия окна вывода и его активизации. Окно Output показывает текст любой командной строки DOS и любой текст, сгенерированный Вашей программой (не графический). Окно Output является удобным во время отладки, потому что можно посмотреть свой исходный код, переменные и вообще весь вывод. Это особенно полезно, когда в диалоговом окне Options/Environment установлено 43 строк, а Вы выполняете программу в стандартном 25- строчном режиме. В этом случае можно видеть почти весь вывод программы и еще иметь избыток строк для просмотра своего исходного кода и переменных. Если Вы захотите увидеть текст своей программы на полном экране - или если Ваша программа генерирует графику - вместо этой команды выберите команду Window/User Screen. Чтобы закрыть это окно, отметьте закрывающую кнопку или выберите Window/Close. Call Stack (вызов стека). ┌──────┐ ┌─────┐ │ Ctrl │ │ F3 │ └──────┘ └─────┘ Window/Call Stack команда открывает диалоговое окно, содержащее последовательность процедур, вызванных Вашей программой, для получения выполняемой сейчас процедуры. Внизу стека находится Program (или имя Вашей программы), а вверху выполняемая сейчас процедура. Каждая запись стека показывает имя вызванной процедуры и значения передаваемых в нее параметров. Вначале высвечивается запись вверху стека. Для того, чтобы посмотреть текущую строку по любой другой процедуре в стеке вызова, выберите имя процедуры и нажмите Enter. Курсор переместится к строке, содержащей вызов процедуры, стоящей выше ее в стеке. Стек вызова останется в конфигурации окон до тех пор, пока Вы не закроете его. User Screen (экран пользователя). ┌─────┐ ┌──┐ │ Alt │ │F5│ └─────┘ └──┘ Выберите Window/User Screen для просмотра вывода своей программы на полном экране. Если Вы хотите посмотреть вывод своей программы в окне Turbo Pascal, выберите вместо нее команду Window/ Output. Для возврата в интегрированную среду отметьте или нажмите любую клавишу. List (список). Выберите Window/List для получения списка всех открытых окон. Этот список содержит имена всех текущих открытых файлов. При выборе открытого файла из этого списка Turbo Pascal выводит окно на передний план и активизирует его. ┌───┐┌───┐ │Alt││ 0 │ └───┘└───┘ Нажмите Alt-0 для появления полного списка всех открытых окон. Меню Help (помощь). Меню Help (справочной информации) дает доступ к встроенной справочной информации в специальном окне. Справочная информация имеется по всем аспектам интегрированной среды и Turbo Pascal. (Также, в строке статуса появляются подсказки для меню в одну строку и диалоговых окон, когда бы ни была выбрана команда). Для открытия Help окна выполните одно из следующих действий: - Нажмите F1 в любой момент времени (находясь в любом диалоговом окне или при выборе любой команды меню). - Когда окно редактора активно, а курсор стоит под словом, нажмите Ctrl-F1 для получения справочной информации по языку. - Отметьте кнопку Help, когда она появится в строке статуса или в диалоговом окне. Для закрытия окна Help, нажмите Esc или закрывающую кнопку, или выберите команду Window/Close. Можно держать окно Help в другом окне во время работы, если окно Help не было открыто из диалогового окна или не была нажата клавиша F1 при выборе команды меню. (Если Вы нажмете клавишу F6 или клавишу мышки для другого окна, когда находитесь в Help, окно Help останется на экране). Экраны Help часто содержат ключевые слова (высвеченный текст), которые можно выбрать для получения большей информации. Нажмите Tab для перехода к ключевому слову; нажмите Enter для получения более подробной справочной информации. (Альтернативным способом является подведение курсора к высвеченному ключевому слову и нажатие Enter). С мышкой, можно дважды отметить любое ключевое слово для открытия справочного текста по этому элементу. Примечание. При получении справочной информации в диалоговом окне или меню нельзя изменять размер окна или копировать в карман. В этом случае, Tab используется для управления диалоговым окном, а не для перехода к ключевому слову. Вы можете нажать Ctrl-F1 на любом слове для получения справочной информации. Если слово не найдено, выполняется поиск вперед по оглавлению и показывается ближайший соответствующий текст. Когда окно Help активно, можно копировать из окна и вставлять этот текст в окно редактора. Выберите сначала текст (используя Shift плюс стрелку вправо, стрелку влево, стрелку вверх, стрелку вниз), выберите Edit/Copy, перейдите в Edit окно и выберите команду Edit/Paste. Чтобы выбрать текст в окне Help, тащите за требуемый текст или, когда встанете на начало блока, нажимайте ShiftЎ,ў, °,∙ для пометки блока. Можно также копировать заранее выбранные примеры программ из экрана подсказки посредством выбора команды Edit/Copy Example. Contents (содержание). Команда Help/Contents открывает окно Help с основной таблицей содержания. Из этого окна можно перейти к любой другой части системы справочной информации. ┌──┐ │F1│ └──┘ Можно получить подсказку по справочной информации посредством нажатия F1, когда окно Help активно. Можно также получить этот экран, отметив строку статуса. Index (оглавление). Help/Index команда открывает диалоговое окно, показывающее полный список ключевых слов справочной информации (специально высвеченный текст на экране справочной информации, позволяющий быстро передвигаться к соответствующему экрану). Можно сделать скроллинг списка или поиск вперед по этому списку посредством нажатия букв на клавиатуре. Например, для того чтобы посмотреть наличие информации по "printing", можно набрать p r i. Когда Вы наберете р, курсор прыгнет на первое ключевое слово, начинающееся на р. Когда Вы наберете r, курсор прыгнет на первое ключевое слово, начинающееся на pr. Когда Вы наберете i, курсор прыгнет на первое ключевое слово, начинающееся на pri, и так далее. Когда Вы найдете интересующее Вас ключевое слово, выберите его, установив под ним курсор и нажав Enter. (Можно также отметить дважды клавишу мышки). Topic Search (поиск раздела). ┌────┐┌───┐ │Ctrl││ F1│ └────┘└───┘ Help/Topic Search команда показывает справочную информацию по языку и по текущему выбранному элементу. Чтобы получить справочную информацию по языку, установите курсор под элементом в окне редактора и выберите Topic Search. Можно получить справочную информацию по таким элементам, как имена процедур, (Writeln, например), зарезервированным словам и т.д. Если справочной информации по этому элементу нет, то оглавление справочной информации покажет ближайший соответствующий элемент. Previous Topic (предыдущий раздел). ┌───┐┌────┐ │Alt││ F1 │ └───┘└────┘ Help/Previous Topic команда открывает окно Help и вновь показывает текст, который вы просматривали последний раз. Turbo Pascal позволяет просмотреть 20 предыдущих экранов подсказки. Можно также отметить строку статуса для просмотра последнего экрана справочной информации. Help on Help (подсказка по справочной информации). ┌─────┐ │ F1 │ └─────┘ Help/Help on Help команда открывает текстовый экран, поясняющий, как пользоваться системой справочной информации. Если Вы уже находитесь в системе справочной информации, можно вызать этот экран нажатием F1.