Форум: "Начинающим";
Текущий архив: 2007.02.11;
Скачать: [xml.tar.bz2];
ВнизНасколько быстро работает FindComponent Найти похожие ветки
← →
Гость_ (2007-01-21 23:08) [0]Если на форме порядка 770 объектов, то на сколько быстрее будет присвоение надписи напрямую конкретному объекту чем через FindComponent??? (ну вдруг там разница-то и не большая :) )
← →
Sergey Masloff (2007-01-21 23:11) [1]Ну, в среднем в 385 раз медленнее ;-)
← →
Johnmen © (2007-01-21 23:15) [2]Если на форме порядка 770 объектов, то что-то не то в консерватории.
← →
Sergey Masloff (2007-01-21 23:15) [3]Но в любом случае затраты времени небольшие. Доли секунды будет искать среди тысяч.
← →
Джо © (2007-01-21 23:17) [4]> Насколько быстро работает FindComponent
Проверить — не судьба?
← →
Гость_ (2007-01-21 23:33) [5]TLabel(FindComponent("X_"+IntToStr(i)+"_Yl")).Caption := str;
это я так понимаю он не то что по форме, а по всему проекту ищет?
>Но в любом случае затраты времени небольшие. Доли секунды будет искать среди тысяч.
у мну это вызывается много раз, поэту действие работает от 2 до 8 секунд
>Проверить — не судьба?
буду благодарен если подкинешь ссылку на описание замерения времени выполнения кода
← →
Palladin © (2007-01-21 23:45) [6]var
tc:cardinal;
begin
tc:=gettickcount;
выполнение кода
showmessage(inttostr(gettickcount-tc)+"ms");
end
← →
Palladin © (2007-01-21 23:46) [7]
> это я так понимаю он не то что по форме, а по всему проекту
> ищет?
очень плохо понимаешь, для хорошего понимания лучше прочитать справку
← →
Гость_ (2007-01-21 23:54) [8]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 с формой или проектом?
← →
Anatoly Podgoretsky © (2007-01-21 23:55) [9]> Гость_ (21.01.2007 23:33:05) [5]
2-8 секунд можно даже измерить по часам.
← →
Anatoly Podgoretsky © (2007-01-21 23:56) [10]> Гость_ (21.01.2007 23:54:08) [8]
Никак не следует, более того вообще связи нет.
← →
Runner (2007-01-22 00:09) [11]Может просветите как из этого следует связка FindComponent с формой или проектом?
FindComponent - метод класса TComponent, от которого порожден класс TForm. Компоненты в design-time ты куда бросаешь, на форму?
← →
Runner (2007-01-22 00:11) [12]от которого порожден
В смысле, TForm - потомок в N-ном поколении (точнее - в 5-м).
← →
Palladin © (2007-01-22 00:12) [13]
> [8] Гость_
ну AP не договаривает, связка есть, но FindComponent ведет поиск среди своих дочерних компонентов, все что в design-time положено на form1 будет найден через form1.findcomponent, но все что положено в том же design-time на form2 в form1.findcomponent найдено уже не будет, более того, все что создано в run-time с владельцем form1.panel1 в form1.findcomponent найдено тоже не будет, только в form1.panel1.findcomponent
есть четкая иерархия принадлежности компонентов
← →
Palladin © (2007-01-22 00:19) [14]
> на сколько быстрее будет присвоение надписи напрямую конкретному
> объекту чем через FindComponent???
на туеву хучу :) учитывая что FindComponent - это простой цикл, да еще и с вызовом SameText, да еще придется строить рекурсию...
← →
Гость_ (2007-01-22 00:22) [15]
> FindComponent ведет поиск среди своих дочерних компонентов,
> все что в design-time положено на form1 будет найден через
> form1.findcomponent
А как быть чтобы искать по всему проекту ???
← →
Palladin © (2007-01-22 00:25) [16]рекурсия начиная с Application
← →
Palladin © (2007-01-22 00:28) [17]но ты должен понимать button1 может быть и на form1 и на form2 и а form34324 и на form2234.panel4442
← →
Гость_ (2007-01-22 00:33) [18]
> button1 может быть и на form1 и на form2 и а form34324 и
> на form2234.panel4442
он поменяет в этом случае у всех найденных объектов например надпись или только у первого найденного???(то есть после чего он выходит)
← →
Palladin © (2007-01-22 00:38) [19]
> [18] Гость_
как тебе нужно, так и сделает... ты же управляешь процессом поиска... и анализом найденного
ps и знака вопроса достаточно одного...
← →
Palladin © (2007-01-22 00:39) [20]
> то есть после чего он выходит
ах емае... ты все таки не понимаешь что такое findcomponent...
← →
sinys © (2007-01-22 06:32) [21]
> как тебе нужно, так и сделает... ты же управляешь процессом
> поиска... и анализом найденного
И какже я это делаю?:)
Пжста пример для поиска всех и только первого :)
← →
Runner (2007-01-22 10:23) [22]И какже я это делаю?:)
Напишешь программу. С понятием рекурсии знаком? Если да - садись, пиши. Если нет - садись, читай.
P.S. Ну, или программиста наймешь, если самому написать не дано.
Пжста пример для поиска всех и только первого
Поиск "только первого" - совершенно такой же, как и "поиск всех", только, после того, как найдется первый компонент, процесс поиска прерывается.
Андэрстэнд?
← →
MsGuns © (2007-01-22 11:03) [23]Блин, ну зачем чтобы определить имя симпатичной соседки надо делать перепись населения всей страны ?
Переключать группой свойства ВИЗУАЛЬНЫХ контролов надо во-первых, не по компонентам, а по контролам (коих может быть в разы меньше), а во-вторых, внутри контейнеров (панели, групбоксы и т.д.). Это и удобнее, и правильнее, и нагляднее.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.02.11;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.032 c