
Методичне забезпечення для самостійного вивчення матеріалу студентами
ТЕМА: Різновиди помилок, методи їх пошуку та виправлення. Коментарі у програмному коді.
МЕТА: пояснити: поняття помилок та коментарів у програмному коді; принцип пошуку та виправлення помилок; використання коментарів.
Помилки
Компілятор генерує виконувану програму лише в тому випадку, якщо початковий текст не містить синтаксичних помилок. В більшості випадків в тільки що набраній програмі є помилки. Програміст повинен їх усунути.
Щоб перейти до фрагмента коду, який містить помилку, треба встановити курсор в рядок з повідомленням про помилку і з контекстного меню вибрати команду Edit source
Процес усунення помилок носить ітераційний характер. Зазвичай спочатку усуваються найбільш очевидні помилки, наприклад, декларуються неоголошені змінні. Після чергового внесення змін до тексту програми виконується повторна компіляція. Слід враховувати той факт, що компілятор не завжди може точно локалізувати помилку. Тому, аналізуючи фрагмент програми, який, на думку компілятора, містить помилку, потрібно звертати увагу не тільки на той фрагмент коду, на який компілятор встановив курсор, але і на той, який знаходиться в попередньому рядку.
Перехід до фрагмента програми, що містить помилку
Найбільш типова помилка «Missing operator or semicolon (Відсутній оператор або крапка з комою)» і відповідна причина «Після інструкції не поставлена крапка з комою».
Якщо компілятор виявив достатньо багато помилок, то прогляньте всі повідомлення, усуньте спочатку найбільш очевидні помилки і виконайте повторну компіляцію. Цілком імовірно, що після цього кількість помилок значно зменшиться. Це пояснюється особливостями синтаксису мови, коли одна незначна помилка може "тягнути" за собою досить велику кількість інших.
Якщо в програмі немає синтаксичних помилок, компілятор створює виконуваний файл програми. Ім'я виконуваного файлу таке ж, як і у файлу проекту, а розширення — exe. Delphi поміщає виконуваний файл в той же каталог, де знаходиться файл проекту.
Внесення змін в код проекту
Після декількох запусків програми Швидкість автомобіля виникає бажання внести зміни до програми. Наприклад, було б непогано, щоб після введення шляху і натиснення клавіші курсор переходив в поле Час. Або щоб в поля Шлях і Час користувач міг ввести тільки цифри. Щоб внести зміни до програми, потрібно запустити Delphi і відкрити відповідний проект. Зробити це можна звичайним способом, вибравши з меню File команду Open Project. Можна також скористатися командою Reopen з меню File. При виборі команди Reopen відкривається список проектів, над якими програміст працював останнім часом.
Наприклад, зробимо зміни Процедури обробки подій OnKeyPress для компонентів Edit1 і Edit2. Слід звернути увагу на те, що для додавання в програму процедури обробки події потрібно у вікні Object Inspector вибрати компонент, для якого створюється процедура, потім на вкладці Events вибрати подію і зробити подвійне клацання в полі імені процедури. Delphi сформує шаблон процедури обробки події. Після цього можна вводити інструкції, що реалізовують процедуру обробки. Дана процедура буде має такий вигляд:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
// Key — символ, який відповідає натиснутій клавіші.
// Якщо символ недопустимий, то процедура заміняє його
// на символ с кодом 0. В результаті цього символ в полі
// редагування не появляється, і у користувача створюється
// думка, що програма не реагує на натискання деяких
// клавіш.
case Key of
'0'..'9': ; // цифра
#8 : ; // клавіша
#13 : Edit2.SetFocus ; // клавіша
// решту символів — заборонені
else Key :=Chr(0); // символ не відображати
end;
end;
Після внесення змін проект слід зберегти. Для цього потрібно з меню File вибрати командуSave all.