Куточок програміста фішки дельфи

Запуск Delphi без створення нового проекту
Якщо ви не хочете, щоб кожен раз при запуску Дельфі у вас відкривався порожній проект, пропишіть у властивостях ярлика наступну командний рядок:
delphi6.exe -np

А якщо додати ще один параметр, то Дельфі стартуватиме без свого вікна-логотипу:
delphi6.exe -np -ns

Запам'ятати відкриті закладки
Якщо ви хочете, щоб Delphi запам'ятала, з якими модулями ви працювали, і автоматично відкрила б їх при вашому наступному поверненні до проекту, зайдіть в меню і поставте галочки:
Tools> Environment options> Preferences> Autosave options> Project desktop

До речі, при цьому будуть запам'ятовуватися не тільки відкриті юніти, а й встановлені в них breakpoints!

Як поставити BreakPoint
Потрібно всього-то клацнути мишкою зліва від вікна коду - з'явиться червоний кружок і рядок також стане червоною. Тепер можна запустити програму (F9): вона дійде до цього рядка і зупиняється. Далі можна продовжити виконання по діям (F7) або по блокам (F8). Різниця в тому, що по F7 вона буде заходити в усі підпрограми та складові конструкції, а по F8 - досить спритно перестрибувати через них.

В процесі трасування можна навести курсор на будь-яку змінну в тексті програми, і її поточне значення відобразиться у вигляді спливаючого хинта!
Значення змінної можна подивитися і іншим способом (у спеціальному вікні):
Ctrl + F7

Якщо задовбали exception
Буває так, що якийсь блок коду видає виняткові ситуації, які заважають запускати проект. Ці неприємні події можна тимчасово відключити! Для цього ставимо 1-ий BreakPoint на початку блоку, в його властивостях ставимо галочку:
Breakpoint Properties> Advanced> Actions> Ignore subsequent exceptions

Відразу ж в кінці блоку ставимо 2-ий BreakPoint, і в його властивостях ставимо галочку:
Breakpoint Properties> Advanced> Actions> Handle subsequent exceptions

Тепер це місце буде проскакувати без затримок і спливаючих діалогів підтверджень!

Як поставити Якір
Припустимо, у вас вже об'ємний модуль, і вам потрібно щось подивитися в якомусь місці далеко вище або нижче, а потім швидко повернутися до поточної позиції.
Ctrl + Shift + цифра 0..9

Зліва з'явиться маркер з відповідною цифрою. Тепер, щоб повернутися сюди з будь-якого місця модуля, достатньо натиснути
Ctrl + цифра 0..9

У кожному модулі можна поставити до 10 подібних якорів (цифри 0..9) і миттєво переміщатися між ними!

Швидке переміщення від заголовка підпрограми до її тіла (і назад)
Ось ви пробігаєте по секції опису, знаходите заголовок потрібної функції або процедури, хочете перейти на неї. Але її тіло може знаходиться тисячею рядками нижче!
Ctrl + Shift + Стрілка Вниз

І ви відразу ж опиняєтеся в її тілі, прямо під рядком begin.
Хочете повернутися назад? Немає нічого простіше:
Ctrl + Shift + Стрілка Вверх

Але ось нова неприємність: підпрограма в коді викликається з іншого модуля! Нічого страшного:
Ctrl + Клацання мишею

Як швидко наробити порожніх підпрограм
Набивши вручну кілька заголовків з описами підпрограм, ви вирішили перейти до їхніх тілах. Невже теж вручну? Нізащо!
CTRL + SHIFT + C

Це ж вірно і для відсутніх методів класу!

Змінити відступ для форматування блоку
Правила хорошого тону робити відступи для кожного логічного рівня блоку команд. Зробити щось не складно, але як швидше виправити при помилку? Виділяємо фрагмент коду та. рухаємо вліво або вправо:
тримаємо CTRL + K, натискаємо U або I

Шаблон складовою конструкції
Якщо взяти будь-яку складову конструкцію (масив, кейс, клас), то в її описі буде багато статичних повторюваних символів. То чи не будемо друкувати їх руками, а просто виберемо і вставимо потрібний шаблон:
Ctrl + J

Якщо навіть вибирати не хочеться, то можна ще швидше: пишемо скорочення і натискаємо всю ту ж комбінацію клавіш!

Отримати унікальний GUID
У деяких випадках, наприклад при створенні інтерфейсу (програмного, міжкласової), необхідно вказати унікальний ідентифікатор виду: [ '']
Ctrl + Shift + G

Скидання програми
Ну що ж, вже все відмінно, точніше - майже все. Програма раптово заглючила і відмовила закриватися. Екстрений скидання:
Ctrl + F2

ТІЛЬКИ не вмирає!
Чи не втримався я, все ж наведу один секрет з області програмування. Програми, які виконують тривалі обробки в циклах (наприклад математичні обчислення), виглядають обвислими або померлими, тому що не реагують ні на що до завершення циклу.
Щоб все ж час від часу повертати їх до життя, дозволивши наприклад зреагувати на натискання кнопки СКАСУВАННЯ або обробити інші накопичилися події, потрібно в тому боргом циклі зрідка виконувати команду
Application.ProcessMessages;