Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.15;
Скачать: CL | DM;

Вниз

Оператор IS...   Найти похожие ветки 

 
KarlovAF ©   (2002-04-01 14:29) [0]

Как сделать функцию которая работала бы как оператор "is", но передавать ей
объект, который нужно проверить и ИМЯ КЛАССА, принадлежность объекта к
которому нужно проверить.


 
MBo ©   (2002-04-01 14:39) [1]

казалось бы, Is это и делает
if Sender is TEdit then ...


 
Виктор Щербаков ©   (2002-04-01 14:42) [2]

function __is(a: TObject; b: TClass): boolean;
begin
Result := a is b;
end;


 
Набережных С.   (2002-04-01 18:18) [3]

function __is(a: TObject; b: string): boolean;
begin
Result := a.ClassName = b;
end;


 
Shaman_Naydak ©   (2002-04-01 18:29) [4]

>> Набережных С. Это не совсем оператор is. Ф-ция вернет False, если передать имя класса предка..
Вот такой вариант будет покорректнее
function __is(Obj: TObject; const ClassName: string): Boolean;
var Cl: TClass;
begin
Cl:=Obj.ClassType;
Result:=True;
while Cl <> nil do
begin
if Cl.ClassNameIs(ClassName) then exit;
Cl:=Cl.ClassParent;
end;
Result:=False;
end;



 
Набережных С.   (2002-04-01 18:35) [5]


> Shaman_Naydak © (01.04.02 18:29)

Согласен, поспешил.



Страницы: 1 вся ветка

Текущий архив: 2002.04.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
14-46502
Андрей Сенченко
2002-03-05 17:33
2002.04.15
Компоненты для архивации


3-46258
B_A_V
2002-03-25 09:31
2002.04.15
что выьрать: Seagate Crystal Reports или XL Report G2?


1-46449
Yuraz
2002-04-01 11:06
2002.04.15
Подскажите, как в полезную ф-ю commatext добавить др. разграничит


3-46235
Rammst
2002-03-25 07:59
2002.04.15
Определение ... (HELP!!!)


1-46365
Glonia Zbanov
2002-04-01 14:28
2002.04.15
Как использовать GetScreenWidth