Interface

Exit

Except

Try

Begin

a:=StrToFloat(Edit1.Text);

Edit1.SetFocus;

ShowMessage ('Введіть число в полі А ');

end;end;

Власні компоненти

Компонентою вважаємо будь-якого нащадка (прямого або непрямого) стандартного класу TComponent. оскільки тільки цей клас здатний взаємодіяти з IDE. Тому, на відміну від будь-якого іншого об'єкту (екземпляра класу), компонента повинна реєструватися в середовищі Delphi, тобто бути присутньою в палітрі компонентів. Це дозволяє програмістові змінювати властивості компоненти не тільки на етапі виконання, але и на етапі конструювання програми. Клас TComponent передає своїм нащадкам наступну функціональність:

· здатність взаємодіяти з програмістом на етапі конструювання програми;

· здатність управляти іншими компонентами: якщо компонента є власником іншої компоненти вона повинна знищити її при власному знищенні;

· здатність зберігати свої дані у файлі (потоці) і отримувати їх з нього;

 

Принципи розробки компонентів

· Компонента є повною. Вона містить багато властивостеи і методів, для її багатократного застосування в різних додатках.

· Компонента є цілеспрямованою. Вона виконує своє конкретне завдання з максимальною ефективністю. Для серії завдань доцільно мати декілька компонент.

· Компонента робить щось нове.

У Delphi є концепція пакетів - універсальних контейнерів компонент для надання програмам інформації про те, як компоненти використовуються.

Послідовність створення власної компоненти в

Embarcadero Delphi 2010. Постановка задачі: Створити компоненту Trandom. яка буде показувати випадкові числа від min до max (значення min і max може змінюватись в Object Inspector) Крім того у компоненти буде метод Random який генеруватиме випадкове число у зада­них межах, і подія GetMax, коли Random згенерує число, що дорівнює max Будуємо компоненту на основі TLabel, тобто випадкові числа будуть виводитись на форму у текстовому вигляді.

 

Щоб розв'язати цю задачу:

1 Видалимо всі зайві пакети Для цього

■ Вибираємо в меню Component режим Install Packages

■ В списку Design packages обираємо зайвий пакет і натискаємо кнопку Remove

2 Вибираємо в меню Component/New Component

3 У вікні, що з'явилося, обираємо клас-предок для нашої компоненти: TLabel тa переходимо до наступного кроку (Next »)

4 Далі задаємо ім'я класу нашої компоненти в полі Class Name, в полі Palette Page записуємо назву палітри, куди буде поміщена наша компонента Unit name - шлях до файлу, в якому буде зберігатись код компоненти (він може бути довіпьним) (Next»)

5 На наступномукроці обираємоInstall toNew Package(Next»)

6 Далі вполі Package name записуємо ім’я пакету, в який буде встановлено компонентуПоле Description можна залишити порожнім НатискаємоFinish.

7 З'явиться вікно для збереження нашого проекту Зберігаємо його у запропонований каталог (C:\Documents and Settings\ <USERNAME>\Moи документі \RAD Studio\Projects) !!!

8 Інсталювання компоненти завершено. З'явиться вікно з інформацією про успішність інсталювання

9. Справа у вікні Project manager з'явиться дерево проекту нашого пакунку. З папки Contains відкриваємо нашу компоненту і пишемо в ній необхідний код:

 

unit Random;

Uses SysUtils, Classes, Controls, StdCtrls; Type TRandom = class (TLabel)