asyan.org
добавить свой файл
1


Луцький інститут розвитку людини Відкритого міжнародного університету розвитку людини «Україна»

Кафедра «________________________»
Дата реєстрації _________________

Курсова робота

з дисципліни:

«Об'єктно-орієнтовне програмування»

Виконав:

ст. гр. спеціальності

«Програмна інженерія»

Макарук Є.В..

Перевірив:

______________________
Луцьк 2011

зміСТ
Вступ………………………………………………………………………………03

Розділ 1: Сучасні тенденції програмування систем

автоматизації

1.1 Середовище об'єктно-орієнтовного програмування. Загальна характеристика……………………………………………………..…………….04

1.2 Система автоматизованого проектування (САПР)………………….……..06
Розділ 2: Об’єкти Delphi

2.1 Призначення компонента (TreeView)………………………………...……07

2.2 Можливості компоненту (Treeview) ……………………………………..07

2.3 Приклад використання………………………………………………..…….09
Розділ 3: Проектна частина

3.1 Опис виконання роботи……………………………………………..……….10

3.1.1 Створення програми курсової роботи……………………………...…….10

3.1.2 Перша сторінка “Теоретична закладка”………………………………….12

3.1.3 Друга сторінка “Графік-анімація”…………………………………...…....13

3.1.4 Третя сторінка “Математичні обчислення”………………………….…..15

3.2 Коротка характеристика використаних компонент у програмі……………..17

ДОДАТКИ……………………………………………………………………….….18

ПЕРЕЛІК ПОСИЛАНЬ……………………………………………………….……20

ВСТУП

Основним засобом реалізації завдання обробки інформаційних потоків на сьогоднішній день є спеціальні пакети прикладних програм. З появою операційної системи Windows принципово змінились основні засади створення програм. Вони сьогодні мають удосконалений і сучасний графічний інтерфейс; можливості приєднувати та використовувати стандартні функції Windows, підтримувати роботу у локальних мережах, обмінюватись даними з іншими програмами в процесі виконання. Однією з особливостей сучасного програмування під Windows є застосування відмінно нового принципу створення програмного забезпечення, такого як об’єктно-орієнтовне програмування. Безпосередньо реалізація методів об’єктно-орієнтовного програмування у Windows можлива на базі програмного пакету Delphi. У середовищі Delphi можна створювати сучасні програми для Windows не вдаючись до деталей чи особливостей операційної системи Windows. Delphi дозволяє розробляти програми за технологією візуального програмування.


В результаті вивчення курсу „Інструментальні засоби візуального програмування” студенти повинні вміти розробляти прикладні програми за допомогою засобів комп’ютерної техніки, вміти створювати сучасні програми для Windows у середовищі Delphі, навчитись розробляти та застосовувати типові компоненти. Одним із засобів вдосконалення набутих знань та їх перевірки є курсове проектування. У процесі вивчення навчальної дисципліни студенти виконують одну курсову роботу за типовим завданням.

^ Розділ 1: Сучасні тенденції програмування систем

автоматизації

1.1 Середовище програмування Delphi

Delphi – є середовищем розробки програм, яке використовує багато передових ідей і концепцій, закладених в графічному інтерфейсі Windows. Як відомо, середовище розробки великою мірою визначає ефективність роботи програміста. У середовищі програмування Delphi є всі необхідні інструменти для того, щоб створювати повноцінні програми. Писати, компілювати і тестувати програму – все це можна робити, не виходячи з Delphi. Запустити середовище програмування Delphi можна, якщо двічи клацнути на ярлик для Delphi на робочому столі або за допомогою меню Пуск (у Windows’95).
^

Основні елементи середовища


Інтегроване середовище Delphi складається з чотирьох основних елементів: головне вікно, вікно інспектора об’єктів, вікно форми та вікно модуля (вікно коду).
^

Головне вікно


Головне вікно має заголовок Delphi 2.0 – Project1. Це вікно містить головне меню, панель кнопок швидкого доступу і палітру компонент.

  • ^ Головне меню – стандартне меню в стилі Windows. Це меню дозволяє керувати всіма аспектами роботи в Delphi. Рядок меню можна налаштувати за власним бажанням, наприклад, додати власні елементи до пункту меню інструментів Tools.

  • ^ Кнопки і гарячі клавіши. Кнопки використовуються для швидкого доступу до найнеобхідніших пунктів меню. Вони розташовані в лівій частині екрану на панелі швидкого доступу. Серед них є кнопки для компіляції і запуска програм, для перегляду вихідного коду рядок за рядком тощо. Для того, щоб з’ясувати призначення кнопки досить навести на неї вказівник миші і прочитати підказку. Панель швидкого доступу за замовчанням містить 14 кнопок, але її склад можна сконфігурувати іншим чином. Більша частина найнеобхідніших функцій середовища Delphi також має гарячі клавіши, які можна натиснути замість відповідної кнопки чи то пункту меню.

  • ^ Палітра компонент – це каталог візуальних і невізуальних об’єктів, які можна включати до власних форм и програм. У Delphi компоненти об’єднані в кілька основних груп: стандартна, додаткова, група Windows 95, група доступу до даних, група управління даними, група Windows 3.1, діалогова група, системна група, група звітів, OCX група і група взірців. Кожна з цих груп представлена на окремій сторінці палітри компонент. Щоб з’ясувати призначення компоненти, досить лише виділити її і натиснути F1.
^

Вікно форми


Вікно, яке ми бачимо в центрі, називається формою. Під час розробки форма являє собою вікно програми. У цьому вікні проходить основна частина роботи по проектуванню програми. Деякі елементи у вікні форми (лінії сітки, невізуальні компоненти) не будуть видимими під час виконання програми. Але, оскільки Delphi – це середовище програмування типу WYSIWYG (What – You – See – Is – What – You – Get, що бачите, те й отримаєте), то більша частина того, що ми бачимо під час проектування є тим, що ми побачимо і під час виконання програми. Вікно форми не обов’язково повинно виглядати так, як на малюнку. Є можливість змінити різні його властивості, наприклад, прибрати кнопки максимізації та мінімізації вікна тощо.
^

Вікно коду


На малюнку це вікно перекрито вікном форми. Це вікно працює аналогічно до простого текстового редактора. Можна використовувати клавіши PgUp i PgDn, клавіши курсору, мишу, можна виділити, скопіювати, вставити текст за допомогою меню EDIT і відповідних гарячих клавіш.

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

Інспектор об’єктів


Інспектор об’єктів або Object Inspector як правило знаходиться в лівій частині екрану і містить інформацію про виділений об’єкт. Інспектор об’єктів складається з таких елементів: комбінованої панелі (Combo box) вибору об’єкту; сторінки властивостей (Properties Page) та сторінки подій (Events Page) вибраного об’єкту.

У інспекторі об’єктів описані всі властивості об’єкту, і його використовують для зміни цих властивостей. Наприклад, можна змінити заголовок кнопки, клацнувши на ній мишкою, а потім записавши нову назву в полі Caption інспектора об’єктів.

Крім того за допомогою інспектору об’єктів можна переглянути та змінити всі події, що пов’язані з виділеним об’єктом.
^

Управління файлами проекту Delphi


Проект – це сукупність вихідних файлів для всієї програми в цілому. Основні дії з проектом (відкрити, зберегти, створити) доступні через пункт меню File. Виконати програму можна через меню Run | Run, за допомогою гарячої клавіши F9 чи відповідної кнопки з панелі швидкого доступу.
^

Пересування по Delphi


У середовищі програмування Delphi не передбачено пункту меню Window. Тому для активації потрібного вікна можна використати:

  • меню View | Object Inspector – перехід у вікно інспектора об’єктів;

  • меню View | Window List – список всіх вікон, з якого можна вибрати потрібне;

  • кнопку Toggle Form / Unit на панелі швидкого доступу – активізація форм і вихідних модулів поточного проекту;

  • кнопки Select Unit from List i Select Form from List (або, що те саме, Сtrl+F12, Shift+F12), якщо в проекті існує кілька форм і модулів, дозволяють продивитися списки цих форм та модулів.
^

Конфігурація Delphi


У Delphi багато можливостей налаштування середовища. Можна конфігурувати палітру компонент, меню панель кнопок швидкого доступу, галерею (якщо певна форма часто використовується, то її можна включити до галереї; це дозволить використовувати її як шаблон у наступних проектах), редактор коду, різні опції проекту, інструмент перегляду (Browser) тощо. Більшість опцій налаштування доступна через підпункти меню Options.
^ 1.2 Система автоматизованого проектування (САПР) - система:

- що призначена для виконання проектних робіт з використанням комп’ютерної техніки;

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

В якості вхідної інформації САПР використовує технічні знання специалістів, які вводять проектні вимоги, уточнюють результати, перевіряють отриману конструкцію, змінюють її та таке інше.

Система автоматизованого проектування реалізується у вигляді комплексу прикладних програм, що забезпечують проектування, креслення, тривимірне моделювання конструкцій, пласких або об’ємних деталей.
Розділ 2: Об’єкти Delphi

^ 2.1 Призначення компонента (TreeView)

Компоненти відображення ієрархічних даних TreeView. Компоненти Treeview і Outline служать для відображення ієрархічних даних у вигляді дерева, в якому користувач може вибрати потрібний йому вузол або вузли. Ієрархічна інформація може бути самою різною: структура деякого підприємства, структура документації установи, структура звіту і тому подібне З кожним вузлом дерева можуть бути зв'язані деякі дані.
^ 2.2 Можливості компоненту Treeview декілька ширше, ніж компоненту Outline. До того ж Treeview — 32-разрядний компонент, а Outline — 16-разрядний. Тому Outline доцільно використовувати лише в додатках, що створюються за допомогою Delphi 1.
Основною властивістю Treeview що містить інформацію про вузли дерева, є Items. Доступ до інформації про окремі вузли здійснюється через цей індексний список вузлів. Наприклад, Treeview1.Items[1] — це вузол дерева з індексом 1 (другий вузол дерева). Кожен вузол є об'єктом типа Ttreenodes що володіє своїми властивостями і методами.
Під час проектування формування дерева здійснюється у вікні редактора вузлів дерева, представленому на Рис. 1.1. Це вікно викликається подвійним клацанням на компоненті Treeview або натисненням кнопки з багатокрапкою біля властивості Items у вікні Інспектора Об'єктів


Рис. 1.1 (Вікно редактора вузлів дерева компоненту Treeview)

Кнопка "^ Delete" (видалити) видаляє виділений вузл дерева. Кнопка "Load" дозволяє загрузити структуру дерева з файлу. Файл, зберігающий структуру дерева — це звичайний текстовий файл, в якому міститься текстовий вузл. Рівні вузлів позначають відступами.
Для кожного нового вузла дерева можна вказати ряд властивостей в панелі "Item Properties" вікна на мал. 3.20. Це перш за все властивість "Text" — напис, що з'являється в дереві біля даного вузла. Властивості "Image Index" і "Selected Index" визначають індекс піктограми, що відображується для вузла який відповідно не виділений і виділений користувачем в даний момент. Ці індекси відповідають списку зображень, що зберігаються в окремому компоненті Imagelist. Вказівка на цей компонент ви можете задати у властивості Images компоненту Treeview. Індекси починаються з 0. Якщо ви вкажете індекс -1 (значення за умовчанням), піктограми змальовуватися не будуть. Остання властивість — "State Index" в панелі "Item Properties" дозволяє додати другу піктограму в даний вузол, не залежну від достатку вузла. Подібна піктограма може просто служити дополнітел'ной характеристикою вузла. Індекс, що вказується як "State Index", відповідає списку зображень, що зберігаються в окремому компоненті IMAGEL
Ми розгледіли формування дерева в процесі проектування. Проте, дерево можна формувати або перебудовувати і під час виконання додатка. Для цього служить ряд методів об'єктів типа Ttreenodes. Наступні методи дозволяють вставляти в дерево нові вузли:
function Add(Node: TTreeNode; const S: string): TTreeNode;

Додає новий вузол з текстом S як останній вузол рівня, на якому розташований Node.
function AddFirst(Node: TTreeNode; const S: string): TTreeNode;

Вставляє новий вузол з текстом S як перший з вузлів рівня, на якому знаходиться Node. Індекси подальших вузлів збільшуються на 1.
function Insert (Node: TTreeNode; const S: string): TTreeNode;

Вставляє новий вузол з текстом S відразу після вузла Node на той же рівень. Індекси подальших вузлів збільшуються на 1.
^ Function AddChild(Node: TTreeNode; const S: string): TTreeNode;

Додає вузол з текстом S як останній дочерній вузла Node.
function AddChildFirst(Node: TTreeNode; const S: string); TTreeNode;

Вставляє новий вузол з текстом S як перший з дочірніх вузлів вузла Node. Індекси подальших вузлів збільшуються на 1.

Кожен з цих методів повертає вставлений вузол. Нижче як приклад приведений код, що формує те ж дерево.
^ 2.3 Приклад використання
TreeView1.Items.Clear; // Очищення списку

// додання кореневого вузлу 'производство' (індекс 0)
TreeView1.Items.Add(nil, 'производство');

{додавання дочірнього вузлу 'цех 1' — 'цех 3' (індекси 1 - 3)}

TreeView1.Items.AddChild(TreeView1.Items.Item[0], 'цех 1');

TreeView1.Items.AddChild(TreeViewl.Items.Item[0], 'цех 2');

TreeView1.Items.AddChild(TreeView1.Items.Item[0], 'цех 3');

{додавання кореневого вузлу 'управление' після вузлу

'производство' (індекс 4) }

TreeView1.Items.Add(TreeView1.Items.Item[0], 'управление');

{додавання дочірнього вузлу 'администрация' та

'бухгалтерия' вузлу 'управление' }

TreeView1.Items.AddChild(TreeView1.Items.Item[4], 'администрация');

TreeView1.Items.AddChild(TreeView1.Items.Item[4], 'бухгалтерия');
Дерево може бути скільки завгодно розгалуженим. Наприклад, наступних операторів додають дочірні вузли «бригада 1» і «бригада 2» в сформований раніше вузол «цех 1»:
TreeView1.Items.AddChild(TreeView1.Items.Item[1], 'бригада 1');

TreeView1.Items.AddChild(TreeView1.Items.Item[l], 'бригада 2');
Текст, пов'язаний з деяким вузлом, можна знайти за допомогою його властивості Text. Наприклад, Treeview1.Items.Item[1].Text—це напис «цех 1».
З кожним вузлом може бути зв'язаний деякий об'єкт. Додавання таких вузлів здійснюється методами Addobject, Addobjectfirst, Insertobject, Addchildobject Addchildobjectfirst.

Розділ 3: Проектна частина

^ 3.1 Опис виконання роботи

3.1.1 Створення програми курсової роботи


  1. Завантажити середовище DELPHI.

  2. Відкрити нову форму з багато сторінковим блокнотом: File ->New… -> закладка Forms -> TabbedPages - > Ok.

  3. Виокремити та вилучити (Delete) невидиму панель з кнопками Ok, Cansel та Help у нижній частинівідкритої форми.

  4. ^ Змінити заголовок форми з “Form1” на “Курсова робота ” та змінити стиль, межі вікна (BoderStyle) на Sizeable (здатний змінювати розмір).

Для цього спочатку у вікні Object Inspector у списку компонентів поточної форми виберіть об’єкт Pages Dlg (вікно форми з багатосторінковим блокнотом) і лише тепер можна змінити його заголовок та стиль.

  1. ^ Змінити заголовки трьох сторінок (властивість Caption) блокнота (об’єктів: TabSheet1, TabSheet2, TabSheet3 ) на: “Теоретична закладка”, “Графіка – анімація”, “Математичні обчислення” відповідно.

Треба бути уважним, щоб не знищити весь багатосторінковий блокнот – об’єкт Page Control1. у разі необхідності ви можете відмовитись від неправильної дії командою Edit  Undelete. Додати нову сторінку до блокнота можна командою New Page контексного меню об’єкта Page Control (блокнот) чи TabSheet (сторінка блокнота). Знищити непотрібну сторінку блокнота можа клацнувши мишею в середині сторінки і натиснути Delete.

  1. Заповнити три сторінки блокнота візуальними об’єктами.

  2. Помістити у блокнот головне меню MainMenu1(ст. Standart), яка буде мати такі пункти: Теоретична закладка, Графіка–анімація, Математичні обчислення, Виконавець.

  3. Запрограмувати команди головного меню, так, щоб у момент її виконання на екрані з’являлася відповідна сторінка. Для цього клацніть на відповідній команді головного меню. Наприклад активізуйте команду теоретична закладка, клацнувши на ній двічі. З’явиться заготовка процедури. У ній запишіть оператор виклику методу Show:


TabSheet1.Show;


Аналогічно зробити для кожної команди, вписавши відповідну сторінку.

  1. ^ Створити вікно форми “Виконавець”.

Додати до проету нове вікно форми типу AboutBox (File->New…-> закладка Forms -> AboutBox -> Ok ). Змінити текстові підписи та заголовок форми,

вказуючи своє прізвище.



Рис.2.5 Вікно „Виконавець”.

^ 10 Запрограмувати команд “Виконавець” головного меню вікна “Курсова робота”, так, щоб у момент її виконання на екрані з’являлось щойно спроектоване вікно. У заголовку процедури цієї команди введіть рядок:


AboutBox.Show;

  1. Запрограмуйте кнопку Ok вікна “Виконавець”

Для цього поверніться до форми “Виконавець” і у програмному коді його кнопки ^ Ok (процедурі OkButtonClick) введіть:


Close


  1. Вилучіть непотрібну порожню форму Form1 з проекту.

Для ціого викличте менеджер проекту командою View -> Project Manager. Виокремте рядок зі значенням Form1 у полі Form та натисніть Delete. Не зберігайте цю форму (No). Закрийте вікно менеджера проекту .

  1. Збережіть свій прект: Save All .

^ 3.1.2 Перша сторінка “Теоретична закладка”
1. Заповніть значення візуальних об’єктів першої сторінки:

TabSheet1: Caption: Теоретична закладка.

Label1: Caption: Загальна характеристика компонента.

Label2: Caption: Зовнішній вигляд.

Label3: Caption: Приклад введення коду.

Image1: двічі клацніть по об’єкту, у відкритому вікні через Load… вкажіть шлях до малюнка, який ви хочете помістити, Ok.

Memo1: Lines…- зітріть Memo1, Ok.

Для Memo1: Scrollbars = sbVertical – для перегляду характеристики компонента із стрічкою прокрутки.

Memo2: Lines…- зітріть Memo2, Ok.

^ 2. При запуску програми на сторінці “Теоретична закладка ” в об’єктах Memo1 і Memo2 повинні з’являтись відповідні текстові документи. Для цього завантажте у вікна Memo1 і Memo2 текст з файлів. Для цього попередньо потрібно створити відповідні текстові документи у Блокноті, з розширенням .txt. Лише тоді зробіть активним об’єкт PagesDlg, у інспекторі об’єктів на закладці Events, виберіть подію FormActivate і двічі клацніть. У заготовці цієї процедури напишіть ці стрічки.


Memo1.Lines.LoadFromFile('data.txt');

Memo2.Lines.LoadFromFile('memo2.txt');

^ 3. Збережіть свій прект: Save All .

3.1.3 Друга сторінка “ Графік-анімація
1. Заповніть значення візуальних об’єктів другої сторінки:

TabSheet2: Caption: Графіка-анімація

Button1: Caption: нарисувати;

Button2: Caption: вихід;

PaintBox1;

Timer1: Enabled: False.
2. На другій сторінці відтворення рисунок

відбуватиметься при натисканні на кнопці нарисувати і зупинятиметься при натисканні на кнопці вихід.

Для програмування кнопки нарисувати двічі клацніть на кнопці і у заготовку процедури запишіть такий код:

procedure TForm1.Button4Click(Sender: TObject);

var

x,y,r:real;

begin

with PaintBox1.Canvas do

begin

pen.Style:=psSolid;

Pen.Width:=2;
//рисуєм трикутник

Pen.Width:=1;

MoveTo(60,40);

LineTo(70,60);

LineTo(50,60);

LineTo(60,40);
//рисуєм трикутник2

Pen.Width:=1;

MoveTo(100,200);

LineTo(110,220);

LineTo(90,220);

LineTo(100,200);
//рисуєм трикутник3

Pen.Width:=1;

MoveTo(180,280);

LineTo(190,300);

LineTo(170,300);

LineTo(180,280);
//рисуєм пряму

Pen.Width:=1;

MoveTo(60,40);

LineTo(140,60);

LineTo(240,160);

LineTo(100,300);

LineTo(180,280);

MoveTo(100,200);

LineTo(140,260);

MoveTo(170,90);

LineTo(320,110);
//цилиндр 1

Pen.Width:=2;

MoveTo(300,100);

LineTo(340,100);

MoveTo(300,120);

LineTo(340,120);

Pen.Width:=1;

MoveTo(310,105);

LineTo(310,115);

MoveTo(330,105);

LineTo(330,115);
MoveTo(330,115);

LineTo(310,115);
MoveTo(310,105);

LineTo(330,105);
end;

end;


^ 3. Збережіть свій прект: Save All .
3.1.4 Третя сторінка “Математичні обчислення”


  1. Заповніть значення візуальних об’єктів третьої сторінки:

procedure TForm1.Button1Click(Sender: TObject);

var x,y,a,b,h:real;

i,n,cod:integer;

str1,str2:string;

begin

Chart1.Visible:=true;

stringgrid1.Visible:=true;

stringgrid1.cells[0,0]:='x=';

stringgrid1.cells[0,1]:='y=';

if (Edit1.text<>'')or(Edit1.text<>'')or(Edit1.text<>'')

then begin

val(Edit1.text,a,cod);

val(Edit2.text,b,cod);

val(Edit3.text,h,cod);

x:=a;

i:=1;

while x<=b+h/2 do

begin

y:=arctan(sqrt(x)/sqrt(x*(1)));

str(x:8:2,str1);

stringgrid1.cells[i,0]:=str1;

str(y:8:2,str2);

stringgrid1.cells[i,1]:=str2;

x:=x+h;

i:=i+1;

end;

i:=n;

Stringgrid1.ColCount:=n;

end;

end;
Для того, щоб з’являвся графік, двічі клацніть на кнопці “Графік” і

запишіть код програми:

x,y,h,a,b:real;

i,cod:integer;

begin

stringgrid1.visible:=true;

Chart1.Visible:=true;

series1.clear;

Chart1.Refresh;

val(Edit1.text,a,cod);

val(Edit2.text,b,cod);

val(Edit3.text,h,cod);

x:=a;

i:=1;

while X<=b+h/2 do

begin

y:=cos(x);

series1.AddXY(x,y,'',clRed);

x:=x+h;

i:=i+1;

end;

end;

^ 3.2 Коротка характеристика використаних компонент у програмі
MainMenu – головне меню програми, здатне створювати та обслуговувати складні ієрархічні меню для виконання різноманітних команд.

Label – текстовий напис, використовується для розміщення не дуже довгих записів, які постійно присутні та допомагають орієнтуватися в інтерфейсі.

^ Memo – багаторядковий текстовий редактор, використовується для введення і відображення тексту і складається з багатьох рядків.

Button – командна кнопка, опрацювання події OnClick цієї компоненти, використовують для реалізації деякої команди.

^ Edit – текстовий редактор, призначений для виведення та відображення одного текстового рядка.

StringGrid – таблиця текстових рядків, має можливості для зображення та опрацювання текстової інформації наведеної у вигляді таблиці.

Image – призначена для відображення рисунків в тому числі піктограм та мета файлів. Компонента пам’ятає зображення рисунка і має можливість відновити його в межах своїх розмірів.

Chart – діаграма, дає змогу відображати числові дані у вигляді діаграм і графіків, полегшує створення спеціальних панелей для графічного зображення. Має широкі можливості вибору вигляду та параметрів зображення.


Timer – машинний годинник, дає можливість змінювати кількість тактів.

PaintBox – вікно для малювання.


^ ДОДАТОК А


Рис. А.1 Перша закладка


Рис.А.2 Друга закладка “ Графік-анімація

Рис. А..3 Третя закладка ”Математичні обчислення” з

показом даних та графіка.


Список використаної літератури
1 Баас Роб та ін. DELPHI 5: Пер. з нім. /Роб Баас, Майк Фервай, Хайдермарія Гюнтер. К.: Ірина – ВНУ, 2000. – 494с.: іл..

2 Бобровський С. Delphi 5: учбовий курс. – СПб.: Пітер, 2000. – 640с.: іл..

3 Дарахвелідзе П.Г. Delphi – середовище візуального програмування. – СПб.: ВНУ – Санкт-Петербург, 1996. – 352с.

4 Архангельський А.Я. Програмування в Delphi 6. – М.: ЗАО Видавництво “БІНОМ”, 2003. – 1120с.: іл..

5 Грувер, Зиммерс, Мікель, Еморі. САПР і автоматизація виробництва/ Пер. з англ. О.О. Білоусова та ін.; Під ред. Є.К. Масловського. – М.: Мир, 1987. – 528с.: іл..

6 Андрющенко В.А. Системи автоматичного управління технологічним обладнанням. – Л.: Машинобудування, 1983.- 256с.: іл.

7. Тулашвілі Ю.Й. Курсове проектування в об’єктно-орієнтованому середовищі Delphi: Навчальний посібник - Луцьк: РВВ ЛДТУ, 2006.– 276с.

8. Тулашвілі Ю.Й. Основи прикладного програмування: Навчальний посібник – Луцьк: РВВ ЛНТУ, 2009.– 372 с.