Использование операторов is и as вместе с параметром Sender.
Про Sender: TObject я недавно рассказал. Согласись, что использовать Sender без таких операторов как is и as не очень кавайно. Конечно, для определенных целей они даже не требуются, а вот кое-где уже не обойтись.
Ты-то про них знаешь всё, а вот остальным сейчас расскажу.

1. As

Да, я в названии не опечатался. Когда я использую as и is, мне кажется, что я пишу сочинение на английском на свободную тему — даже получаются правильно построенные предложения :)
Оператор as — я бы его перевёл как «использовать как».
Примерчик: при нажатии на кнопку, написать на ней «нажато». Пускай мы не знаем, какая кнопка нажата, так как наше событие вызывают несколько кнопок.

procedure TForm1.Button1Click(Sender: TObject);
begin
  (Sender as TButton).Caption:='нажато';
end;

Мы используем Sender типа TObject как TButton, потому что мы заранее знаем, что это кнопка. Почему бы просто не написать Sender.Caption? Вот если у вызвавшего события компонента не будет такого свойства, то не имеет смысла. Впрочем, ошибка появится уже на этапе компиляции.
Можно и так:

procedure TForm1.Button1Click(Sender: TObject);
var
  vb: TButton;
begin
  vb:=Sender as TButton;
  vb.Caption:='нажато';
end;

Подводя итог, после as пишем тип, за который мы хотим принимать объект.

2. Is

А как нам быть, если мы не знаем, какого типа объект вызвал наш метод? Допутим, мы поставили еще и Label1 (TLabel) и на OnDblClick присвоили наш Button1Click. Sender as TButton — так для TLabel не получится. В runtime появится ошибка «invalid class typecast».
Ну что,

procedure TForm1.Button1Click(Sender: TObject);
begin
  if (Sender is TButton) then
    (Sender as TButton).Caption:='нажато';
  if (Sender is TLabel) then
    (Sender as TLabel).Caption:='дважды нажато';
end;

Вот и всё, нет ошибки. Если говорить по матчасти, (Sender is TButton) возвращает true или false.

В ближайшем будущем хочется привести один замечательный пример, подпишись на rss ленту и узнаешь первым ;)

А я сегодня сдал зачёт по экологии)

(c) crystalbit, http://parsers.info