Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];




Вниз

Оператор 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)

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




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.022 c
14-46510          Knight                2002-03-07 14:47  2002.04.15  
Материал по теории графов...


14-46519          DPro                  2002-03-06 13:35  2002.04.15  
Дорогие Мастера!


3-46270           vopros                2002-03-26 09:24  2002.04.15  
Как программно добавить поле в таблицу Paradox. Знаю что вопрос недавно был. Но я его не нашел.


1-46371           Biorobot              2002-04-01 18:54  2002.04.15  
как сделать: неактив. прога учитывала бы нажатие клавиш?


6-46466           Aleksey_K             2002-02-04 10:36  2002.04.15  
pop3