Форум: "Основная";
Текущий архив: 2005.01.02;
Скачать: [xml.tar.bz2];
ВнизFindComponent Найти похожие ветки
← →
Pentium133 © (2004-12-16 16:22) [0]Приветсвую!
Подскажите как мне найти компонент на форме по имени класса. Причем он может лежать не на самой форме, а на панели и пр.
Есть ли готовое решение или самому нужно писать такую функцию?
← →
-=SS=- © (2004-12-16 18:16) [1]FindControl();
FindNextControl()
Может быть пригодится FindChildControl()
Ну а если на форме находится несколько компонентов которые одного и того же класса ?
← →
jack128 © (2004-12-16 18:44) [2]2 -=SS=- а разве разговор о контрорлах идет??
2 Пентиум133 цикл по массиву Components. Если ты бросил компонент на палеь в дезин тайм, то владельцем компонента все равно становится форма.
← →
Cosinus © (2004-12-16 18:54) [3]Я думаю что то типа того...
for i:=1 to ComponentCount-1 do
if (Components[i] is TSomeClass) then
if (Components[i] as TSomeClass){for example}.Name="SomeClass1" then
SomeAction;
← →
Cosinus © (2004-12-16 18:55) [4]Sorry, конечно не
for i:=1 to ComponentCount-1 do
, аfor i:=0 to ComponentCount-1 do
← →
-=SS=- © (2004-12-16 18:59) [5]
> jack128 © (16.12.04 18:44) [2]
Можно и так
Var I : Integer;
begin
For I := 0 to ComponentCount-1 do
Memo1.Lines.Add(Components[i].ClassName);
....
end;
← →
Pentium133 © (2004-12-17 18:33) [6]Я вот как решил эту проблемму:
function FindСomp(const AClassName: string; const Source: TComponent): TComponent;
var
i: integer;
begin
Result := nil;
if UpperCase(Source.ClassName) = UpperCase(AClassName) then
Result := Source
else
for i:= 0 to Source.ComponentCount - 1 do
if Result = nil then
Result := FindFQBcomp(AClassName, Source.Components[i])
else
Exit;
end;
← →
Pentium133 © (2004-12-17 18:35) [7]конечно же 11 строка:
Result :=
FindСomp
(AClassName, Source.Components[i])
← →
GuAV © (2004-12-17 23:23) [8]Pentium133 © (17.12.04 18:33) [6]
for i:= 0 to Source.ComponentCount - 1 do
if Result = nil then
Result := FindFQBcomp(AClassName, Source.Components[i])
else
Exit;
Странновато выглядит... кого вводишь в заблуждение ?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.01.02;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.034 c