Створення модуля

Delphi дозволяє програмісту помістити свої функції і процедури в окремий модуль, а потім використовувати процедури і функції модуля в своїх програмах, вказавши ім’я модуля в списку модулів, необхідних програмі (інструкція uses).
Щоб приступити до створення модуля, потрібно спочатку закрити вікно форми і вікно модуля форми (у відповідь на питання про необхідність збереження модуля слід вибрати No, т. е. модуль, відповідний закритій формі, зберігати не треба). Потім з меню File потрібно вибрати команду New | Unit. У результаті відкривається вікно редактора коду, в якому знаходиться сформований Delphi шаблон модуля. Його текст приведений в лістингу 6.7.

Лістинг 6.7. Шаблон модуля

unit Unit1;
interface implementation
end.

Починається модуль заголовком – інструкцією unit, в якій зазначено ім’я модуля. Під час збереження модуля це ім’я буде автоматично замінено на ім’я, вказане програмістом.
Слово interface відзначає розділ інтерфейсу модуля. В цей розділ програміст повинен помістити оголошення знаходяться в модулі процедур і функцій, які можуть бути викликані з інших модулів, що використовують даний.
В розділ implementation (Реалізація) потрібно помістити процедури і функції, оголошені в розділі interface.
Як приклад в лістингу 6.8 приведений модуль програміста, який містить розглянуті раніше функції IsInt і isFioat.

Лістинг 6.8. Модуль програміста

unit my __ unit;
interface // оголошення процедур і функцій,
// доступних програм,
// використовують цей модуль
function IsInt (ch: char): Boolean;

// функція Islnt перевіряє, чи є символ

// допустимим під час введення цілого числа
function IsFloat (ch: char; st: string): Boolean;
// Функція IsFloat перевіряє, чи є символ допустимим
// під час введення дробового числа
// ch - черговий символ
// st - вже введено жодного символу
implementation // реалізація
// перевіряє, чи є символ допустимим

// під час введення цілого числа

function Islnt (ch: char): Boolean;

begin
if (Ch > = '0') and (ch < = '9') // цифри
or (ch = # 13) // клавіша <Enter>
or (Ch = # 8) // клавіша <Backspace>
then Islnt: = True // символ допустимо

else Islnt: = False; // неприпустимий символ

end;
// перевіряє, чи є символ допустимим

// під час введення дробового числа
function IsFloat (ch: char; st: string) : Boolean;

// ch - черговий символ // st - вже введено жодного символу

begin
if (Ch > = '0') and (ch < = '9') // цифри
or (Ch = # 13) // клавіша <Enter>
or (Ch = # 8) // клавіша < Backspace >
then
begin
IsFloat : = True; // символ вірний

Exit; // вихід з функції
end; case ch of
'-': if Length (st) = 0 then IsFloat: = True; ',':

if (Pos ( ',', st) = 0)
and (St [Length (st)] > = '0') and (st [Length (st)] & < = '9')
then // роздільник можна ввести тільки після цифри

// і якщо він ще не введений
IsFloat : = True; else // інші символи заборонені
IsFloat : = False; end
// це розділ ініціалізації // він в даному випадку не містить інструкція end.

Зберігається модуль звичайним способом, тобто. е. вибором з меню File команди Save. Разом з тим, для модулів повторно використовуваних процедур і функцій краще створити окрему папку, назвавши її, наприклад, Units.