У програмах доводиться часто видавати діалогові вікна. Код таких вікон досить об'ємний, а їх зовнішній вигляд нерідко однаковий. За допомогою модулів можна запрограмувати видачу таких діалогів за допомогою підпрограм-функцій типу Boolean.
Приклад. Створити модуль, що містить функції виклику діалогу очищення даних і діалогу виходу із програми. Нехай модуль буде мати ім'я Zapros.
Приведемо повний текст файлу модуля.
unit zapros;
interface
uses windows, messages, sysutils, variants, classes, graphics, controls, forms, dialogs, stdctrls;
//указуємо заголовки підпрограм
function clear_data:boolean; //функція очищення даних
function exit:boolean; //функція виходу
implemenmtation
//код реалізації підпрограм
//функція діалогу очищення даних даних
function clear_data:boolean;
begin
if application.messagebox('Очистити дані?', 'Підтвердьте операцію', mb_yesno + mb_iconquestion + mb_defbutton2)=idyes then
clear_data:=true
else
clear_data:=false;
end;
//функція діалогу виходу із програми
function exit:boolean;
begin
if application.messagebox('Вийти із програми?', 'Підтвердьте вихід', mb_yesno + mb_iconquestion + mb_defbutton2)=idyes then
exit:=true
else
exit:=false;
end;
end.
Збережіть файл модуля під ім'ям zapros.pas у папку з вашою програмою.
Приклад. Нехай є форма із двома текстовими полями й кнопкою. Для кнопки написати код очищення полів. При цьому, використовуючи функцію модуля видати запит на виконання операції. Також при закритті форми, використовуючи функцію модуля видати запит на вихід із програми.
Спочатку в коді форми в розділі Uses потрібно підключити модуль Zapros.
Для кнопки в події OnClick напишемо код:
procedure Tform1.Button1Click(Sender: Tobject);
begin
//якщо функція рівна true
if clear_data=true then
begin
edit1.text:='';
edit2.text:='';
end;
end;
Для форми в події OnCloseQuery:
procedure Tform1.Formclosequery(Sender: Tobject; var Canclose: Boolean);
begin
canclose:=exit;
end;