Додаток типу VCL Forms Application у Delphi. Додаток типу Application у Lazarus
Дана тема є продовженням теми:
Зміст
- 1. Структура додатку типу VCL Forms Application в Delphi
- 2. Структура додатку типу Application в системі Lazarus
- Споріднені теми
Пошук на інших ресурсах:
1. Структура додатку типу VCL Forms Application в Delphi
Якщо в системі Delphi створити додаток типу VCL Forms Application, то програма буде складатись з таких частин:
- головний модуль програми;
- модулі, що підключаються до основної програми.
⇑
1.1. Головний модуль
При створенні додатку, головний модуль програми має наступний код
program Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}; {$R *.res} begin Application.Initialize; Application.MainFormOnTaskbar := True; Application.CreateForm(TForm1, Form1); Application.Run; end.
Як видно з вищенаведеного коду, до головного модуля підключається додатковий модуль з допомогою рядка
Unit1 in 'Unit1.pas' {Form1};
тут
- Unit1 – назва модуля в програмі;
- Unit1.pas – назва файлу, в якому описується код модуля Unit1.
При створенні додатків, що використовують інтерфейс Windows, цей код змінювати не потрібно. Він корегується автоматично системою Delphi при додаванні у програму нових файлів модулів.
Наприклад, після додавання другої форми з іменем Unit2, яка розміщується у файлі Unit2.pas, розділ uses буде мати вигляд
uses Forms, Unit1 in 'Unit1.pas' {Form1}, Unit2 in 'Unit2.pas' {Form2}; ...
Також автоматично буде додано новий рядок у розділ операторів
... begin Application.Initialize; Application.MainFormOnTaskbar := True; Application.CreateForm(TForm1, Form1); Application.CreateForm(TForm2, Form2); Application.Run; end.
⇑
1.2. Додаткові модулі. Структура
У додатках типу VCL Forms Application кожен змістовний елемент програми, зазвичай формується в окремий модуль (файл). Змістовним елементом може бути, наприклад, форма чи окремий файл з набором (бібліотекою) функцій тощо.
У найбільш загальному випадку, структура будь-якого модуля, що додається, наступна
// 1. Заголовок модуля unit ModuleName; // 2. Інтерфейсний розділ. Тут оголошуються загальнодоступні (public) // структури даних, змінні, константи, процедури та функції interface // 2.1. Підключення додаткових модулів uses ... // 2.2. Описова частина в інтерфейсній частині // Тут слідують розділи const, type, var // Розділ label використовувати не можна ... // 2.3. Оголошення процедур та функцій без їх реалізації ... // 3. Розділ реалізації. Тут оголошуються внутрішні (приховані) // структури даних, змінні, константи, процедури та функції. implementation // 3.1. Підключення зовнішніх модулів (бібліотек) uses ... // 3.2. Розділи описів label, const, type, var ... // 3.3. Реалізація процедур та функцій. // Тут оголошуються як загальнодоступні (п. 2.3) // так і внутрішні (приховані) процедури та функції. ... end.
⇑
1.3. Приклад структури додатку типу VCL Forms Application. Рисунок
На рисунку 1 зображено структуру додатку типу VCL Forms Application. Розглядається випадок з підключеними двома модулями з іменами Unit1, Unit2.
Рисунок 1. Додаток VCL Forms Application. Випадок з двома підключеними формами, які розміщені у файлах Unit1.pas та Unit2.pas
⇑
2. Структура додатку типу Application в системі Lazarus
В системі Lazarus є можливість створювати додатки, що підтримують інтерфейс Windows і забезпечують кроссплатформенність. Це додатки типу Application. У додатках типу Application системи Lazarus структура програми подібна до структури Windows-додатків системи Delphi і складається з таких основних частин:
- головний файл проекту *.lpr (Lazarus Project Main Source);
- додаткові модулі (unit), що підключаються до головного файлу проекту.
⇑
2.1. Головний файл проекту *.lpr
Головний файл проекту має наступний вигляд
program project1; {$mode objfpc}{$H+} uses {$IFDEF UNIX}{$IFDEF UseCThreads} cthreads, {$ENDIF}{$ENDIF} Interfaces, // this includes the LCL widgetset Forms, Unit1 { you can add units after this }; {$R *.res} begin RequireDerivedFormResource:=True; Application.Scaled:=True; Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end.
У процесі створення додатку в системі Lazarus цей файл не потрібно коригувати, він корегується автоматично при додаванні (видаленні) додаткових частин у програмі. Це можуть бути нові форми, файли модулів з бібліотеками функцій тощо.
⇑
2.2. Файли додаткових модулів
У системі Lazarus складова файлу додаткових модулів така сама як в системі Delphi.
unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, Forms, Controls, Graphics, Dialogs; type TForm1 = class(TForm) private public end; var Form1: TForm1; implementation {$R *.lfm} end.
Як видно, модулі мають два основні розділи:
- interface – тут оголошуються загальнодоступні компоненти модуля;
- implementation – тут оголошуються приховані компоненти модуля та безпосередньо реалізація.
⇑
2.3. Приклад структури для додатку типу Application. Рисунок
На рисунку 2 зображено структуру додатку типу Application в системі Lazarus, який має одну головну форму та один додатковий модуль.
Рисунок 2. Структура додатку типу Applicaiton в системі Lazarus
Стрілкою показано підключення в розділі uses модуля Unit1, який відповідає головній формі програми і розміщується у файлі Unit1.pas. Якщо потрібно підключити другий модуль, то у розділі uses цей модуль дописується до попередніх модулів через кому.
⇑
Споріднені теми
- Структура програми на мові Паскаль в системах програмування Delphi та Lazarus. Консольний додаток
- Принципи структурного програмування. Модульна побудова програм
⇑