Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Насколько быстро работает FindComponent


Страницы:   1 2

Гость_ ©   (2007-01-21 23:08:00) 

Если на форме порядка 770 объектов, то на сколько быстрее будет присвоение надписи напрямую конкретному объекту чем через FindComponent??? (ну вдруг там разница-то и не большая :) )


MsGuns   (2007-01-22 11:03:00) [1]

Блин, ну зачем чтобы определить имя симпатичной соседки надо делать перепись населения всей страны ?

Переключать группой свойства ВИЗУАЛЬНЫХ контролов надо во-первых, не по компонентам, а по контролам (коих может быть в разы меньше), а во-вторых, внутри контейнеров (панели, групбоксы и т.д.). Это и удобнее, и правильнее, и нагляднее.


Runner   (2007-01-22 10:23:00) [2]

И какже я это делаю?:)

Напишешь программу. С понятием рекурсии знаком? Если да - садись, пиши. Если нет - садись, читай.

P.S. Ну, или программиста наймешь, если самому написать не дано.

Пжста пример для поиска всех и только первого

Поиск "только первого" - совершенно такой же, как и "поиск всех", только, после того, как найдется первый компонент, процесс поиска прерывается.
Андэрстэнд?


sinys   (2007-01-22 06:32:00) [3]


> как тебе нужно, так и сделает... ты же управляешь процессом
> поиска... и анализом найденного

И какже я это делаю?:)
Пжста пример для поиска всех и только первого :)


Palladin   (2007-01-22 00:39:00) [4]


> то есть после чего он выходит

ах емае... ты все таки не понимаешь что такое findcomponent...


Palladin   (2007-01-22 00:38:00) [5]


> [18] Гость_

как тебе нужно, так и сделает... ты же управляешь процессом поиска... и анализом найденного

ps и знака вопроса достаточно одного...


Гость_   (2007-01-22 00:33:00) [6]


> button1 может быть и на form1 и на form2 и а form34324 и
> на form2234.panel4442


он поменяет в этом случае у всех найденных объектов например надпись или только у первого найденного???(то есть после чего он выходит)


Palladin   (2007-01-22 00:28:00) [7]

но ты должен понимать button1 может быть и на form1 и на form2 и а form34324 и на form2234.panel4442


Palladin   (2007-01-22 00:25:00) [8]

рекурсия начиная с Application


Гость_   (2007-01-22 00:22:00) [9]


> FindComponent ведет поиск среди своих дочерних компонентов,
>  все что в design-time положено на form1 будет найден через
> form1.findcomponent


А как быть чтобы искать по всему проекту ???


Palladin   (2007-01-22 00:19:00) [10]


> на сколько быстрее будет присвоение надписи напрямую конкретному
> объекту чем через FindComponent???

на туеву хучу :) учитывая что FindComponent - это простой цикл, да еще и с вызовом SameText, да еще придется строить рекурсию...


Palladin   (2007-01-22 00:12:00) [11]


> [8] Гость_

ну AP не договаривает, связка есть, но FindComponent ведет поиск среди своих дочерних компонентов, все что в design-time положено на form1 будет найден через form1.findcomponent, но все что положено в том же design-time на form2 в form1.findcomponent найдено уже не будет, более того, все что создано в run-time с владельцем form1.panel1 в form1.findcomponent найдено тоже не будет, только в form1.panel1.findcomponent

есть четкая иерархия принадлежности компонентов


Runner   (2007-01-22 00:11:00) [12]

от которого порожден

В смысле, TForm - потомок в N-ном поколении (точнее - в 5-м).


Runner   (2007-01-22 00:09:00) [13]

Может просветите как из этого следует связка FindComponent с формой или проектом?

FindComponent - метод класса TComponent, от которого порожден класс TForm. Компоненты в design-time ты куда бросаешь, на форму?


Anatoly Podgoretsky   (2007-01-21 23:56:00) [14]

> Гость_  (21.01.2007 23:54:08)  [8]

Никак не следует, более того вообще связи нет.


Anatoly Podgoretsky   (2007-01-21 23:55:00) [15]

> Гость_  (21.01.2007 23:33:05)  [5]

2-8  секунд можно даже измерить по часам.


Гость_   (2007-01-21 23:54:00) [16]

Description

FindComponent returns the component in the Components property array with the name that matches the string in the AName parameter. Use FindComponent to determine whether a given component is owned by another.

Component name matches are not case sensitive.

Может просветите как из этого следует связка FindComponent с формой или проектом?


Palladin   (2007-01-21 23:46:00) [17]


> это я так понимаю он не то что по форме, а по всему проекту
> ищет?

очень плохо понимаешь, для хорошего понимания лучше прочитать справку


Palladin   (2007-01-21 23:45:00) [18]

var
tc:cardinal;
begin
tc:=gettickcount;
выполнение кода
showmessage(inttostr(gettickcount-tc)+'ms');
end


Гость_   (2007-01-21 23:33:00) [19]

TLabel(FindComponent('X_'+IntToStr(i)+'_Yl')).Caption := str;
это я так понимаю он не то что по форме, а по всему проекту ищет?
>Но в любом случае затраты времени небольшие. Доли секунды будет искать среди тысяч.
у мну это вызывается много раз, поэту действие работает от 2 до 8 секунд
>Проверить — не судьба?
буду благодарен если подкинешь ссылку на описание замерения времени выполнения кода


Джо   (2007-01-21 23:17:00) [20]

> Насколько быстро работает FindComponent

Проверить — не судьба?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо