Об’єктно-орієнтовне програмування Delphi
Сучасні тенденції програмування систем автоматизації. Середовище об’єктно-орієнтовного програмування: об’єкти Delphi. Призначення, властивості, методи, основні події і приклади використання компонента Gauge. Проектування програми курсової роботи.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 18.05.2009 |
Размер файла | 36,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
21
План
Вступ
1. Сучасні тенденції програмування систем автоматизації
1.1 Середовище об'єктно-орієнтовного програмування
2. Об'єкти Delphi
2.1 Призначення компонента Gauge
2.2 Властивості компонента
2.3 Методи компонента
2.4 Основні події
2.5 Приклад використання
3. Проектна частина
3.1 Опис виконання роботи
3.1.1 Створення програми курсової роботи
3.1.2 Перша сторінка «Теоретична закладка»
3.1.3 Друга сторінка «Графіка-анімація»
3.1.4 Третя сторінка «Математичні обчислення»
Використана література
1. Сучасні тенденції програмування систем автоматизації
1.1 Середовище об'єктно-орієнтовного програмування
Історично склалося так, що програмування виникло і розвивалося як процедурне програмування, яке припускає, що основою програми є алгоритм, процедура обробки даних.
Об'єктно-орієнтоване програмування (ООП) - це методика розробки програм, в основі якої лежить поняття об'єкту, як деякої структури, що описує об'єкт реального миру, його поведінку. Завдання, що вирішується з використанням методики ООП, описується в термінах об'єктів і операцій над ними, а програма при такому підході є набором об'єктів і зв'язків між ними.
Строго кажучи, для того, щоб розробляти додатки в Delphi на базі тих, що надаються середовищем розробки компонентів, знання концепції ООП не є необхідним. Проте для глибшого розуміння того, як програма взаємодіє з компонентами, що і чому Delphi додає в текст програми, матеріал даного розділу вельми корисний.
Клас
Класична мова Pascal дозволяє програмістові визначати свої власні складні типи даних - записи (records). Object Pascal, підтримуючи концепцію об'єктно-орієнтованого програмування, дає можливість визначати класи. Клас - це складна структура, що включає крім опису даних опис процедур і функцій, які можуть бути виконані над представником класу - об'єктом.
Слід звернути особливу увагу на те, що в Object Pascal об'єкт - це динамічна структура. Змінна-об'єкт містить не дані, а посилання на дані об'єкту. Тому програміст повинен поклопотатися про виділення пам'яті для цих даних.
Виділення пам'яті здійснюється за допомогою спеціального методу класу - конструктора, якому зазвичай привласнюють ім'я create (створити). Щоб підкреслити особливу роль і поведінку конструктора, в описі класу замість слова procedure використовується слово constructor.
Виділення пам'яті для даних об'єкту відбувається привласненням значення результату застосування методу-конструктора до типу (класу) об'єкту. Наприклад, після виконання інструкції
professor: =TTPerson.create ;
виділяється необхідна пам'ять для даних об'єкту professor .
Крім виділення пам'яті, конструктор, як правило, вирішує задачу привласнення полям об'єкту початкових значень, тобто здійснює ініціалізацію об'єкту. Нижче приведений приклад реалізації конструктора для об'єкту TTPerson.
constructor TTPerson.create ;
begin
fname: = ` ` ;
faddress:='' ;
end;
Реалізація конструктора декілька незвичайна. По-перше, в тілі конструктора немає звичних інструкцій New, що забезпечують виділення динамічній пам'яті (всю необхідну роботу по виділенню пам'яті виконує компілятор). По-друге, формально, конструктор не повертає значення, хоча в програмі звернення до конструктора здійснюється як до методу-функції.
Якщо в програмі деякий об'єкт більше не використовується, то можна звільнити пам'ять, займану полями цього об'єкту. Для виконання цієї дії використовують метод-деструкцію free. Наприклад, щоб звільнити пам'ять займану полями об'єкту professor, досить записати
professor.free;
Метод
Методи класу (процедури і функції, оголошення яких включене в опис класу) виконують дії над об'єктами класу. Щоб метод був виконаний, треба вказати ім'я об'єкту і ім'я методу, відокремивши одне ім'я від іншого крапкою. Наприклад, інструкція
professor.Show;
викликає застосування методу show до об'єкту professor. Фактично інструкція застосування методу до об'єкту - це специфічний спосіб запису інструкції виклику процедури.
У програмі методи класу визначаються точно так, як і звичайні процедури і функції, за винятком того, що ім'я процедури або функції, що є методом, складається з двох частин: імені класу, до якого належить метод, і імені методу. Ім'я класу від імені методу відділяється крапкою.
Нижче приведений приклад визначення методу show приведеного вище класу TTPerson.
// метод show класу TTPerson
procedure TTPerson. show;
begin
ShowMessage(`Ім'я:'+fname+#13+'Адрес: '+faddress) ;
end;
Слід звернути увагу на те, що в інструкціях методу доступ до полів об'єкту здійснюється без вказівки імені об'єкту.
Інкапсуляція і властивості об'єкту
Під інкапсуляцією розуміється утаєння полів об'єкту з метою забезпечення доступу до них тільки за допомогою методів класу.
У Object Pascal обмеження доступу до полів об'єкту реалізується за допомогою властивостей об'єкту. Властивість об'єкту характеризується полем, що зберігає значення властивості, і двома методами, що забезпечують доступ до поля властивості. Метод установки значення властивості називається методом запису властивості (write), метод набуття значення властивості називається методом читання властивості (read).
У описі класу перед ім'ям властивості записують слово property (властивість). Після імені властивості указується його тип, потім імена методів, що забезпечують доступ до значення властивості. Після слова read указується ім'я методу, що забезпечує читання властивості, після слова write - записи властивості ім'я методу. Нижче приведений приклад опису класу TTPerson, що містить дві властивості: Name і Address.
type
TName=string[15];
TAddress=string[35] ;
TTPerson = class
Private
FName:Tname; // значення св-ва Name
Faddress:TAdress; // значення св-ва Address
Constructor Create (Name :Tname) ;
Procedure Show;
Function GetName:TName;
Function GetAddress:TAddress;
Procedure SetAddress (NewAddress: TAddress ) ;
Public
Property Name: Tname
read GetName;
Property Address: Taddress
read GetAddress
write SetAddress;
end;
У програмі для установки значення властивості не обов'язково записувати інструкцію застосування до об'єкту методу установки значення властивості, можна записати звичайну інструкцію привласнення значення властивості. Наприклад, щоб привласнити значення властивості Adress об'єкту student, досить записати
Student.Address:= 'С.Петербург, ул.Садовая 21, кв. 3';
Компілятор перетранслював приведену інструкцію привласнення значення властивості в інструкцію виклику методу
Student.SetAddress ( ' З. Петербург, вул. Садова 21, кв .3'),
Зовні використання властивостей в програмі нічим не відрізняється від використання полів об'єкту. Разом з тим між властивістю і полем об'єкту існує принципова відмінність: при привласненні і читанні значення властивості автоматично викликається процедура, яка виконує деяку роботу.
У програмі на методи властивості можна покласти деякі додаткові завдання. Наприклад, за допомогою методу можна перевірити коректність привласнюваних властивості значень, встановити значення інших, логічно пов'язаних з властивістю, полів, викликати допоміжну процедуру.
Оформлення даних об'єкту як властивості дозволяє обмежити доступ до полів, що зберігають значення властивостей об'єкту, наприклад можна вирішити тільки читання. Щоб інструкції програми не могли змінити значення властивості, в описі властивості треба вказати тільки ім'я методу читання. Спроба привласнити значення властивості, призначеній тільки для читання, викликає помилку часу компіляції. У приведеному вище описі класу TTperson властивість Name доступно тільки для читання, а властивість Address - для читання і запису.
Концепція об'єктно-орієнтованого програмування припускає можливість визначати нові класи за допомогою додавання полів, властивостей і методів до вже існуючих класів. Такий механізм отримання нових класів називається породженням. При цьому новий, породжений, клас (нащадок) успадковує властивості і методи свого базового, батьківського класу.
У оголошенні класу-нащадка указується клас батька. Наприклад, клас TEmployee (співробітник) може бути породжений від розглянутого вище класу ттрегзоп шляхом додавання поля Department (відділ). Оголошення класу TEmployee в цьому випадку може виглядати так:
TEmployee = class (TTPerson)
FDepartment: integer; // номер відділу
constructor Create (Name :TName;Dep: integer) ;
end;
Укладене в дужки ім'я класу TTPerson показує, що клас TEmployee є похідним від класу TTPerson. У свою чергу, клас ттрегзоп є базовим для класу TEmployee.
Клас TEmployee має свій власний конструктор, який забезпечує ініціалізацію класу батька і своїх полів. Ось приклад реалізації конструктора класу TEmployee:
constructor TEmployee.Create(Name:Tname;Dep:integer);
begin
inherited Create (Name);
FDepartment: =Dep;
end;
У приведеному прикладі директивою inherited викликається конструктор батьківського класу, потім привласнюється значення полю класу нащадка.
Після створення об'єкту похідного класу в програмі можна використовувати поля і методи батьківського класу. Нижче приведений фрагмент програми, що демонструє цю можливість.
engineer: =TEmployee.create ( ' Сидоров ', 413 );
engineer.address:='yл.Блохина, д.8, кв.10';
Перша інструкція створює об'єкт типу TEmployee. Друга встановлює значення властивості, яка відноситься до батьківського класу.
Директиви Protected і Private
Крім оголошень елементів класу (полів, методів, властивостей) опис класу, як правило, містить директиви protected (захищений) і private (закритий), які встановлюють ступінь видимості елементів класу в програмі.
Елементи класу, оголошені в секції protected, доступні тільки в породжених від нього класах. Область видимості елементів класу цієї секції не обмежується модулем, в якому знаходиться опис класу. Зазвичай в секцію protected поміщають опис методів класу.
Елементи класу, оголошені в секції private, видимі усередині модуля. Ці елементи не доступні за межами модуля, навіть в похідних класах. Зазвичай в секцію Private поміщають опис полів класу, а методи, що забезпечують доступ до цих полів, поміщають в секцію protected.
Поліморфізм і віртуальні методи
Поліморфізм - це можливість використовувати однакові імена для методів, що входять в різні класи. Концепція поліморфізму забезпечує при застосуванні методу до об'єкту використання саме того методу, який відповідає класу об'єкту.
У кожному з цих класів визначений метод info. У базовому класі за допомогою директиви virtual метод info оголошений віртуальним. Оголошення методу віртуальним дає можливість дочірньому класу провести заміну віртуального методу своїм власним. У кожному дочірньому класі визначений свій метод info, який заміщає відповідний метод батьківського класу (метод породженого класу, що заміщає віртуальний метод батьківського класу, позначається директивою override).
Класи і об'єкти Delphi
Для реалізації інтерфейсу Delphi використовує бібліотеку класів, яка -содержит велика кількість різноманітних класів, що підтримують форму і різні компоненти (командні кнопки, поля редагування і т. д.).
Під час проектування форми додатку Delphi автоматично додає в текст програми необхідні об'єкти. Якщо відразу після запуску Delphi проглянути вміст вікна редактора коду, то там можна виявити наступні рядки:
type
Tform1 = class (TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: Tform1
Це опис класу початковою, порожньою, форми додатку і оголошення об'єкту - форми додатку.
Коли програміст, додаючи необхідні компоненти, створює потрібну форму, Delphi формує опис класу форми. Коли програміст створює функцію обробки події форми або її компоненту, Delphi додає оголошення методу в опис класу форми додатку.
Крім класів візуальних компонентів в бібліотеку класів входить клас обробки виняткових ситуацій (помилок), клас загального управління додатком та інші. Розгляд цих класів в завдання даної книги не входить.
2. Об'єкти Delphi
2.1 Призначення компонента Gauge
Компонент Gauge із сторінки Samples, призначений для відображення в стилі Windows ходу процесів, що займають помітний час, наприклад, копіювання великих файлів, настройку додатку, установку додатку на комп'ютері і тому подібне.
2.2 Властивості компонента
Основні властивості компоненту Gauge наведено в формі таблиці 1:
Властивість Gauge |
Опис |
|
MaxValue |
Максимальне значення позиції, яке відповідає завершенню процесу, що відображається. За умовчанням задається у відсотках -- 100. |
|
MinValue |
Початкове значення позиції, яке відповідає початку процесу, що відображається. |
|
Progress |
Позиція, яку можна задавати у міру протікання процесу, починаючи із значення Min або MinValue на початку процесу, і кінчаючи значенням Мах або MaxValue в кінці. Якщо мінімальне і максимальне значення виражені у відсотках, то позиція -- це відсоток завершеної частини процесу. |
|
ForeColor |
Колір заповнення. |
|
ShowText |
Текстове відображення відсотка виконання на тлі діаграми. |
|
Kind |
Тип діаграми: gkHorizontalBar -- горизонтальна смуга, gkVerticalBar -- вертикальна смуга, gkPie -- кругова діаграма, gkNeedle -- секторна діаграма, gkText -- відображення текстом. |
Таблиця 1. Основні властивості компоненту Gauge
2.3 Методи компонента
Відображення ходу процесу можна здійснювати, задаючи значення позиції -- Progress в Gauge. Наприклад, якщо повна тривалість процесу характеризується значенням цілої змінної Count (об'єм всіх копійованих файлів, число настройок, кількість циклів якогось процесу), а виконана частина -- цілою змінною Current, то задавати позицію діаграми у випадку, якщо використовуються значення мінімальної і максимальної позиції за умовчанням (тобто 0 і 100), можна операторами:
Gauge1.Progress := 100 * Current div Count;
Можна поступати інакше: задати спочатку значення максимальної величини рівним Count, а потім в ході процесу задавати позицію рівної Current. Наприклад:
Gauge1.MaxValue := Count;
Gauge1.Progress
2.4 Основні події
Приклад можливих варіантів відображення ходу процесу компонентами ProgressBar і Gauge приведений на рис. 1 Приклад відображення ходу процесу компонентами ProgressВarи Gauge
Рис. 1 Приклад відображення ходу процесу компонентами ProgressВarи Gauge
3.1 Опис виконання роботи
3.1.1 Створення програми курсової роботи
1 Завантажити середовище DELPHI.
2 Відкрити нову форму з багато сторінковим блокнотом: File -> New -> …-> закладка Forms -> Tabbed Pages -> Ok.
3 Виокремити та вилучити (Delete) невидиму панель з кнопками Ok, Cansel та Help у нижній частині відкритої форми.
4 Змінити заголовок форми з “Form1” на «Курсова робота» та змінити стиль, межі вікна (BorderStyle) на Sizeable (здатний змінювати розмір).
Для цього спочатку у вікні Object Inspector у списку компонентів поточної форми виберіть об'єкт Pages Dlg (вікно форми з багато сторінковим блокнотом) і лише тепер можна змінити його заголовок та стиль.
5 Змінити заголовки трьох сторінок (властивість Caption) блокнота (об'єктів: TabSheet1, TabSheet2, TabSheet3) на «Теоретична закладка», «Графіка - анімація», «Математичні обчислення» відповідно.
Треба бути уважним, щоб не знищити весь багато сторінковий блокнот - об'єкт Page Control1. У разі необхідності можна відмовитися від неправильної дії командою Edit -> Undelete.Додати нову сторінку до блокнота можна командою New Page контекстного меню об'єкта Page Control (блокнот) чи TabSheet (сторінка блокнота). Знищити непотрібну сторінку блокнота можна клацнувши мишею в середині сторінки і натиснути Delete.
6 Заповнити три сторінки блокнота візуальними об'єктами.
7 Помістити у блокнот головне меню MainMenu1 (ст. Standart), яка буде мати такі пункти: Теоретична закладка, Графіка - Анімація, Математичні обчислення, Виконавець.
8 Запрограмувати команди головного меню, так, щоб у момент її виконання на екрані з'являлася відповідна сторінка. Для цього необхідно клацнути на відповідній команді головного меню. Наприклад активувати команду теоретична закладка, клацнувши на ній двічі. З'явиться заготовка процедури. У ній необхідно записати оператор виклику методу Show:
Аналогічно зробити для кожної команди, вписавши відповідну сторінку.
9 Створити вікно форми «Виконавець».
Додати до проекту нове вікно форми типу AboutBox (File -> New… -> закладка AboutBox -> Ok). Змінити текстові підписи та заголовок форми, вказуючи своє прізвище. Змінити зображення у вікні на власний розсуд, змінивши властивість Picture об'єкта Program Icon.
10. Запрограмувати команду «Виконавець» головного меню вікна «Курсова робота», так, щоб у момент її виконання на екрані з'являлось щойно спроектоване вікно. У заголовку процедури цієї команди введіть рядок:
11 Запрограмуйте кнопку Ok вікна «Виконавець»
Для цього поверніть до форми «Виконавець» і у програмному коді його кнопки Ok (процедурі OkButtonClick) введіть:
12 Вилучіть непотрібну порожню форму Form1 з проекту.
Для цього викличте менеджер проекту командою View -> Project Manager. Виокремте рядок зі значенням Form1 у полі Form та натисніть Deletе. Не зберігайте цю форму (No). Закрийте вікно менеджера проекту.
13 Збережіть свій проект: 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 i Memo2 повинні з'являтися відповідні текстові документи. Для цього завантажте у вікна Memo1 i Memo2 текст з файлів. Для цього попередньо потрібно створити відповідні текстові документи у Блокноті, з розширенням .txt. Лише тоді зробіть активним об'єкт PagesDlg, у інспекторі об'єктів на закладці Events, виберіть подію FormActivate і двічі клацніть. У заготовці цієї процедури напишіть ці строчки.
3. Збережіть свій проект: Save All.
3.1.3 Друга сторінка «Графіка-анімація»
1. Заповніть значення візуальних об'єктів другої сторінки:
TabSheet2: Caption: Графіка-анімація;
Button1: Caption: START;
Button2: Caption: STOP;
PaintBox1;
Timer1: Enabled: False.
2. Для відтворення анімації необхідно перед розділом Implementation записати такі дані:
var
PagesDlg: TPagesDlg;
n,x,y,r,i:integer;
alf:array[0..12] of real
3. На другій сторінці відтворення анімація руху механізму відбуватиметься при натисканні на кнопці START і зупинятися при натисканні на кнопці STOP.
Для програмування кнопки START двічі клацніть на кнопці і у заготовку процедури запишіть такий код:
Timer1.Enabled:=true
Для зупинки руху двічі клацніть на кнопці STOP і у заготовку процедури запишіть такий код:
Timer1.Enabled:=false
Процедура промальовування зображення описується в заготовці таймера. Для відтворення руху за кінематичною схемою двічі клацніть по об'єкту Timer і для нашого прикладу запишіть приклад програми:
procedure TPagesDlg.Timer1Timer(Sender: TObject);
var
a,b:array[0..12] of real;
x1,y1:array[0..12] of integer;
begin
with paintbox1.Canvas do
begin
Brush.Color:=clWhite;
Pen.Color:=clWhite;
Rectangle(0,0,ClientWidth,ClientHeight);
x:=300; y:=85; r:=30;
Pen.Color:=clGreen;
Pen.Width:=2;
a[i]:=r*sin(alf[i]);
b[i]:=r*cos(alf[i]);
x1[i]:=round(a[i]);
y1[i]:=round(b[i]);
ellipse(270,55,330,115);
moveTo(x,y);
LineTo(x-x1[i],y-y1[i]);
MoveTo(x-x1[i],y-y1[i]);
LineTo(x-x1[i]-100,115);
MoveTo(150,115);
LineTo(340,115);
textout(170,150,'Анімація руху механізму');
end;
i:=i+1;
if i>12 then i:=0;
end;
Для того щоб промальовувалося зображення у програмному коді необхідно записати таку процедуру: (для цього виберіть об'єкт PagesDlg в інспекторі об'єктів на закладці Events двічі клацніть на події FormCreate, у заготовку процедури запишіть код програми):
procedure TPagesDlg.FormCreate(Sender: TObject);
begin
alf[0]:=0;
for i:=1 to 12 do
alf[i]:=alf[i-1]-(pi/6);
end;
4. Збережіть свій проект: Save All.
3.1.4 Третя сторінка «Математичні обчислення»
1. Заповніть значення візуальних об'єктів третьої сторінки:
TabSheet3:Математичні обчислення;
Label4.Caption:Обчислення функції;
Label5.Caption:;
Label6.Caption:Ліва межа;
Label7.Caption:Права межа;
Label8.Caption:Крок;
Button3.Caption:Обчислити;
Button4.Caption:Дані;
Button6.Caption:Графік;
StringGrid.Visible:=false;
ScrollBars:=sbHorisontal;
FixedRows:=0;
FoxedCounts:=2;
Chart1.Visible:=false;
Edit1.Text - витерти місце;
Edit2.Text - витерти місце;
Edit3.Text - витерти місце;
2 На третій сторінці за відповідними кнопками керування будуть показувати дані або графік.
Для виведення даних у таблицю двічі клацніть на кнопці «Данні» і у заготовку процедури, яка з'явиться запишіть наступний код програми:
procedure TPagesDlg.FormCreate(Sender: TObject);
begin
alf[0]:=0;
for i:=1 to 12 do
alf[i]:=alf[i-1]-(pi/6);
end;
procedure TPagesDlg.Button4Click(Sender: TObject);
var
x,y,h,a,b:real;
i,cod:integer;
str1,str2:string;
begin
Chart1.Visible:=false;
StringGrid1.Visible:=true;
stringgrid1.Cells[0,0]:='x=';
stringgrid1.Cells[0,1]:='y=';
if (Edit1.Text<>'') or (Edit2.Text<>'') or (Edit3.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:=sqrt((exp(x*LN(2))-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;
end;
end;
3. Для того, щоб з'являвся графік, двічі клацніть на кнопці «Графік» і запишіть код програми:
procedure TPagesDlg.Button5Click(Sender: TObject);
var
x,y,h,a,b:real;
i,cod:integer;
begin
stringgrid1.Visible:=false;
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:=sqrt((exp(x*LN(2))-1));
series1.AddXY(x,y,'',clRed);
x:=x+h;
i:=i+1;
end;
end;
4. Код програми для кнопки «Обчислити»
procedure TPagesDlg.Button3Click(Sender: TObject);
var
x,y,h,a,b:real;
i,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 (Edit2.Text<>'') or (Edit3.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:=sqrt((exp(x*LN(2))-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;
end;
end;
Використана література
1. Симонович С.В., Евсеев Г.А. Delphi: Книга для детей, родителей и учителей. - М.: АСТ-ПРЕСС КНИГА Информком-Прес, 2001. - 368 с.
2. М.В. Сухарёв. Основы Delphi. Профессиональный подход - СПб.: Наука и Техника, 2004. - 600с.
3. Архангельський А.Я. Програмування в Delphi 6. - М.: ЗАО Видавництво «БІНОМ», 2003. - 528с.
4. Козин С.В. Робота в середовищі Delphi - 1996. - 345с.
Подобные документы
Прототип об'єктно-орієнтованого програмування. Управління процесом реалізації програми. Розвиток апаратних засобів. Об'єктно-орієнтовані мови програмування. Надійність і експлуатаційні якості програм. Візуальне об’єктна-орієнтовне проектування Delphi.
контрольная работа [28,9 K], добавлен 18.05.2009Концепції об'єктно-орієнтованого програмування. Спеціалізовані засоби розробки програмного забезпечення мовою Delphi. Загальні питання побудови та використання сучасних систем об’єктно-орієнтованного та візуального проектування програмних засобів.
курсовая работа [201,4 K], добавлен 01.04.2016Фундаментальні поняття об'єктно-орієнтованого програмування. Система лінійних нерівностей та опуклі багатогранники. Системи лінійних рівнянь лінійної алгебри як частковий випадок систем лінійних обмежень. Використання середовища програмування Delphi7.
курсовая работа [222,7 K], добавлен 20.05.2015Об’єктно-орієнтоване програмування мовою С++. Основні принципи об’єктно-орієнтованого програмування. Розробка класів з використанням технології візуального програмування. Розробка класу classProgressBar. Базовий клас font. Методи тестування програми.
курсовая работа [211,3 K], добавлен 19.08.2010Основні аспекти використання стандартних компонентів ООС програмування Delphi для створення звітної документації. Опис компонентів – QReport, PrintDialog та PrintSetupDialog. Приклади створення звітів. Iнше програмне забезпечення для побудови звітів.
курсовая работа [488,4 K], добавлен 08.12.2008Розробка програми на мові програмування С++ з використанням об’єктно-орієнтованого програмування, яка включає в себе роботу з файлами, класами, обробку числової інформації і роботу з графікою. Структура класів і об’єктів. Лістинг та алгоритм програми.
курсовая работа [104,4 K], добавлен 14.03.2013Розроблення додатка за допомогою об'єктно-орієнтованого візуального проектування Delphi для виконання арифметичних операцій або з використанням меню. Створення інтерфейсу користувача з використанням компонентів SYSTEM і WIN32. Обробка двовимірного масиву.
методичка [326,1 K], добавлен 13.01.2010Реалізація, за допомогою технології Windows Forms, програми обліку даних про волонтерів та подій, на які вони зареєстровані. можливості об'єктно-орієнтованого програмування. Створення класів. Методи, властивості. Використання Multiple Document Interface.
курсовая работа [1,5 M], добавлен 02.12.2015Модель в об’єктно-орієнтованих мовах програмування. Програмна модель створена на мові програмування С++, в середовищі програмування Borland С++ Builder 6.0. Вибір засобів реалізації програми. Види інструментів для об'єктно-орієнтованої розробки.
курсовая работа [116,9 K], добавлен 06.06.2010Характеристика технології візуального проектування і програмування, суть якої полягає в тому, що область розробки бере на себе більшу частину рутинної роботи. Огляд середовища швидкої розробки, в якій як мова програмування використовується мова Delphi.
курсовая работа [2,8 M], добавлен 27.02.2012