Текущий архив: 2006.10.08;
Скачать: CL | DM;
ВнизКак сослаться на компонент, зная его TAG ? Найти похожие ветки
← →
kyn66 © (2006-09-22 12:40) [0]Есть функция, которая выполняет некое действие с компонентом:
procedure LookComp(Par : TWinControl; K : TControl);
Здесь первый параметр - родитель, второй - сам компонент, с которым будет что-то происходить. К примеру есть ряд компонентов TDBEdit. У каждого есть свой Tag. Как мне вставить в эту функцию компонент с тагом 1 или 2 или 3 и т.д.
Если через FindComponent, так там имя нужно указывать.
← →
Dmitrij_K (2006-09-22 12:41) [1]
for j:=0 to ComponentCount-1 do
if Components[j] is TControl then
begin
{...}
end;
← →
Василий Блаженный (2006-09-22 12:47) [2]if ((Controls[I] is TDbEdit) and ((Controls[I] as TDbEdit).Tag=нужное число)) then...
и по циклу него...
← →
kyn66 © (2006-09-22 12:48) [3]Ну и что здесь связано с Tag-ом?
← →
Василий Блаженный (2006-09-22 12:52) [4]if ((Controls[I] is TDbEdit) and ((Controls[I] as TDbEdit).Tag=нужное число))
← →
Сергей М. © (2006-09-22 12:56) [5]
> Василий Блаженный
> Controls[I] as TDbEdit
Приведение типа здесь лишнее, поскольку св-во Tag имеется у любоно наследника TComponent
← →
Fay © (2006-09-22 13:02) [6]2 Сергей М. © (22.09.06 12:56) [5]
> Приведение типа здесь лишнее
НЕ лишнее, т.к. это буквальное решение.
Не удивлюсь, если у афтар использует Tag не только у TDBEdit.
← →
kyn66 © (2006-09-22 13:03) [7]>> Василий Блаженный
пардон, когда писал ответ, вашего ешшо не было, он относился к [1]
Но здесь получается только через If, как-бы в Case прикрутить....
← →
Palladin © (2006-09-22 13:15) [8]так и крути... догадаться то не трудно...
case (Controls[I] as TDbEdit).Tag of
...
end;
← →
Сергей М. © (2006-09-22 13:17) [9]
> Fay © (22.09.06 13:02) [6]
Лишнее)
Достаточно первого фильтра в IF-условии.
Если компонент не прошел эту фильтрацию, то по барабану какой у него класс
← →
Fay © (2006-09-22 13:22) [10]2 Сергей М. © (22.09.06 13:17) [9]
Я это условие просто не заметил 8)
Значит лишнее - этоas
Страницы: 1 вся ветка
Текущий архив: 2006.10.08;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.043 c