Приложение 1.
Среда разработчика

   

   

Главное меню

Опция File

    Перечислим опции, находящиеся в пункте меню File (таблица 1):

Таблица 1. Опции пункта меню File
Опция Назначение
New
Опция-заголовок. При ее выборе раскрывается подменю со следующими опциями:
  • Application - создает новую программу для Windows;
  • CLX Application - создает новую программу для Windows и Linux;
  • Data Module - создает новый модуль данных;
  • Form - создает новую форму и подключает ее к проекту;
  • Frame - создает новую раму;
  • Other - открывает окно репозитория (рис.1).
Open
Открывает ранее созданную форму.
Open Project
Открывает ранее созданный проект.
Reopen
Вызывает список ранее загружавшихся проектов и форм для выбора и повторной загрузки.
Save
Сохраняет активную форму.
Save As
Сохраняет активную форму под другим именем.
Save Project As
Сохраняет файл проекта под другим именем.
Save All
Сохраняет файл проекта и все открытые модули.
Close
Закрывает активную форму.
Close All
Закрывает проект.
Use Unit
Вставляет в текущую форму ссылку на другой модуль.
Print
Печатает активную форму или модуль.
Exit
Прекращает работу Delphi.

    К оглавлению

Репозиторий Delphi

    Окно репозитория Delphi открывается при выборе File | New | Other и имеет вид, показанный на рисунке 1:


Рис.1. Окно репозитория

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

    Ниже кратко описывается методика размещения в репозитории разработанной программистом формы.

  1. Разработайте форму, которую вы часто будете использовать в разных проектах. Если вы хотите тиражировать какую-то форму текущего проекта, ее нет нужды размещать в репозитории - она там уже есть на закладке с именем вашего проекта (такая закладка репозитория автоматически создается для каждого открываемого проекта). Поместите на ней все необходимые интерфейсные компоненты и, если это необходимо, закодируйте обработчики их событий.
  2. Сохраните форму в любой папке жесткого диска. Для упорядочения поиска прототипов можно использовать для этих целей папку Objrepos каталога размещения Delphi.
  3. Щелкните по форме правой кнопкой мыши и в локальном меню выберите Add to Repository. На экране появится диалоговое окно регистрации формы в репозитории (рис. 2).


    Рис.2. Окно регистрации формы в репозитории

  4. В строке Title напишите имя, под которым форма будет зарегистрирована в репозитории, например, WorkForm, в строке Description - описание формы, например, Основная форма для проекта Bibliophil, в строке Author - свое имя. Раскройте список Page и выберите закладку страницы репозитория, на которой следует разместить форму, после чего щелкните по кнопке OK - форма помещена в репозитории. Заметим, что, если вы не укажете страницу, форма не будет размещена в репозитории, однако вы сможете ее найти на странице, связанной с закладкой с именем вашего проекта. Тиражирование такой формы, как и любой другой формы этой страницы, возможно только в рамках вашего проекта.

    Вновь размещенную форму можно сделать главной. Такая форма создается при старте нового проекта (опция главного меню File | New Application). Для определения главной формы выберите опцию Tools | Repository, укажите страницу размещения в левом списке Pages диалогового окна и форму в правом списке Objects, после чего установите флажок в переключателе Main Form. Если установить флажок в переключателе New Form, форма будет создаваться при щелчке по пиктографической кнопке New Form или при выборе опции File | New Form.

    К оглавлению

Опция Edit

    Перечислим опции, находящиеся в пункте меню Edit (таблица 2):

Таблица 2. Опции пункта меню Edit
Опция Назначение
Undo
Отменяет последнее изменение проекта.
Redo
Восстанавливает последнее изменение проекта.
Cut
Вырезает выбранный компонент формы или фрагмент текста и помещает его в буфер Clipboard.
Copy
Копирует в Clipboard выделенные компоненты формы или фрагмент текста модуля.
Paste
Извлекает из буфера и переносит компоненты на форму или копирует текст в модуль (в позицию, указываемую текущим положением текстового курсора).
Delete
Удаляет выделенные компоненты или фрагмент текста.
Select All
Выделяет все компоненты формы или весь текст модуля.
Align To Grid
Привязывает выделенные компоненты к масштабной сетке так, чтобы их левые верхние углы располагались в ближайших точках сетки.
Bring To Front
Перемещает выделенные компоненты на передний план.
Send To Back
Перемещает выделенные компоненты на задний план.
Align
Вызывает окно выравнивания выделенных компонентов (рис.3).
Size
Вызывает окно изменения размеров выделенных компонентов (рис.4).
Scale
Масштабирует выделенные компоненты (рис. 5).
Tab Order
Изменяет порядок обхода компонентов клавишей Tab.
Creation Order
Изменяет порядок создания невизуальных компонентов.
Flip Children,
Lock Controls,
Add to interface
Изменяет свойство BiDiMode для всех или только для выделенных компонентов Блокирует возможность перемещения компонентов на форме Определяет новые свойства, методы и события для компонентов ActiveX.

    К оглавлению

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

    Показанные ниже окна (рис.3-5) обрабатывают группу выделенных на форме компонентов по образу (или относительно) первого выделенного. Чтобы выделить группу компонентов, нужно нажать и удерживать клавишу Shift, после чего щелкать по компонентам левой кнопкой мыши. Каждый отмеченный таким образом компонент выделяется серыми квадратиками по углам его видимых границ. Затем вызываются опции Align, Size или Scale для соответственно выравнивания, изменения размеров или масштабирования компонентов. Другой вариант - не отпуская Shift, щелкнуть правой кнопкой мыши по любому свободному месту формы и выбрать нужную опцию в локальном меню.


Рис.3. Окно выравнивания компонентов

    Переключатели этого окна определяют выравнивание всех выделенных компонентов относительно самого первого выделенного компонента (эталона):

    Группа переключателей Width (рис.4) регулирует ширину выделенных компонентов, а группа Height - их высоту:


Рис.4. Окно изменения размеров компонентов

    С помощью окна Scaling factor вводится коэффициент масштабирования в процентах от текущих размеров (рис.5):


Рис.5. Окно масштабирования компонентов

    К оглавлению

Опция Search

    Перечислим опции, находящиеся в пункте меню Search (таблица 3):

Таблица 3. Опции пункта меню Search
Опция Назначение
Find
Ищет фрагмент текста и подсвечивает его, если он найден.
Find In Files
Ищет фрагмент текста во всех файлах проекта, или только в открытых файлах.
Replace
Ищет и заменяет фрагмент текста во всех файлах текущего каталога.
Search Again
Повторяет поиск или поиск и замену.
Incremental Search
Ищет текст по мере его ввода - сначала первую букву, затем две первые буквы и т. д..
Go to Line Number
Перемещает курсор на строку с указанным номером от начала файла.
Find Error
По адресу ошибки периода прогона программы отыскивает фрагмент кода, связанный с ней.
Browse Symbol
Показывает место возникновением определения символа программы (опция доступна только после успешного прогона программы). Символом считается любой глобальный идентификатор вашего проекта.

    К оглавлению

Опция View

    Перечислим опции, находящиеся в пункте меню View (таблица 4):

Таблица 4. Опции пункта меню View
Опция Назначение
Project Manager
Показывает окно Менеджера проекта.
Translation Manager
Открывает доступ к Менеджеру трансляций.
Object Inspector
Показывает окно Инспектора объектов.
Object TreeView
Показывает окно Дерева объектов.
To-Do List
Открывает доступ к списку To-Do.
Alignment Palette
Показывает окно палитры выравнивания компонентов.
Browser
Показывает окно браузера объектов.
Code Explorer
Показывает спрятанное ранее окно Навигатора кода.
Component List
Показывает окно для выбора компонентов.
Window List
Показывает окно открытых окон проекта.
Debug Windows
Отладочные окна. Эта опция-заголовок открывает доступ к подменю со следующими опциями:
  • Breakpoints - показывает окно точек останова;
  • Call Stack - окно стека;
  • Watching expressions - показывает окно наблюдения за переменными/выражениями;
  • Local Variables - позволяет наблюдать за изменениями локальных переменных в отладочном режиме;
  • Threads - показывает окно статуса потоков команд;
  • Modules - показывает окно модулей проекта;
  • Event Log - показывает журнал событий;
  • CPU - показывает состояние регистров центрального процессора;
  • FPU - показывает состояние регистров арифметического сопроцессора.
Desktops
Управляет конфигурациями основных окон. Эта опция-заголовок открывает доступ к подменю со следующими опциями:
  • Save Desktop - сохраняет текущую конфигурацию;
  • Delete - удаляет ранее сохраненную конфигурацию;
  • Save Debug Desktop - определяет текущую конфигурацию как отладочную.
Toggle Form/Unit
Переключает активность из окна формы в окно кода программы и обратно.
Units
Показывает окно со списком модулей.
Forms
Показывает окно со списком форм.
Type Library
Показывает окно библиотеки типов.
New Edit Window
Открывает новое окно с кодом текущего модуля.
Toolbars
Показывает окно настроек панелей инструментальных кнопок:
  • View as Form/Text - показывает окно формы в обычном виде или в виде текстового описания;
  • Next Window - показывает следующий присоединенный к проекту модуль.

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

    К оглавлению

Менеджер проекта.

    Центральную часть окна менеджера проекта (рис. 6) занимает список всех связанных с проектом форм.


Рис.6. Окно Менеджера проекта

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

    С помощью менеджера проектов осуществляется компиляция проекта на тот или иной язык локализации. Если для проекта определены языки локализации, в группе проектов помимо исполняемого файла хххх.ехе будут дополнительные проекты с тем же именем, но разными расширениями (по одному проекту на каждый язык локализации). Если, например, язык локализации английский (Великобритания), в группе будет проект xxxx.eng. Сделайте активным нужный проект и вызовите опцию Project | Build хххх (хххх - имя вашего проекта). В результате будет откомпилирован нужный ресурсный файл. После, этого вновь активизируйте проект хххх.ехе, с помощью опции Project | Language | Set Active, укажите язык локализации и вновь откомпилируйте проект. К нему будет подключен нужный ресурсный файл, и ваша программа станет локализованной.

    К оглавлению

Менеджер трансляций.

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

    Для выбора языка (языков) локализации используется опция меню Project | Language. Главным языком программы по умолчанию считается язык локализации Windows, так что если Delphi работает под управлением русскоязычной Windows, главным языком будет русский.

    Вкладки менеджера трансляций показаны на рисунке 7:



Рис.7. Вкладки Менеджера трансляций

    Для представленного на нем примера главным языком программы является русский, а языком локализации - английский (США).

    К оглавлению

Список ТО-DO.

    Список ТО-DO предназначен для координации работы нескольких программистов в рамках одного проекта. Он содержит все комментарии проекта, которые начинаются символами //todo: (рис. 8, 9):


Рис.8. Комментарий для списка TO-DO


Рис.9. Пример списка ТО-DO

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

    После вызова списка ТО-DO переход к нужному комментарию осуществляется двойным щелчком мыщи на соответствующей строке списка.

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

    В списке можно указать приоритет сообщения (колонка "! "), его собственника (Owner) и категорию.

    Эти параметры можно задать с помощью соответствующих ключей непосредственно в комментарии (см. рис. 8) или после вызова редактора сообщения в списке (он вызывается после активизации сообщения и нажатия клавиши F2).

    К оглавлению

Браузер объектов.

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

    К оглавлению

Опция Project

    Перечислим опции, находящиеся в пункте меню Project (таблица 5):

Таблица 5. Опции пункта меню Project
Опция Назначение
Add To Project
Добавляет файл к проекту.
Remove From Project
Удаляет файл из проекта.
Import Type Library
Импортирует в проект библиотеку типов элементов ActiveX.
Add To Repository
Помещает проект в репозиторий.
View Source
Показывает окно с кодом проекта.
Languages
Позволяет добавить новый, удалить или сделать главным один из существующих языков локализации. Имеет следующие опции:
  • Add - добавляет новый язык локализации;
  • Remove - удаляет существующий язык локализации;
  • Set Active - делает активным язык локализации;
  • Update Resources DLL - создает заново ресурсные DLL, управляющие локализацией программы.
Add New Project
Добавляет программу, DLL или пакет к текущей проектной группе.
Add Exists Project
Открывает проект и добавляет его к текущей проектной группе.
Compile Project1
Компилирует модули, которые изменились с момента предыдущей компиляции проекта.
Build Project1
Компилирует все модули проекта и создает исполняемую программу.
Syntax Check Project1
Проверяет синтаксическую правильность программы.
Information
Показывает информацию о программе.
Compile All Projects
Компилирует все файлы данной проектной группы, которые изменились с момента предыдущей компиляции.
Build All Projects
Компилирует все файлы данной проектной группы независимо от того, изменялись ли они или нет с момента последней компиляции.
Web Deployment Options
Устанавливает компонент ActiveX или ActiveForm на Web-сервере. Вызывается перед компиляцией проекта.
Web Deploy
Устанавливает компонент ActiveX или ActiveForm на Web-сервере. Вызывается после компиляции проекта.
Options
Показывает диалоговое окно установки параметров проекта.

    К оглавлению

Выбор языков локализации.

    После выбора Project | Languages | Add вызывается окно эксперта выбора языков локализации проекта (рис. 10):


Рис.10. Окно выбора языков локализации

    В нем указывается один или несколько проектов, для которых осуществляется локализация, и главный язык проекта (код $419 соответствует русскому языку). В следующем окне (после щелчка по кнопке Next) вы сможете выбрать языки локализации, отметив их флажками. На следующем шаге эксперт предложит вам указать каталоги размещения библиотек, которые будут содержать локализованные ресурсы. Все библиотеки имеют одинаковое название хххх.drc (хххх - имя проекта), поэтому они должны размещаться в разных каталогах. Для компиляции программы с тем или иным языком локализации используются менеджер проекта и опция Project | Language | Set Active.

    К оглавлению

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

    Управление опциями проекта осуществляется с помощью диалогового окна, вызываемого опцией Project | Options.

    На странице Forms окна опций проекта (рис. 11) указывается главная форма проекта, а также автоматически создаваемые формы (Auto-create forms) и доступные проекту формы (Available forms).


Рис.11. Окно опций проекта

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

    На странице Application указывается подпись под пиктограммой свернутой программы (Title), сама пиктограмма (Icon) и имя Help-файла (Help file).

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

    Страница Linker определяет параметры компоновщика, в том числе:

    Страница Directories/Conditionals задает каталоги размещения и условные символы:

    На странице Versioninfo сосредоточены параметры управления информацией о версии программы:

    К оглавлению

Опция Run

    Перечислим опции, находящиеся в пункте меню Run (таблица 6):

Таблица 6. Опции пункта меню Run
Опция Назначение
Run
Компилирует и выполняет программу.
Attach to Process
Позволяет присоединиться в режиме отладки к одному из уже запущенных процессов на другой сетевой машине.
Parameters
Позволяет задать командную строку запуска программы.
Register ActiveX Server
Регистрирует проект в реестре Windows. Опция доступна для ActiveX-проектов.
Unregister ActiveX Server
Удаляет проект из реестра Windows. Опция доступна для ActiveX-проектов.
Install MTS Objects
Регистрирует в проекте объект MTS.
Step Over
В отладочном режиме выполняет текущую строку кода и не прослеживает работу вызываемых подпрограмм.
Trace Into
В отладочном режиме выполняет текущую строку кода и прослеживает работу вызываемых подпрограмм.
Trace To Next Source Line
Программа выполняется до ближайшего от текущего положения курсора исполняемого оператора.
Run To Cursor
В отладочном режиме выполняет программу и останавливается перед выполнением кода в строке с текстовым курсором.
Run Until Return
В отладочном режиме выполняет текущую подпрограмму и останавливается.
Show Execution Point
Отображает в окне кода оператор, на котором было прервано выполнение программы.
Program Pause
Приостанавливает прогон отлаживаемой программы.
Program Reset
Прекращает прогон программы и восстанавливает режим конструирования программы.
Inspect
Открывает окно проверки текущего значения.
Evaluate/Modify
Открывает окно проверки/изменения переменных.
Add Watch
Добавляет переменную или выражение в окно наблюдения.
Add Breakpoint
Добавляет точку останова.

    К оглавлению

Опция Component

    Перечислим опции, находящиеся в пункте меню Component (таблица 7):

Таблица 7. Опции пункта меню Component
Опция Назначение
New Component
Открывает окно создания компонентов.
Install Component
Инсталирует компонент в существующий или новый пакет.
Import ActiveX Control
Добавляет к проекту библиотеку типов ActiveX-компонентов.
Create Component Template
Помещает шаблон в палитру компонентов.
Install Packages
Указывает пакеты, необходимые на этапе конструирования и прогона программы.
Configure Palette
Вызывает диалоговое окно настройки палитры компонентов.

    К оглавлению

Опция Database

    Перечислим опции, находящиеся в пункте меню Database (таблица 8):

Таблица 8. Опции пункта меню Database
Опция Назначение
Explore
Вызывает инструмент исследования баз данных - Database Explorer или SQL Explorer (в зависимости от версии Delphi).
SQL Monitor
Вызывает инструмент запросов к БД - SQL Monitor.
Form Wizard
Вызывает окно эксперта форм для создания формы, отображающей наборы данных из удаленных или локальных БД.

    К оглавлению

Опция Tools

    Перечислим опции, находящиеся в пункте меню Tools (таблица 9):

Таблица 9. Опции пункта меню Tools
Опция Назначение
Environment Options
Вызывает окно настройки параметров среды Delphi и ее инструментов.
Editor Options
Вызывает окно настройки параметров редактора Delphi.
Debugger Options
Вызывает окно настройки параметров отладчика Delphi.

    К оглавлению

Настройка параметров среды.

    Диалоговое окно настройки параметров среды вызывается опцией Tools | Environment Options:


Рис.12. Окно настройки параметров среды

    Закладка Preferences открывает доступ к параметрам среды Delphi:

    Закладка Designer содержит настройки для процесса конструирования форм:

    Закладка Object Inspector открывает окно настройки параметров Инспектора объектов:

    Закладка Palette предоставляет средства для настройки палитры компонентов: вы может изменять порядок следования компонентов и страниц, переименовывать страницы, добавлять к ним новые компоненты, удалять существующие и т. д.

    Закладка Library определяет каталоги размещения библиотек Delphi:

    Закладка Explorer позволяет настроить свойства кодового браузера, окно которого обычно "причалено" к окну редактора кода:

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

    Закладка Type Library служит для управления свойствами редактора библиотеки типов (используется при разработке многозвенных приложений баз данных).

    Закладка Environment variables определяет т. н. переменные среды разработки, в том числе тип ОС, положение основных файлов ОС и т. п.

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

    Закладка Internet управляет форматами создаваемых файлов для передачи по Интернет (интранет).

    Закладка General окна кодового редактора (вызывается Tools | Editor Options) позволяет настроить общие свойства кодового редактора:

    Закладка Display определяет настройку экрана:

    Закладка Color позволяет выбрать цвета для отдельных синтаксических элементов. Эти цвета будут использованы для синтаксического цветовыделения.

    Закладка Key Mappings позволяет настроить "горячие" клавиши, используемые в кодовом редакторе для ускорения решения типовых задач.

    Закладка Code insight определяет используемые интеллектуальные возможности кодового редактора:

    К оглавлению

Опция Help

    Перечислим опции, находящиеся в пункте меню Help (таблица 11):

Таблица 11. Опции пункта меню Help
Опция Назначение
Delphi Help
Основная справочная служба Delphi.
Delphi Tools
Справочная служба по инструментам Delphi.
Windows SDK
Справочная служба по Windows API.
Borland Home Page
Домашняя страничка Borland.
Delphi Home Page
Домашняя страничка Delphi.
Borland Developer Support
Страничка поддержки разработчиков.
Delphi Direct
Окно Интернет-поддержки разработчика.
Customize
Вызов службы OpenHelp.
About
Окно с краткой информацией о Delphi.

   


Рис.13. Окна справочной службы

    К оглавлению

Служба OpenHelp.

    Служба OpenHelp предназначена для модификации справочной службы Delphi: с ее помощью можно удалять ненужные разделы и, что наиболее важно, вставлять новые. Последнее связано с тем, что существует множество относительно небольших фирм, занимающихся разработкой и продажей пакетов компонентов для Delphi и C++ Builder (пакеты компонентов для этих двух инструментов идентичны), а также компонентов ActiveX. Сама Delphi имеет развитые средства создания новых компонентов. Поставщики компонентов обычно поставляют вместе с ними нужные файлы справочной помощи, которые OpenHelp может сделать частью справочной службы Delphi.

    Служба OpenHelp вызывается опциями Help | Customize главного меню. Ее окно показано на рис. 14:


Рис.14. Окно службы OpenHelp

    Четыре закладки этого окна управляют содержанием:

    Чтобы удалить раздел содержания, файл справки или проект, нужно на соответствующей закладке щелкнуть по удаляемому компоненту и выбрать в меню Edit | Remove Files или щелкнуть по инструментальной кнопке.

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

    Toe-файл, как следует из документации, есть стандартный файл содержания cnt, создаваемый утилитой hcw.exe, за тем отличием, что в нем нельзя использовать секции include. Файл cnt, в свою очередь, отличается от стандартного тем, что в нем должны быть только две директивы: base и title, причем содержимое title у обоих файлов должно быть одинаковым и они должны располагаться в одной папке. После создания файлов вызывается OpenHelp, и на закладке Content щелкается кнопка или вызывается опция Edit | Add Files. В появляющемся вслед за этим диалоговом окне нужно указать положение файла toe.

    Для добавления справочного файла (.hlp) выбирается закладка Index, щелкается та же кнопка и указывается положение hlp-файла. Как показывает практика, эти два действия вполне достаточны для нормального подключения к справочной службе новой информации.

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

    К оглавлению

Работа с редактором

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

    К оглавлению

Команды перемещения курсора

    Перечислим команды, применяемые для перемещения курсора (таблица 12):

Таблица 12. Команды перемещения курсора
Клавиша(а) Назначение
"Курсор влево"
На символ влево.
"Курсор вправо"
На символ вправо.
Ctrl+"Курсор влево"
На слово влево.
Ctrl+"Курсор вправо"
На слово вправо.
"Курсор вверх"
На строку вверх.
"Курсор вниз"
На строку вниз.
HOME
В начало строки.
END
В конец строки.
Ctrl+PgUp
В начало экрана.
Ctrl+PgDn
В конец экрана.
Ctrl+HOME
В начало файла.
Ctrl+END
В конец файла.
PgUp
На страницу вверх.
PgDn
На страницу вниз.
Ctrl+Q+B
В начало блока.
Ctrl+Q+K
В конец блока.

    К оглавлению

Команды удаления/вставки

Таблица 13. Команды удаления/вставки
Клавиша(и) Назначение
Insert
Включить/отключить режим вставки.
Delete
Стереть символ справа от курсора.
Enter
Вставить строку.
Ctrl+T
Стереть слово справа от курсора.
Qtrl+Y
Удалить строку.
Ctrl+Q+Y
Стереть остаток строки справа от курсора.
Backspace
Стереть символ слева от курсора.
Ctrl+Z
Отменить последнее изменение текста.

    К оглавлению

Команды работы с блоками

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

    Перечислим основные команды работы с блоками (таблица 14):

Таблица 14. Команды работы с блоками
Клавиша(и) Назначение
Ctrl+K+T
Пометить в качестве блока слово слева от курсора.
Ctrl+K+P
Напечатать блок.
Ctrl+K+H
Убрать выделение блока цветом; повторное использование Ctrl+K+H вновь выделит блок.
Ctrl+K+Y
Удалить блок.
Ctrl+K+R
Читать блок из дискового файла в позицию, определяемую текстовым курсором.
Ctrl+K+W
Записать блок на диск.
Ctrl+K+I
Сместить блок вправо на два символа.
Ctrl+K+U
Сместить блок влево на два символа.
Shift+Delete
Вырезать блок и поместить его в Clipboard.
Ctrl+Insert
Копировать блок в буфер Clipboard.
Shift+Insert
Вставить содержимое Clipboard в позицию, указываемую текстовым курсором.

    К оглавлению

Прочие команды

Таблица 15. Прочие команды
Клавиша(и) Назначение
Ctrl+F F3
Искать по образцу (продолжить поиск).
Ctrl+R
Искать по образцу и заменить.
Ctrl+K+n
Установить маркер; n = 0..9 (см. ниже).
Ctrl+Q+n
Искать маркер.
Ctrl+Q+]
Искать парную скобку (см. ниже).
Ctrl+O+O
Вставить настройку компилятора в начало файла (см. ниже).
Ctrl+Shift+R
Начинает и заканчивает определение макроса.
Ctrl+Shift+P
Выполняет ранее определенный макрос.

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

    Ctrl+K+n. Устанавливает в текущую позицию курсора маркер с номером n = 0..9. Маркер на экране появляется в виде небольшого окошка с номером маркера в служебном поле слева от текста. Он никак не влияет на исполнение программы. Команда используется совместно с командой Ctrl+Q+n (искать маркер с номером n) для ускорения поиска нужных фрагментов текста при разработке крупных программ. Раз установленный маркер нельзя удалить, но можно его поместить в другое место файла. При записи на диск маркеры не запоминаются, т. е. после чтения файла с диска в нем нет маркеров.

    Ctrl+Q+]. Эта команда используется для поиска ближайшей парной скобки. Она позволяет отыскивать пары скобок ( и ), { и }, [ и ]. Подведите курсор так, чтобы он расположился непосредственно перед одной из скобок, и дайте команду - редактор отыщет нужную парную скобку.

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


{$A+,B-,C+,D+,E-,F-,G+,H+,
I+,J+,K-,L+,M-,N+,0+,P+,
Q-,R-,S-,T-,U-,V+,W-,X+,
Y-} 
{$MIKSTACKSIZE $00004000} 
{$MAXSTACKSIZE $00100000}
{$IMAGEBASE $00400000} 
{$APPTYPE GUI}

    В окне кода можно запрограммировать часто повторяющиеся манипуляции с клавишами в виде макроса. Для начала указания макроса используется команда Ctri+Shift+R. После этого любые действия программиста с клавиатурой запоминаются вплоть до повторения команды Ctrl+Shift+R. Запомненный макрос исполняется командой Ctrl+Shift+P.

    К оглавлению

Интеллектуальные возможности редактора

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

    К оглавлению

Поиск объявлений.

    Если активизировать окно кода и перемещать в нем указатель мыши при нажатой и удерживаемой клавише Ctrl, текст программы приобретает свойства гипертекста: на идентификаторах стандартный указатель мыши заменяется на руку с пальцем, а соответствующий идентификатор выделяется цветом и подчеркиваеся. Если в этот момент нажать левую кнопку мыши, редактор попытается отыскать исходный текст модуля, в котором объявлен соответствующий тип, подпрограмма или глобальная переменная, и, если поиск окажется удачным, загрузит текст модуля в окно кода и установит в нем текстовый курсор в начале описания типа (подпрограммы, переменной). Такого же эффекта можно достичь, если щелкнуть по идентификатору правой кнопкой мыши и выбрать опцию Find Declaration.

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

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

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

    К оглавлению

Создание стандартных заготовок для новых свойств и методов.

    При объявлении новых свойств класса в интерфейсной секции вы можете написать лишь имя свойства и его тип.

    После нажатия Ctrl+Shift+C или щелчка правой кнопкой мыши и выбора продолжения Complete Class at Cursor редактор добавит необходимые элементы Read и Write в описание свойства и внесет другие изменения в текст программы.

    Пусть, например, вы написали:

  type
   TMyButton = class(TButton)   property  Size: Integer;              
   procedure DoSomething;
  end;

и нажали Ctrl+Shift+C (текстовый курсор при этом должен находиться в любом месте внутри описания класса). Редактор изменит описание класса следующим образом:

  type
   TMyButton = class(TButton)  property  Size: Integer  
                                          read FSize write SetSize;         
   procedure DoSomething;
   private
         FSize: Integer;
   procedure SetSize(const Value: Integer);
  end;
и добавит в исполняемую секцию описание двух методов:

       { TMyButton }
  procedure TMyButton.DoSomething;
  begin

  end;

  procedure TMyButton.SetSize(const Value: Integer);
  begin
     FSize := Value;
  end;

    Вы можете также вставить в раздел implementation новый метод класса и нажать Ctrl+Shift+C - редактор вставит прототип метода в объявление класса в секции interface.

    К оглавлению

Навигация внутри модуля.

    Клавиши курсора вверх (Up) и вниз (Down) в сочетании с нажатыми и удерживаемыми клавишами Ctrl и Shift осуществляют переключение между секциями interface и implementation текущего модуля. Если в секции interface вас заинтересовала реализация того или иного метода, щелкните по нему мышью и нажмите Ctrl+Shift+Down - редактор отыщет реализацию и покажет ее вам. Наоборот, чтобы из секции implementation переместиться к заголовку метода в секции interface, нажмите Ctrl+Shift+Up.

    К оглавлению

Вставка текстовых заготовок и окно Code Insight.

    Редактор может вставлять в текст множество текстовых заготовок, позволяющих сэкономить время ввода кода программы.

    Просмотреть имеющиеся текстовые заготовки и при необходимости добавить к ним собственные можно с помощью Tools | Editor Options | Code Insight.

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


Рис.15. Окно настройки параметров Code Insight

    С помощью кнопки Add можно добавить новый образец, с помощью Edit - изменить его имя и краткое описание, а с помощью Delete - удалить его.

    При редактировании имеющейся или вставки новой заготовки учтите, что символ "|" определяет позицию текстового курсора после вставки заготовки в текст программы.

    Для вставки заготовки напечатайте ее имя в окне кода и нажмите Ctrl+J - имя заменится на полный текст заготовки.

    Если вы не помните всех имен заготовок, их можно выбрать из списка. Для этого установите текстовый курсор в то место, где вы хотите вставить заготовку, и нажмите Ctrl+J - на экране появится окно с именами и краткими описаниями всех заготовок.

    Остальные элементы окна Code Insight:

    К оглавлению

Отладка программ

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

    К оглавлению

Точки контрольного останова

    Точка контрольного останова определяет оператор в программе, перед выполнением которого программа прервет свою работу и управление будет передано среде Delphi. Точка останова задается с помощью опции View | Debug windows | Breakponts.

    Окно точек останова (рис.17) содержит список всех установленных в проекте точек, перед выполнением которых происходит прекращение работы программы и управление получает среда Delphi.


Рис.17. Окно точек останова

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


Рис.18. Окно добавления новой точки останова

    К оглавлению

Окно наблюдения

    Наблюдать за состоянием переменной или выражения можно с помощью специального окна, вызываемого опцией View | Debug Windows | Watches.

    Окно наблюдения (рис.19) используется в отладочном режиме для наблюдения за изменением значений выражений, помещенных в это окно. Для добавления нового выражения щелкните по окну правой кнопкой мыши и выберите опцию New Watch:

Остальные элементы определяют вид представления значения.



Рис.19. Окно наблюдения и окно добавления в него нового выражения

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

    К оглавлению

Принудительное прерывание работы программы

    Если программа запущена из среды Delphi, ее работу можно прервать в любой момент с помощью клавиш Ctrl+F2, опцией Run | Program Pause или, наконец, установив точку контрольного останова в той части программы, которая выполняется в данный момент или будет выполнена.

    К оглавлению

Трассировка программы

    Перед исполнением оператора, в котором установлена точка контрольного останова, работа программы будет прервана, управление получит среда Delphi, a в окне наблюдения отразится текущее значение наблюдаемых переменных и/или выражений. Теперь программист может прослеживать работу программы по шагам с помощью клавиш F7 и F8 или инструментальных кнопок.

    При нажатии F8 будут выполнены запрограммированные в текущей строке действия, и работа программы прервется перед выполнением следующей строки текста программы. Заметим, что контрольная точка останова выделяется по умолчанию красным цветом, а текущая прослеживаемая строка - синим. Если программа остановлена в контрольной точке, т.е. когда текущая строка совпадает со строкой останова, строка выделяется красным цветом, Признаком текущей строки является особое выделение строки в служебной зоне слева в окне редактора:


Рис.20. Фрагмент окна редактора в режиме отладки

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

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

    После трассировки нужного фрагмента программы можно продолжить нормальную ее работу, нажав клавишу F9.

    К оглавлению

Действия в точках прерывания

    В Delphi 5 и 6 с любой точкой можно связать одно или несколько действий. Для этого нужно активизировать окно точек останова, вызвать его локальное меню (щелчок правой кнопкой) и выбрать продолжение Properties. В появившемся окне свойств щелкнуть по кнопке Advanced (рис.21).


Рис.21. Окно связывания точки останова с действием

    В нижней части окна имеется панель Actions, с помощью которой и определяются действия для точки останова, указанной в верхней части окна:

    К оглавлению

Группировка точек прерывания

    В Delphi 5 и 6 имеется возможность объединения точек останова в группы. Для этого используется все то же окно рис.21: в строке Group следует указать имя группы, к которой принадлежит точка, а в строках Enable Group и Disable Group соответственно разрешить или запретить действие всех точек останова, относящихся к соответствующей группе.

    К оглавлению

Вычисление выражений и изменение значений

    С помощью окна Evaluate/Modify (рис.22) можно узнать значение любого выражения или установить в переменную другое значение. Это окно вызывается в режиме отладки после нажатия Ctrl+F7:


Рис.22. Окно прослеживания изменения значениий

    Это окно - модальное, т. е. оно прерывает отладку программы до тех пор, пока не будет закрыто. В строке Expression можно написать имя переменной или интересующее вас выражение. После щелчка по кнопке Evaluate в поле Result появится текущее значение переменной (выражения). Если в Expression содержится имя переменной, одновременно становится доступной кнопка Modify, а в строке New value повторяется текущее значение переменной. Если изменить эту строку и нажать Modify, в переменную будет помещено новое значение, которое и будет использоваться при дальнейшем прогоне программы (если определяется значение выражения, кнопка Modify и строка New value будут недоступны).

    В Delphi 5 и 6 используются также дополнительные кнопки этого окна Watch и Inspect. Если вы щелкните по первой из них, выражение (переменная) из окна Evaluate будет перенесено в окно наблюдений Watch, щелчок по второй отображает выражение (переменную) в специальном окне Inspect.

    К оглавлению

Ведение протокола работы программы

    В ряде случаев бывает неудобно или невозможно пользоваться пошаговой отладкой программ. Если вы, например, установите точку останова в подпрограмме прорисовки сетки TDBGrid, программа после останова не сможет нормально продолжить свою работу, т. к. в этом случае она будет пытаться восстановить экран и вновь будет остановлена и т. д. В таких ситуациях вам могут помочь контрольные точки, которые не прерывают работу программы, а лишь помещают некоторую информацию в специальный файл трассировки. Для реализации такой точки раскройте окно Run | Add Breakpoint | Source Breakpoint, уберите флажок в переключателе Break и напишите сообщение в строке Log message. Вы можете также в строке Eval expression указать некоторое выражение, которое будет вычислено и вместе с сообщением помещено в протокол работы программы. Этот протокол можно просмотреть в любой момент (в том числе и после завершения прогона программы) с помощью опции View | Debug Windows | Event Log.

    К оглавлению