Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2005.12.11;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.052 c
2-1132935214
Jimm
2005-11-25 19:13
2005.12.11
Как пользоваться Utf8ToUnicode?


14-1132666500
Еремеев Андрей
2005-11-22 16:35
2005.12.11
Нужна консультация продвинутых


4-1128575004
ProgramMaster
2005-10-06 09:03
2005.12.11
Отслеживание появления окна


6-1125037197
Windows
2005-08-26 10:19
2005.12.11
Проблема с функцие определения подключения к интернету


1-1131808969
Gennadiy
2005-11-12 18:22
2005.12.11
Проблема печати картинки на принтере!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский