Процедури в delphi, delphi, компоненти delphi, вихідні коди delphi

Процедури в Delphi

Процедура - це різновид підпрограми. Зазвичай підпрограма реалізується як процедура в двох випадках:

  • коли підпрограма не повертає в основну програму ніяких даних. Наприклад, викреслює графік в діалоговому вікні;
  • коли підпрограма повертає в викликала її програму більше ніж одне значення. Наприклад, підпрограма, яка вирішує квадратне рівняння, має повернути в викликала її програму два дрібних числа - коріння рівняння.

1. procedure Ім'я

5. // тут інструкції процедури

Параметри процедури використовуються для передачі даних в процедуру, а також для повернення даних з процедури в викликала її програму. Як приклад в лістингу 6.5 приведена процедура вирішення квадратного рівняння (яке в загальному вигляді записується так: ах2 + Ьх + с-О).

У процедури шість параметрів: перші три призначені для передачі в процедуру вихідних даних - коефіцієнтів рівняння; параметри x1 і х2 використовуються для повернення результату - коренів рівняння; параметр ok служить для передачі інформації про те, що рішення існує.

Лістинг 6.5. процедура SqRoot

01. // вирішує квадратне рівняння

02. procedure SqRoot (a, b, c. Real; var xl, x2. Real; var ok. Boolean);

03. / a, ib, c - коефіцієнти рівняння

04. xl, x2 - корені рівняння

Якщо в описі процедури перед ім'ям параметра варто слово var, то при виклику процедури на місці відповідного параметра повинна стояти змінна основної програми. Використання константи або вирази вважається помилкою, і компілятор в цьому випадку виведе повідомлення: Types of actual and formal var parameters must be identical (ТИП фактичного параметра повинен відповідати типу формального параметра).

У лістингу 6.6 приведена програма вирішення квадратного рівняння, в якій використовується процедура SqRoot. Вікно програми представлено на рис. 6.2.

Лістинг 6.6. Рішення квадратного рівняння (використання процедури)