що має тип TObject. Для виконання з цим параметром операцій, таких як, наприклад, виклик методу або присвоювання значення властивості, його необхідно привести до типу того об'єкта, для якого виконуються ці операції. Розрізняють явне і неявне приведення (перетворення) типів. p align="justify"> Для операцій з типами в мові Object Pascal служать інструкції is і as. Інструкція is використовується у виразі
<Об'єкт> is <Клас>
і перевіряє, чи належить об'єкт вказаного класу або одному з його нащадків. Якщо так, то це вираз має значення True, що вказує на сумісність типів. В іншому випадку вираз має значення False. p align="justify"> Інструкція as призначена для приведення одного типу до іншого і використовується у виразі виду
<Об'єкт> as <Клас>
У цьому виразі об'єкт наводиться до типу класу, таке приведення типу є неявним. Розглянемо наступний приклад неявного приведення типу:
procedure TForm1.Button1Click (Sender: TObject);
begin (Sender is TButton) then (Sender as TButton). Caption: = TimeToStr (Now);;
Тут при натисканні кнопки Button1 в її заголовку відображається поточний час. Для доступу до об'єкта кнопки і його властивості Caption використовується параметр Sender, тип якого наводиться до типу TButton кнопки. Попередньо виконується перевірка, чи можна виконати подібне приведення типу. p align="justify"> Якщо обробник призначений тільки для кнопки Button1, то зміна заголовка кнопки простіше виконати за допомогою інструкції виду
Button1.Caption: = TimeToStr (Now);
Використання параметра Sender і, відповідно, приведення типу може бути необхідним у випадках, коли процедура обробки є спільною для декількох компонентів, у тому числі різних типів.
Явна приведення типу виконується за допомогою наступної конструкції:
<Тип> (<Об'єкт>)
Приклад явного приведення типу:
procedure TForm1.Button1Click (Sender: TObject);
(Sender). Caption: = 'Кнопка';; -
Тема компонента, натиснутого користувачем, замінюється заголовком кнопка. Для виконання присвоювання тип компонента наводиться до типу TButton. br/>