- •Палітра Компонентів Delphi
- •Редактор Коду Delphi
- •Конструктор Форм
- •Інспектор Об’єктів. Принцип візуальної розробки програм
- •Завершення роботи з проектом та створення нового проекту
- •Збереження проекту
- •Відкриття існуючого проекту
- •Робота з Delphi-програмою Структура Delphi-програм
- •Виконання Delphi-програми
- •Завершення виконання Delphi-програми
- •Лабораторна робота №1
- •Завдання
- •Теоретичні відомості
- •Лабораторна робота №2
- •Розробка проекту «Діалог»
- •Мал. Діалог Аналіз проекту
- •Хід роботи
- •Завдання для самостійного виконання
- •Лабораторна робота №3
- •Завдання
- •Теоретичні відомості
- •Лабораторна робота №4
- •Розробка проекту «Ваша вага»
- •Хід роботи
- •Розробка проекту «Обмін валюти»
- •Хід роботи
- •Лабораторна робота №5
- •Завдання
- •Хід роботи
- •Теоретичні відомості Оператори if і case мови Паскаль
- •Кнопки-перемикачі в Delphi|
- •Лабораторна робота №6
- •Завдання
- •Хід роботи
- •Теоретичні відомості Типи даних для роботи з|із| рядками Короткі рядки типу|типа| ShortString| і String|[n]
- •Довгий рядок типу|типа| String|
- •Компонент tComboBox|
- •Компонент tBitBtn|
- •Обробка подій
- •Лабораторна робота №7
- •Розробка проекту «Гороскоп»
- •Хід роботи
- •Розробка проекту «Фізичний конвектор»
- •Хід роботи
- •Лабораторна робота №8
- •Розробка проекту «Рейтинг країн за результатами олімпійських змагань»
- •Хід роботи
- •Лабораторна робота №9
- •Розробка проекту «Журнал олімпіади»
- •Хід роботи
- •Лабораторна робота №10
- •Завдання
- •Хід роботи
- •2. Установка
- •3. Тестування створеної компоненти
- •Лабораторна робота №11
- •Розробка проекту «Побудова графіка функції»
- •Хід роботи
- •Лабораторна робота №12
- •Розробка проекту «Графічний конструктор»
- •Хід роботи
- •Лабораторна робота №13
- •Розробка проекту «Чат для локальної та глобальної мережі»
- •Хід роботи
- •Розробка форми на настройок
- •Розробка програмного коду
- •Лабораторна робота №14.
- •Завдання
- •Хід роботи
- •Теоретичні відомості
- •Етапи створення баз даних в Delphi.
- •Компонент тТаblе
- •Модуль даних
- •Лабораторна робота №15
- •Завдання
- •Хід роботи
- •Теоретичні відомості
- •Лабораторна робота №16
- •Завдання
- •Хід роботи
- •Теоретичні відомості
- •Лабораторна робота №17
- •Завдання
- •Хід роботи
- •Теоретичні відомості
- •Лабораторна робота №18
- •Завдання
- •Хід роботи
- •Теоретичні відомості
- •Список літератури
Лабораторна робота №10
Тема: Визначення типів. Створення нової компоненти.
Мета: Навчитися створювати нові компоненти засобами Delphi, а також їх встановлювати та тестувати.
Завдання
Створити новий клас, мутант TBitBtn1, в якому змінити значення за умовчанням властивості ShowHint на True і додати нову властивість – лічильник натиснень на кнопку.
Хід роботи
1. Перед початком роботи із створення нового компоненту потрібно створити окремий каталог для модуля і інших файлів компоненту. Після цього можна приступити до створення модуля компоненту.
Для того, щоб створити модуль компоненту, необхідно з меню Component вибрати команду New Component і в поля діалогового вікна New Component (мал. 1), що відкрилося ввести інформацію про створюваний компонент.
Рис. 1. Діалогове вікно New Component
Поле Ancestor type повинне містити базовий тип для створюваного компоненту. Базовий тип компоненту можна задати безпосереднім введенням імені типу або вибором із списку, що розкривається. Для компоненту, що розробляється, базовим компонентом є стандартний компонент BitBtn (поле введення-редагування). Тому базовим типом для типу компоненту, що розробляється, є тип TBitBtn [Buttons].
В полі Class Name необхідно ввести ім'я класу компоненту, що розробляється, наприклад TBitBtn1. Пригадайте, що в Delphi імена типів повинні починатися буквою т.
В полі Palette Page потрібно ввести ім'я вкладки палітри компонентів, на яку після створення компоненту буде доданий його значок. Назву вкладки палітри компонентів можна вибрати із списку, що розкривається. Якщо в полі Palette Page ввести ім'я ще не існуючої вкладки палітри компонентів, то безпосередній перед додаванням компоненту вкладка з вказаним ім'ям буде створена.
В полі Unit, file name знаходиться автоматично сформоване ім'я файла модуля створюваного компоненту. Delphi привласнює модулю компоненту ім'я, яке співпадає з ім'ям типу компоненту, але без букви T. Клацнувши на кнопці з трьома крапками, можна вибрати каталог, в якому повинен бути збережений модуль компоненту.
Після натиснення кнопки ОК до поточного проекту додається сформований Delphi-модуль, що є заготівкою (шаблон) модуля компоненту. Текст цього модуля приведений в лістингу 1.
unit Unit1;
interface
uses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls;
type
TMyButton = class(TBitBtn1)
private
{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
published
{ Published declarations }
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Samples', [TBitBtn1]);
end;
end.
Для прикладу створимо новий клас, мутант TBitBtn1, в якому змінимо значення за умовчанням властивості ShowHint на True і додамо нову властивість – лічильник натиснень на кнопку. Тепер початковий текст виглядає так:
unit BitBtn1;
interface
uses
SysUtils, Classes, Controls, StdCtrls, Buttons;
type
TBitBtn2 = class(TBitBtn)
private
{ Private declarations }
FClickCount : Longint;
FNote: string;
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create(AOwner : TComponent); override;
procedure Click; override;
property ClickCount : Longint read FClickCount write FClickCount;
published
{ Published declarations }
property Note: string read FNote write FNote;
end;
procedure Register;
implementation
constructor TBitBtn2.Create(AOwner : TComponent);
begin
inherited Create(AOwner);
ShowHint:=True;
FClickCount:=0;
end;
procedure TBitBtn2.Click;
begin
Inc(FClickCount);
inherited Click;
end;
procedure Register;
begin
RegisterComponents('Samples', [TBitBtn1]);
end;
end.
Установка компоненту
Для того щоб значок компоненту з'явився в палітрі компонентів, компонент повинен бути доданий в один з пакетів (Packages) компонентів
Пакет компонентів - це файл з розширенням dpk (Delphi Package File). Наприклад, компоненти, створені програмістом, знаходяться в пакеті Dclusr70.dpk.
Під час додавання компоненту в пакет Delphi використовує модуль компоненту і файл ресурсів компоненту, в якому повинен знаходитися бітовий образ значка компоненту. Ім'я файла ресурсів компоненту повинне обов'язково співпадати з ім'ям файла модуля компоненту. Файл ресурсів має розширення dcr (Dynamic Component Resource). Бітовий образ, що знаходиться усередині файла ресурсів, повинен мати ім'я, співпадаюче з ім'ям класу компоненту.
Ресурси компоненту
Файл ресурсів компоненту можна створити за допомогою утиліти Image Editor, яка запускається вибором з меню Tools команди Image Editor.
Для того щоб створити новий файл ресурсу компоненту, потрібно з меню File вибрати команду New і із списку, що з'явився, вибрати тип створюваного файла - Component Resource File.
В результаті відкривається вікно файла ресурсів Untitledl.dcr, а в меню діалогового вікна Image Editor з'являється новий пункт - Resource. Тепер потрібно з меню Resource вибрати команду New/Bitmap і у вікні Bitmap Properties, що відкрилося встановити характеристики бітового образу значка компоненту: Size - 24х24 пікселя, Colors - 16.
В результаті цих дій в створюваний файл ресурсів компоненту буде доданий новий ресурс - бітовий образ з ім'ям Bitmap1 Подвійне клацання на імені ресурсу (Bitmapl) розкриває вікно редактора бітового образу, в якому можна намалювати потрібну картинку.
Створений файл ресурсів компоненту потрібно зберегти в тому каталозі, в якому знаходиться файл модуля компоненту. Для цього треба з меню File вибрати команду Save.
Увага! Ім'я файла ресурсів компоненту (Edit.dcr) повинне співпадати з ім'ям модуля компоненту (Edit.pas), а ім'я бітового образу (Edit) - з ім'ям класу компоненту (Edit).
