Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.05 c
2-1169635482
Light-blr
2007-01-24 13:44
2007.02.11
Как объявить массив строк в константах?


15-1169218139
oldman
2007-01-19 17:48
2007.02.11
Почтовый ящик глюкнул, извините, пожалуйста...


2-1169405647
Decoy
2007-01-21 21:54
2007.02.11
Помогите написать клиент


2-1169450606
ТехникПТО
2007-01-22 10:23
2007.02.11
Paradox 7 не понимает русский!!


2-1169538596
Mikka
2007-01-23 10:49
2007.02.11
Как закрасить в Chart е область, ограниченную замкнутой серией ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский