Гость
Статьи
Как сделать приведение …

Как сделать приведение класса

описываю функцию на лазарусе

function btn_anim(Sender:TObject, i:integer):boolean;
beign
if i = 1 then
begin
TPanel((Sender as TImage).Parent).Color:=clWhite;
end ELSE
begin
TPanel((Sender as TImage).Parent).Color:=clWhite;
end;
end;

как сделать так чтобы не приводить сендер к классу т имейдж, потому что он может быть и лейбл и панел, ну то есть чтобы он автоматически определял класс, класс TComponent не обладает свойством парент и TObject тоже помогите плиз #программирование
9 ответов
Последний — Перейти
Гость
#2
Вы уверены , что на том форуме пишете?
Сказка
#3
)) представила невольно привидение целого класса... Не дай бог)) хотя к концу учебного года многим учителям ага, мерещится уже.
#4
Гость
Вы уверены , что на том форуме пишете?
ну я в ответах мейл ру спрашивал они ответили что надо голосовать за пунита ;_;
Лапусик
#5
Гость
Вы уверены , что на том форуме пишете?
😆
#6
Сказка
)) представила невольно привидение целого класса... Не дай бог)) хотя к концу учебного года многим учителям ага, мерещится уже.
ну вообще да и это тоже '_'
Лапусик
#7
Сказка
)) представила невольно привидение целого класса... Не дай бог)) хотя к концу учебного года многим учителям ага, мерещится уже.
🤣
#8
Через оператор is ты можешь проверить является ли Sender экземпляром указанного класса или его потомком. Sender is TImage - истина, если это Image и дальше перебираешь свои варианты
#9
Чайлдфри
Через оператор is ты можешь проверить является ли Sender экземпляром указанного класса или его потомком. Sender is TImage - истина, если это Image и дальше перебираешь свои варианты
дык я то хочу как раз без этого чтобы код в одну строчку)

if Sender.ClassName = 'TImage' then
begin
TPanel((Sender as TImage).Parent).ParentBackground:=true;
end;
if Sender.ClassName = 'TPanel' then
begin
TPanel(Sender).ParentBackground:=true;
end;
if Sender.ClassName = 'TLabel' then
begin
TPanel((Sender as TLabel).Parent).ParentBackground:=true;
end;
Форум: Время для себя
Всего: 21 500 тем
Новые темы за сутки: 12 тем
Популярные темы за сутки: 2 темы