Is і as - оператори в Дельфи, парсинг і delphi

Про Sender: TObject я недавно розповів. Погодься, що використовувати Sender без таких операторів як is і as не надто кавайності. Звичайно, для певних цілей вони навіть не потрібні, а ось подекуди вже не обійтися.
Ти-то про них знаєш все, а от іншим зараз розповім.
Так, я в назві не опечатали. Коли я використовую as і is. мені здається, що я пишу твір англійською на вільну тему - навіть виходять правильно побудовані пропозиції :)
Оператор as - я б його переклав як «використовувати як».
Прімерчік: при натисканні на кнопку, написати на ній «натиснуто». Нехай ми не знаємо, яка кнопка натиснута, так як наше подія викликають кілька кнопок.
Ми використовуємо Sender типу TObject як TButton. тому що ми заздалегідь знаємо, що це кнопка. Чому б просто не написати Sender.Caption. Ось якщо у викликав події компонента не буде такого властивості, то не має сенсу. Втім, помилка з'явиться вже на етапі компіляції.
Можна і так:
Підводячи підсумок, після as пишемо тип, за який ми хочемо приймати об'єкт.
А як нам бути, якщо ми не знаємо, якого типу об'єкт викликав наш метод? Допутім, ми поставили ще й Label1 (TLabel) і на OnDblClick привласнили наш Button1Click. Sender as TButton - так для TLabel не вийде. У runtime з'явиться помилка «invalid class typecas t».
Ну що,
Ось і все, немає помилки. Якщо говорити по матчастини, (Sender is TButton) повертає true або false.
У найближчому майбутньому хочеться навести один чудовий приклад, підпишись на rss стрічку і дізнаєшся першим;)
А я сьогодні здав залік по екології)