Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.11;
Скачать: CL | DM;

Вниз

Помогите с именами компонентов!!!   Найти похожие ветки 

 
tigrenok ©   (2005-11-19 21:49) [0]

Привет! помогите пожалуйста....
у меня есть много панелек.. и хотелось бы циклом задавать каждой пареметры, имена панелек такие
p1,p2,p3 и тд..... должно быть что-то типа такого (P+"i").top:= итд


 
Virgo_Style ©   (2005-11-19 21:59) [1]

Components[], FindComponent()


 
mfender ©   (2005-11-19 22:03) [2]

Должно быть примерно так:


var i: Integer;
   C: TComponent;
   PC: Integer;
begin
 PC := 1;
 for i:=0 to (Sender as TForm).ControlCount-1 do
 begin
   C := (Sender as TForm).Controls[i];
   if ((C.ClassName = "TPanel") and (C.Name = "P"+IntToStr(PC))) then
   begin
     (C as TPanel).top := i*10;
     inc(PC);
   end;
 end;


 
tigrenok ©   (2005-11-19 23:12) [3]

ПАСИБА!!! ПОПРОБУЮ РАЗОБРАТЬСЯ!


 
tigrenok ©   (2005-11-19 23:43) [4]

Хрен знает... у меня выдаёт:Инвалид класс тайп каст..........Напишу я криво всё же.... :) один раз используюю...


 
Сайбель Алексей ©   (2005-11-19 23:51) [5]


> Хрен знает... у меня выдаёт:Инвалид класс тайп
> каст..........Напишу я криво всё же.... :) один раз
> используюю...

Лучше не иди на сделку с совестью. "Помучайся" сейчас - и знания останутся на потом,
Это все равно тебе понадобится при более крупных проектах рано или поздно.
Разберись с Virgo_Style © [1]


 
mfender ©   (2005-11-20 00:32) [6]


> Хрен знает... у меня выдаёт:Инвалид класс тайп каст.....
> .....Напишу я криво всё же.... :) один раз используюю...
>

Инвалидом ругается Sender. Я-то написал как, если бы все панели на TForm лежали...
И правильно сказал Сайбель Алексей ©   (19.11.05 23:51) [5]. Помучайся сразу. И FindComponent() тоже разбери - панельки твои могут оказаться не в одном месте...


 
tigrenok ©   (2005-11-20 01:33) [7]

Да...и не по совести не проктит..... всё равно придётся с этим разбираться.. по другому никак.. У меня панельи лежат на другой панельке! А порпоще никак нельзя это написать?


 
Anatoly Podgoretsky ©   (2005-11-20 12:13) [8]

Поиск надо делать в контейнере, если контейнер не форма, а панель, то поиск в панели.


 
mfender ©   (2005-11-20 15:44) [9]


> всё равно придётся с этим разбираться.. по другому никак.
> . У меня панельи лежат на другой панельке! А порпоще никак
> нельзя это написать?

Вот беда...
Да куда уж тут еще-то проще?


 
tigrenok ©   (2005-11-20 20:39) [10]

procedure TForm1.Button1Click(Sender: TObject);
var i: Integer;
C: TComponent;
PC: Integer;
begin
PC := 1;
for i:=0 to form1.ControlCount-1 do
begin
C := form1.Controls[i];
if ((C.ClassName = "TPanel") and (C.Name = "P"+IntToStr(PC))) then
begin
(C as TPanel).top := i*10;
inc(PC);
end;
end;

end;

end.


ЕСЛИ так.... то тоже не работает хотя не материться.... это когда панельки на форме


 
Virgo_Style ©   (2005-11-20 20:53) [11]

tigrenok ©   (20.11.05 20:39) [10]

Наверное, вместо PC лучше использовать Tag... вряд ли можно гарантировать, что порядок панелей в Controls совпадет с порядковым номером.


 
Проктолог   (2005-11-20 22:10) [12]


> for i:=0 to form1.ControlCount-1 do

Иди теорию учи.


 
tigrenok ©   (2005-11-20 22:21) [13]

Проктолог, согласен... отпишусь.....



Страницы: 1 вся ветка

Текущий архив: 2005.12.11;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.031 c
5-1116572383
Priest
2005-05-20 10:59
2005.12.11
Как по PPropInfo получить полное имя свойства?


4-1128934874
Vano85
2005-10-10 13:01
2005.12.11
Мониторинг за файлами


14-1132148771
Yuri Btr
2005-11-16 16:46
2005.12.11
Проблема с RadioEthernet


2-1132918235
Quadro
2005-11-25 14:30
2005.12.11
Странная ошибка


2-1131985995
Dudee
2005-11-14 19:33
2005.12.11
Сохранить в файл данные разных типов