Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Лістінг 2.Модуль програми Швидкість бігу






unit vrun1;

Interface

Uses

Windows, Messages, SysUtils, Variants, Classes,

Graphics, Controls, Forms, Dialogs, StdCtrls;

Type

TForm1 = class(TForm) Edit1: TEdit;

Edit2: TEdit; Label1: TLabel;

Label2: TLabel; Label3: TLabel;

Label4: TLabel;

Button1: TButton;

Button2: TButton;

procedure ButtonlClick(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations } public

{ Public declarations } end;

Var

Form1: TForm1;

Implementation

{$R *.dfm}

// натискання кнопки Обчислити

procedure TForm1.ButtonlClick'(Sender: TObject);

Var

dist: integer; // дистанція, метрів

t: real; // час як дробове число

min: integer; // час, хвилини

sek: integer; // час, секунди

v: real;

// швидкість

Begin

// одержати вихідні дані з полів уведення

dist: = StrToInt(Edit1.Text); t: = StrToFloat(Edit2.Text);

// попередні перетворення

min: = Trunc(t); // у хвилин — це ціла частина числа t

sek: = Trunc(t*100) mod 100; // у секунд — це дробова частина

// числа t

// обчислення

v: = (dist/1000) / ((min*60 + sek)/3600);

// висновок результату

label4.Caption: = 'Дистанція: '+ Edit1.Text + ' м' + #13

+ 'Час: ' + IntToStr(min) + ' хв '

+ IntToStr(sek) + ' сек ' + #13 +

'Швидкість: ' + FloatToStr(v, ffFixed, 4, 2) + км/година';

end;

// натискання кнопки Завершити

procedure TForm1.Button2Click(Sender: TObject)

Begin

Form1.Close;

end;

End.

Починається модуль словом unit, за яким випливає ім'я модуля. Саме це ім'я згадується в списку використовуваних модулів в інструкції uses головного модуля додатка, текст якого приведений у лістінгу 1.

Модуль складається з наступних розділів:

  • інтерфейсу;
  • реалізації;
  • ініціалізації.


Розділ інтерфейсу (починається словом interface) повідомляє компіляторові, яка частина модуля є доступною для інших модулів програми. У цьому розділі перераховані (після слова uses) бібліотечні модулі, використовувані даним модулем. Також тут знаходиться сформоване Delphi опис форми, которое випливає за словом type.
Розділ реалізації відкривається словом implementation і містить оголошення локальних перемінних, процедур і функцій, що підтримують роботу форми.
Починається розділ реалізації директивою {$R *.DFM}, що вказує компіляторові, що в процесі генерації виконуваного файлу треба використовувати опис форми. Опис форми знаходиться у файлі з розширенням dfm, ім'я якого збігається з ім'ям модуля. Файл опису форми генерується середовищем Delphi на основі зовнішнього вигляду форми.
За директивою ($R *.DFM} випливають процедури обробки подій для форми і її компонентів. Сюди ж програміст може помістити інші процедури і функції.
Роздягнув ініціалізації дозволяє виконати ініціалізацію перемінних модуля. Інструкції роздягнули ініціалізації розташовуються після розділу реалізації (опису всіх процедур і функцій) між begin і end. Якщо роздягнув ініціалізації не містить інструкцій (як у приведеному прикладі), то слово begin не вказується. Слід зазначити, що значна кількість інструкцій модуля формує Delphi. Наприклад, Delphi, аналізуючи дії програміста по створенню форми, генерує опис класу форми (після слова type). У приведеному прикладі інструкції, набрані програмістом, виділені тлом. Очевидно, що Delphi виконала значну частину роботи зі складання тексту програми.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал