русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Процедури та функції у модулі.


Дата додавання: 2014-11-28; переглядів: 818.


Використання у модулі процедур та функцій має свої особливості. Заголовок підпрограми містить вcі відомості, що необхідні для її виклику: ім’я, перелік та тип параметрів, тип результату для функції. Якщо до підпрограми буде вестись звертання з інших модулів, то ця інформація має бути розташована до implementation, тобто у інтерфейсну частину модуля, а якщо ж підпрограма використовуватиметься тільки підпрограмами поточного модуля, то її опис слід розміщати після implementation. Саме тіло підпрограми (її текст), де реалізований її алгоритм, записується у частині реалізації модуля.

Інтерфейсна частина модуля містить тільки видимі (доступні для інших модулів) заголовки процедур та функцій.

У випадку, коли імена змінних інтерфейсної частини модуля та у самій програмі співпадатимуть, звертання вестиметься до змінних, що описані у програмі. Для звертання до змінної модуля слід використовувати складене ім’я, що складається з імені модуля та імені змінної, відокремлених крапкою.

Складені імена застосовуються при звертанні не тільки до імен змінних, а і до всіх імен, що описані у інтерфейсній частині модуля.

Рекурсивне використанні модуля заборонене.

Якщо у модулі є блок ініціалізації, то оператори з цього блоку виконуватимуться до початку виконання програми, у якій використовується цей модуль.

 

Для більшої наглядності розглянемо текст модуля програми – файл unit1.pas.

Як вже говорилось вище, за вмовчанням Delphi створює цей файл з базовими настройками та компонентами.

 

unit Unit1;

 

interface

 

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

 

type

TForm1 = class(TForm)

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

 

implementation

 

{$R *.DFM}

 

end.

 

У модулі заголовком є

unit Unit1;

як це вже про це говорилось вище.

Опис констант дозволяє використовувати імена, як синоніми констант, їх необхідно визначити у розділі опису констант.

Наприклад, додамо до існуючого тексту програми опис констант:

 

unit Unit1;

 

interface

 

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

 

const

k=1024;

 

type

TForm1 = class(TForm)

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

 

implementation

 

{$R *.DFM}

 

end.

 

Ми додали константу k, яка має ціле значення 1024.

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

Наприклад доповнимо блок опису змінних двомі цілими змінними i та j.

 

var

Form1: TForm1;

i, j : integer;

 

Моделювання форми.

Перейдемо тепер безпосередньо до створення програми. Спочатко створимо форму, тобто візуальну частину програми. На відміну від більш старих версій мов програмування, Delphi значно полегшує роботу з інтерфейсною частиною. Для того, щоб додати кнопку до форми досить мишкою вибрати у стандартній частині (Standard) палітри компонентів кнопку і клацнути потім на формі. На палітрі форми з’явиться

 

 

У модулі автоматично додастся до розділу опису типів Button1: TButton;

 

type

TForm1 = class(TForm)

Button1: TButton;

 

Згадаємо властивості кнопки. По-перше, надпис на кнопці, за який відповідає змінна caption або, якщо бути точнішим, Button1.Caption. Тип цієї змінної – string, початкове значення – ’Button1’. Це значення можна міняти як у самій програмі, так і у властивостях об’єкту. Розглянемо приклад, коли при натисканні на кнопку, напис на ній буде змінюватись на ‘Pressed’.

Як розглядалось вище, кожен об’єкт форми має перелік допустимих подій. Також для кожного об’єкта є і головна подія. Наприклад для кнопки головною подією є натискання на неї.

Для того, щоб описати послідовність дій, які відбуватимуться при натісканні на кнопку, досить або двічі клацнути у неї мишкою, або вибрати у Object Inspector кнопки Events, і далі OnClick.

У тексті модуля буде створена нова процедура

 

procedure TForm1.Button1Click(Sender: TObject);

begin

 

end;

 

причому її заголовок буде розташований у інтерфейсній частині модуля

 

type

TForm1 = class(TForm)

Button1: TButton;

procedure Button1Click(Sender: TObject);

 

Далі, вся послідовність дій, що відбуватиметься при натисканні на цю кнопку, має бути розташована у алгоритмічній частині процедури між службовими словами begin та end;, що утворюють складний оператор.

 

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

 

procedure TForm1.Button1Click(Sender: TObject);

begin

Button1.Caption:=’ Pressed ’;

end;

 

Весь текст модуля матиме вигляд

 

unit Unit1;

 

interface

 

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls;

 

type

TForm1 = class(TForm)

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

 

implementation

 

{$R *.DFM}

 

procedure TForm1.Button1Click(Sender: TObject);

begin

Button1.Caption:=' Pressed ';

end;

 

end.

 

Відмітимо, що частина “заготовок” для підпрограм створюється автоматично при встановленні якоїсь події (наприклад події, що відбувається при натисканні на клавішу) для об'єкту форми. У нашому прикладі червоним кольором відмічена частина, що написана “вручну” програмістом, решта створюється автоматично. Крім того, для використання подій, наприклад кнопок, спочатку їх потрібно розташувати у формі.



<== попередня лекція | наступна лекція ==>
Модуль. | Умовний оператор IF.


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн