Форум: "Основная";
Текущий архив: 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)
Согласен, поспешил.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c