Pascal. Delphi. Lazarus. Структура програми на мові Паскаль

Структура програми на мові Паскаль у системах програмування Delphi та Lazarus. Консольний додаток

У даній темі розглядається структура програми на мові Паскаль для найбільш поширених видів додатків, які добре підходять для вивчення основ цієї мови. Розглядаються структури програм для систем Lazarus та Delphi.


Зміст


Пошук на інших ресурсах:




1. Види програм у системі програмування Lazarus

У системі програмування Lazarus створення нового додатку починається з виклику послідовності команд

File -> New...

У результаті система відкриє вікно “New…” (рисунок 1), в якому у вкладці Project пропонується декілька видів проектів.

Lazarus. Вікно вибору проекту. Вкладка ProjectРисунок 1. Система Lazarus. Вікно вибору проекту, модуля чи елементу який буде створено. Вкладка Project

Пропонуються наступні основні види проектів:

  • Application – проект, що підтримує графічний інтерфейс Windows з використанням кроссплатформеності та LCL (Lazarus Component Library – бібліотека компонент Lazarus). Це є аналогом шаблону Windows Forms в інших системах програмування;
  • Simple Program – простий шаблон для створення простих програм на мові Паскаль. Програми мають вигляд командного рядка;
  • Program – шаблон програми у вигляді командного рядка з деякими додатковими опціями;
  • Console Application – шаблон програми типу Console Application, який базується на використанні класу TMyApplication з можливістю його розширення;
  • Library – динамічно завантажувана бібліотека, яка розміщується у файлах з розширенням *.dll (Dynamic Link Library). Така бібліотека може додаватись до інших програм (*.exe – файлів) і не може запускатись автономно;
  • інші проекти.

 

2. Види програм в системі програмування Delphi

Щоб створити програму (проект) в системі програмування Delphi потрібно вибрати послідовність команд

File -> New -> Others...

У результаті відкриється вікно, зображене на рисунку 2.

Delphi. Види проектів. Вкладка Delphi ProjectsРисунок 2. Види проектів у системі програмування Delphi

Тут пропонуються наступні основні види проектів (програм):

  • Console Application – консольний додаток, що має класичну структуру програми. Це є аналог шаблону Program або Simple Program в системі Lazarus. Такий вид додатку найкраще підходить для вивчення основ програмування мовою Паскаль;
  • VCL Forms Application – вид додатку, що підтримує інтерфейс Windows. Цей вид додатку базується на використанні бібліотеки VCL (Visual Component Library);
  • Dynamik Link Library (бібліотека динамічної компоновки) – це вид додатку, який додається до іншої програми у вигляді *.dll файлу. У файлах *.dll формуються бібліотеки функцій, які використовуються в інших програмах;
  • інші види додатків.

 

3. Структура найпростішого додатку в системах Lazarus та Delphi. Рисунок

Найкраще для вивчення основ програмування на мові Паскаль підходить додаток типу:

  • Simple Program у системі програмування Lazarus;
  • Console Application у системі програмування Delphi.

Такий вид додатку працює в режимі командного рядка Windows. Для обох систем структура найпростішого додатку однакова і містить наступні основні розділи:

  • заголовок програми;
  • розділ підключення модулів, що використовуються у програмі;
  • розділ описів;
  • розділ операторів.

З перелічених розділів обов’язковим є розділ операторів. Всі інші розділи (якщо цього допускає програма) є необов’язкові і можуть бути опущені.

 

3.1. Заголовок програми (program)

Заголовок програми оголошується наступним чином

program ProgramName(parameters);

тут

  • ProgramName – ім’я програми, яке задається програмістом;
  • parameters – параметри, які отримує програма.

Найчастіше програма оголошується без параметрів

program ProgramName;

Якщо програма отримує параметри у вигляді потоків (файлів) вводу виводу то заголовок може бути, наприклад, таким

program ProgramName(Output, Input, FileName);

 

3.2. Розділ підключення модулів (uses)

Цей розділ починається з ключового слова uses і має наступну загальну форму

uses ModuleName1, ModuleName2, ..., ModuleNameN;

тут

  • ModuleName1, ModuleName2, ModuleNameN – імена модулів, які підключаються до програми.

Наприклад, при створенні додатку типу VCL Forms Application у системі Delphi, розділ uses виглядає наступним чином

...

uses
  Windows, Messages, Variants, Classes, Graphics, Controls, Forms, Dialogs;

...

 

3.3. Розділ описів

Розділ описів складається з декількох частин, які, в свою чергу, також описують:

  • мітки (label);
  • константи (const);
  • типи (type);
  • змінні (var);
  • процедури та функції (procedure, function).

Всі вищенаведені розділи можуть бути оголошені в довільному порядку. Однак, рекомендується наступний порядок слідування розділів: label, const, type, var, procedure або function. Такий порядок відповідає логіці побудови програм на мові Паскаль.

Допускається повторення розділів label, const, type, var, procedure та function (дивіться приклад нижче).

Розділ операторів обрамлений операторними дужками begin…end і має наступний вигляд

begin
  ...
end.

На рисунку 3 зображена структура програми на мові Паскаль для консольного додатку.

Pascal. Структура консольного додатку на мові Паскаль

Рисунок 3. Структура консольного додатку на мові Паскаль. Оголошення усіх розділів

 

4. Приклад консольного додатку, в якому оголошуються довільні елементи в розділі описів

У прикладі демонструється можливість довільного порядку слідування розділів label, const, type, var, function, procedure. Розглядається консольний додаток в системі програмування Delphi.

program Project1;

{$APPTYPE CONSOLE}

// Розділ uses слідує першим і тільки одним,
// наступні розділи можуть слідувати один за одним
// в довільному порядку
uses
  SysUtils;

// Деяка функція - обертає рядок
function ReverseString(s : string) : string;
var
  s_reverse : string;
  i: Integer;
begin
  s_reverse := '';
  for i := 1 to length(s) do
  begin
    s_reverse := s[i] + s_reverse;
  end;
  ReverseString := s_reverse;
end;

// Розділ опису змінних
var
  f:Integer;

// Розділ опису міток
label
  m1;

// Розділ опису констант
const
  Max = 220;

// Ще один розділ опису констант
const
  Min = 100;

// Ще один розділ опису змінних
var
  z : Char = 'z';

// Оголосити розділ опису типів
type
  MyInt = Integer;

// Оголосити змінну типу MyInt
var
  mi : MyInt = 288;

begin
  // Вивести значення оголошених констант
  Writeln('Max = ', Max);
  Writeln('Min = ', Min);

  // Вивести значення оголошених змінних
  Writeln('z = ', z);
  Writeln('mi = ', mi);

  // Вивести результат функції
  Writeln(ReverseString('ABCD'));

  Readln;
end.

Тестовий приклад

Max = 220
Min = 100
z = z
mi = 288
DCBA

 


Споріднені теми