Delphiнарий (исходники)

Источник: Мой компьютер
Юрий ТРОМПАК

Первое, о чем я хотел бы рассказать, это To-Do List . Речь идет о списке намеченных дел, которые необходимо выполнить программисту. Для того, чтобы добавить задание в список, нужно в редакторе кода вызвать контекстное меню и выбрать Add To-Do Item или нажать Ctrl+Shift+T. Перед вами появится окно (рис. 1), где нужно ввести текст заметки, приоритет (цифры от 0 до 5, 0 - уровень приоритета не установлен), владельца заметки и категорию. В результате появится такой код:

procedure TForm1.FormActivate(Sender: TObject);
begin
 { TODO 3 -oТромпак Юрий -cИнициализация: Добавить код инициализации }
end;

 

Также вы можете ввести все это вручную. Для этого предназначены параметры -о - владелец, -с - категория. Чтобы известить, что намеченное дело уже выполнено, надо либо вручную исправить TODO на DONE , либо открыть окно View > To-Do List и в нем поставить флажок в строчке, которая соответствует нужной заметке. В этом окне также можно просматривать текущие намеченные дела и сортировать их по разным критериям.

В редакторе кода есть возможность перемещаться по коду между определением метода или процедуры в интерфейсной части модуля (interface) и соответствующим программным кодом в разделе реализации (implementation). Для этого предназначены комбинации клавиш Ctrl+Shift+ и Ctrl+Shift+ соответственно. Я думаю, что этот метод сэкономит вам кучу нервов, времени и километров, намотанных курсором мыши :-).

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

В Delphi есть еще механизм Class Completion (завершение класса). Наберите в разделе описания следующий код:

 type
 TMyClass=class(TFotm)
 private
 FField:Integer;
 procedure SetField(const Value:Integer);
 public
 property Field:Integer read FField write SetField;
 constructor Create(AOwner:TComponent);
 destructor Destroy; virtual;
 end;

Нажмите комбинацию клавиш Ctrl+Shift+C и посмотрите в раздел реализации. Должно получиться вот что:

{ TMyClass }
constructor TMyClass.Create(AOwner: TComponent);
begin

end;
destructor TMyClass.Destroy;
begin

end;
procedure TMyClass.SetField(const Value: Integer);
begin

end;

То есть Delphi сам генерирует код, и вам остается только наполнить его содержимым. Отпадает проблема неправильного написания имени метода или его параметров и т.п.

Есть также механизм Code Completion. Наберите, например, одну или несколько букв объекта или метода и нажмите Ctrl+<пробел>. Перед вами появится всплывающее окно с перечисленными идентификаторами, начинающимися на заданные буквы. Выберите требующийся вам, нажмите Enter, и соответствующий код будет добавлен автоматически. Преимущество данного механизма в том, что в выражениях он показывает только те идентификаторы, которые соответствуют типу выражения или переменной.

Code Completion можно использовать также в интерфейсной части модуля. Разместите, например, курсор внутри определения класса и нажмите указанную выше комбинацию клавиш. На экране появится список, в котором будут указаны виртуальные методы, которые вы можете переопределить (включая абстрактные методы), свойства базового класса, а также системные сообщения, которые вы можете обрабатывать. Причем можно выбирать несколько элементов одновременно, выбранные элементы будут добавлены в область объявления класса. И еще одна особенность Code Completion . Если вы выбираете в списке идентификатор из модуля, который еще не описан в вашем проекте (в директиве uses ), то система сама добавит объявление этого модуля. Список модулей, из которых Code Completion берет идентификаторы, хранится в ключе реестра \Delphi\7.0\CodeCompletion\ExtraUnits, а из этого следует, что вы можете добавлять туда свои модули :-).

Следующим в нашем списке будет механизм Code Templates или, по-нашему, шаблоны кода :-). В любом месте кода вы можете вставить стандартные шаблоны кода (такие как if then begin end;). Для того, чтобы вставить шаблон кода, нажмите комбинацию клавиш Ctrl+J и выберите нужный шаблон из списка. Или, если вы знаете сокращенное имя шаблона (можно увидеть в списке), то введите его и нажмите Ctrl+J, тогда шаблон будет вставлен немедленно без показа списка. Вы также можете создавать свои шаблоны. Здесь лишь замечу, что параметр / (вертикальная черта) используется для того, чтобы показать, где будет находиться курсор после вставки шаблона в ваш код. Шаблоны сохраняются в файле Delphi32.dci каталога Bin , так что вы можете свои шаблоны переносить на другой компьютер.

Code Parameters (параметры кода) - это механизм подсказок типов параметров. Если вы ввели имя функции, процедуры или метода и поставили знак открывающей скобки, то система во всплывающей подсказке покажет вам параметры, которые нужно передать, и их типы (это, наверное, знают все). Но как быть, если подсказка по какой то причине пропала, а нам еще надо ввести некоторые параметры? Очень просто, следует только нажать комбинацию клавиш Ctrl+Shift+<пробел>.

И последний на сегодня механизм - Tooltip Expression Evaluation (вычисление выражений во всплывающей подсказке). Этот механизм очень удобно использовать в процессе отладки. Если во время отладки навести указатель мыши на переменную, то система во всплывающей подсказке покажет ее значение (даже массив, если он на данный момент уже инициализирован). Данная возможность пригодится для пошаговой прогонки программы.

И напоследок еще несколько «быстрых клавиш» редактора кода.

Ctrl+Shift в сочетании с цифрами 0-9 активизирует закладку в коде программы. Для перехода на данную закладку надо нажать Ctrl в сочетании с цифрой (номером закладки). Недостаток данного механизма заключается в том, что если проект закрыть, закладки не сохраняются.

Ctrl+E - активизирует инкрементный поиск по коду. Нажав эту комбинацию клавиш, вводите сразу буквы искомого слова, фокус с выделением автоматически будет перемещаться туда, где это слово находится. Для выхода из поиска нажмите Esc. Заметьте, при этом не вызывается никакого диалогового окна (в котором постоянно появляется слово, на котором мы стоим  - не знаю, зачем искать слово, на котором ты стоишь, но разработчикам фирмы Borland виднее), и не нужно нажимать Enter. Не правда ли, удобно? Попробовав один раз, я не могу больше не пользоваться этой замечательной возможностью :-).

Ctrl+Shift+I (Ctrl+Shift+U) - сдвигает строку или выделенный блок текста вправо (влево) на определенное количество пробелов. Эта опция - для людей, которые любят, чтобы их код выглядел красиво и наглядно :-).

Ctrl+O+U - переключает регистр выделенных символов.

Ctrl+K+E - преобразование выделенных символов в нижний регистр.

Ctrl+K+F - преобразование выделенных символов в верхний регистр.

Если удерживать клавишу Alt, то можно выделять не только последовательные блоки текста, но и прямоугольные.

Ctrl+Shift+R - начинает запись макроса, который потом можно вызвать, нажав Ctrl+Shift+P. Система запоминает действия, связанные с набором и редактированием текста. Этот механизм можно использовать для форматирования текста или более удобного оформления исходного кода.

Также вы можете перемещаться между открытыми модулями в редакторе кода при помощи комбинаций клавиш Ctrl+Tab и Ctrl+Shift+Tab - в прямом и обратном порядке соответственно.

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


Страница сайта http://www.interface.ru
Оригинал находится по адресу http://www.interface.ru/home.asp?artId=7543