учний механізм обміну алгоритмами між окремими частинами однієї програми.
Він також реалізує засіб обміну програмними розробками між окремими користувачами. Отримавши відкомпільований сторонній модуль, користувач отримує доступ тільки до його інтерфейсної частини, в якій, як уже говорилося, містяться оголошення елементів.
Деталі реалізації оголошених процедур, функцій, класів приховані в секції реалізації та недоступні іншим модулям.
Якщо клацнути по закладці Unit1 вікна коду, можна побачити такий текст:
unit Unit1 ;, Messages, SysUtils, Classes, Graphics, Controls ,, Dialogs, StdCtrls, Buttons, ExtCtrls;=class (TForm): TPanel ;: TBitBtn ;: TBitBtn ;: TEdit ;: TLabel ;: TMemo;
{Private declarations} public
{Public declarations} end ;: TfmExample;
$ R * .DFM}.
Весь цей текст сформований Delphi, але на відміну від файлу проекту користувач може його змінювати, надаючи програмі потрібну функціональність. У інтерфейсної секції описаний один тип (клас - fmExample) і один об'єкт (змінна fmExample).
Ось опис класу:=class (TForm): TPanel ;: TBitBtn ;: TBitBtn ;: TEdit ;: TLabel ;: TMemo;
{Private declarations} public
{Public declarations} end;
Класи служать основним інструментом реалізації потужних можливостей Delphi.
Клас є зразком, за яким створюються об'єкти, і навпаки, об'єкт - це екземпляр реалізації класу. Зразки для створення елементів програми в Object Pascal називаються типами, таким чином, клас TfmExamplel -це тип.
Перед його оголошенням варто зарезервоване слово type (тип), що сповіщає компілятор про початок розділу опису типів.
Стандартний клас TForm реалізує все потрібне для створення і функціонування порожнього Windows-вікна. Клас TfmExamplel породжений від цього класу, про що свідчить рядок TfmExample=class (TForm) в якій за зарезервованим словом class в дужках вказується ім'я батьківського класу.
Термін породжений означає, що клас TfmExample успадкував всі можливості батьківського класу TForm і додав до них власні у вигляді додаткових компонентів, які, як ви пам'ятаєте, ми вставили в форму fmExample.
Перелік вставлених нами компонентів і складає значну частину опису класу.
Властивість спадкування класами-нащадками всіх властивостей батьківського класу і збагачення їх новими можливостями є одним з фундаментальних принципів об'єктно-орієнтованого програмування.
Від спадкоємця може бути породжений новий спадкоємець, який внесе свою лепту у вигляді додаткових програмних заготовок і т. д. У результаті створюється гілкується ієрархія класів, на вершині якої розташовується найпростіший клас TObject (всі інші класи в Delphi породжені від цього єдиного прародителя), а на самій нижній сходинці ієрархії - потужні класи-нащадки, яким по плечу вирішення будь-яких проблем.
2.2 Структура проекту
Файлова структура:
Project2.exe- виконуваний файл
Project2.dpr-файл проекту
Project2.res-файл ресурсів пакету
Unit2.dfm, -файл ресурсів форм
Unit2.dcu -файли скомпільованих модулів, містять пакет стандартних компонент, використовуються під модулів
Unit2.pas, -файл модулів.
Form1 - головна форма на якій розташовані такі компоненти: - поля для виведення графіки;
Panel1 - на панелі відображаються методи вирішення програми; - кнопка для розрахунку ;, Edit2, Edit3, Edit4 - поля для введення інформації ;, Label2, Label3 ... Label33 - поля для виведення інформації ;, GroupBox2, GroupBox3 , GroupBox4 - панелі для відображення груп об'єктів ;, ListBox2, ListBox3 ... ListBox14 - поля для відображення інформації;
Процедури: BitBtn1Click (Sender: TObject) - виконує розрахунки; Timer1Timer (Sender: TObject) - відображає час; FormCreate (Sender: TObject) - відображає шлях до файлу; CheckBox1Click (Sender: TObject) - відображає елементи для виведення розрахунків; CheckBox2Click (Sender: TObject) - відображає елементи для виведення розрахунків; CheckBox3Click (Sender: TObject) - відображає елементи для виведення розрахунків; CheckBox4Click (Sender: TObject) - відображає елементи для виведення розрахунків; Unit2;
Лістинг програми: TForm1.BitBtn1Click (Sender: TObject) ;: string;, y124, max: integer ;: array [1..10,1..10] of integer; _sed: array [ 1..10,1..10] of integer; _ger: array [1..10,1..10] of integer; _ger2: array [...