Ля начала мы разберёмся с отладкой твоих программ. Отладка – пошаговое выполнение операций программы. В этом режиме, каждая строчка кода

 

Глава 24. Дополнительная информация.................................................................................. 573

 

24.1. Тестирование и отладка ............................................................................................................. 574

 

24.2. Работа с редактором................................................................................................................... 578

 

уже рассказал достаточно много и до сих пор не
упомянул ни слова об оболочке Delphi. В

 

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

Сначала нужно заинтересовать человека, что я и пытался сделать на протяжении всей книги. Теперь же, когда у тебя достаточно знаний для написания собственных проектов, пора показать тебе, как работать с оболочкой Delphi, как тестировать и отлаживать написанные тобой приложения. В программах регулярно возникают ошибки даже у именитых профессионалов и для выявления ошибок необходимо много сил и терпения. Я не буду говорить, что Delphi упрощает отладку, потому что это и так понятно. Я лучше всё это покажу на практике.

24.1. Тестирование и отладка

ля начала мы разберёмся с отладкой твоих программ. Отладка – пошаговое выполнение операций программы. В этом режиме, каждая строчка кода

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

Точка прерывания отладки -строка кода, на которой программа должна остановить своё выполнение и перейти в Delphi для продолжения выполнения в пошаговом режиме.

Для того, чтобы поставить точку прерывания, нужно выделить строку и нажать F5. Эта строка должна окраситься в красный цвет. Если она сразу или после компиляции оказалась другого цвета, то на этой строке программа не может останавливаться. На рисунке 24.1.1 ты можешь видеть пример строки, на которой установлена точка прерывания.

Если слева от строки стоит синяя точка, то эта строка 100% может стать точкой прерывания. Если такой точки нет, то и прерывания не может быть. Эти точки видны не всегда. Они могут пропадать и появляться только после очередной компиляции программы.

Давай напишем маленький пример и попробуем разобраться с отладкой на нём. Создай новое приложение и установи на форму одну кнопку. По её нажатию напиши следующий код:

procedure TForm1.Button1Click(Sender: TObject);

var i, j:Integer;

begin i:=10; j:=20; i:=i+j;


 

end;

Теперь откомпилируй программу (Ctrl+F9). После компиляции ты увидишь три сообщения типа Value assigned to ‘i’ never used (рисунок 24.1.2). Эти сообщения говорят о том, что значения присвоенные указанным переменным не используются. В таких случаях Delphi оптимизирует код программы и раз значения не используются, то и незачем компилировать этот код.

Обрати внимание, что слева от наших строк кода не появились синие точки. Это значит, что мы не сможем поставить на них прерывания. Точнее сказать сможем, но они не будут работать. Это связано с тем, что Delphi оптимизировал эти строки, потому что они явно не влияют на ход программы. Мы производим расчёты, но они никуда не выводятся. Так что по синим точкам ты можешь проверить, какой код был оптимизирован.

Давай откорректируем наш код до следующего вида:

Procedure TForm1.Button1Click(Sender: TObject); var

I, j:Integer; begin

j:=20; i:=i+j; if i>0 then exit; end;

If i>0 then exit

Есть ещё один способ увидеть текущее значение переменной. Ты должен также выделить эту переменную и нажать Ctrl+F5 или выбрать Add Watch из меню… Если ты делаешь всё, как я говорю, то у тебя программа должна быть остановлена на последней строке кода процедуры.…

Закладки

Когда ты устанавливаешь закладку на строку, то слева от строки кода появляется изображение кубика с цифрой внутри. Цифра указывает на номер закладки… Закладки можно устанавливать и из контекстного меню. Щёлкни правой кнопкой мыши в редакторе кода и в появившемся меню…

Копирование строк

Встань в начало строки текста. Выдели строку с помощью нажатия Shift+стрелка вниз. Это выделит всю строку. Теперь удерживая Ctrl нажми K, а затем С (буквы латинские). Этот маленький трюк скопирует выделенную строку без использования буфера обмена (clipboard) и установит её чуть ниже копируемой

Code Explorer

1. 1. TForm1 – в этой ветке находиться описание всех компонентов стоящих на твоей форме. 2. 2. Variables/Constants – здесь хранятся переменные и константы. 3. 3. Uses – здесь храниться список модулей, подключённых к программе.

H: Integer

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