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)