Главная страница
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.049 c
2-1132754146
Dimon777
2005-11-23 16:55
2005.12.11
Как можно изменить шрифт (размер, цвет и т.п. ) главного меню?


14-1132602645
ArtemESC
2005-11-21 22:50
2005.12.11
Схемы Motherboard ов


1-1131637337
GrayFace
2005-11-10 18:42
2005.12.11
Получение содержимого регистров при исключении.


1-1131684367
Er
2005-11-11 07:46
2005.12.11
Выделение компонентов


5-1116406147
Priest
2005-05-18 12:49
2005.12.11
Свойство ComponentState у TForm в DreamDesigner