Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2010, 15:10   #1
arhiepiskop
Пользователь
 
Аватар для arhiepiskop
 
Регистрация: 26.11.2009
Сообщений: 19
По умолчанию Копирование кода большое кол-во раз, но с изменяющимеся номерами компонентов

Ситуация такая: имеется 200+ компонентов TPanel, при событии mousedown выполняется код ( в котором Tpanel упоминается 12 раз). В каждой из 200+ процедур обработки соответственно нужно исправлять номера панелей. В цикле сделать (к примеру ( panel[i] ) нельзя. Как быть? Или сидеть и часами править номера панелей?
arhiepiskop вне форума Ответить с цитированием
Старый 09.06.2010, 15:34   #2
baster128
Форумчанин
 
Аватар для baster128
 
Регистрация: 24.04.2010
Сообщений: 205
По умолчанию

Очень мутно ты объяснил. Объясни задачу целиком, может подскажем попроще чтонибудь.
baster128 вне форума Ответить с цитированием
Старый 09.06.2010, 15:38   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

в обработчике событий используйте параметр Sender это обьект(компонент в основном) который вызвал событие.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 09.06.2010, 15:54   #4
arhiepiskop
Пользователь
 
Аватар для arhiepiskop
 
Регистрация: 26.11.2009
Сообщений: 19
По умолчанию

к примеру:
по событию OnMouseDown обьекта Panel1 выполнится следующий код:
begin
panel1.color:=clblue;
panel1.hint:='ololo';
panel1.showhint:=true;
end;


и мне надо таким образом сделать тоже самое с еще 245 TPanel'ами.
Как сделать это так что бы не копировать код 245 раз, а потом сидеть и из менять номера TPanel?

ЗЫ: Делаю зрительный зал, панельки соответственно места.
arhiepiskop вне форума Ответить с цитированием
Старый 09.06.2010, 15:58   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
begin
(Sender As TPanel).color:=clblue;
(Sender As TPanel).hint:='ololo';
(Sender As TPanel).showhint:=true;
end;
или вы мой пост не заметили?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 09.06.2010, 16:14   #6
Necro
Пользователь
 
Аватар для Necro
 
Регистрация: 27.02.2007
Сообщений: 22
По умолчанию

TPanel(Findcomponent('Panel'+IntToS tr(i))).color:=#000000;

таким макаром попробуйте
Necro вне форума Ответить с цитированием
Старый 09.06.2010, 16:19   #7
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

В цикле
Код:
for i:=0 to Form1.ComponentsCount do
  begin
    //А тут уже делаете
   if (Form1.Component[i] is tPanel) then
    //Меняете то что вас нужно
  end;
Примерно как то так. Немного только синтаксис не помню.
FaTaL вне форума Ответить с цитированием
Старый 10.06.2010, 08:58   #8
arhiepiskop
Пользователь
 
Аватар для arhiepiskop
 
Регистрация: 26.11.2009
Сообщений: 19
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
Код:
begin
(Sender As TPanel).color:=clblue;
(Sender As TPanel).hint:='ololo';
(Sender As TPanel).showhint:=true;
end;
или вы мой пост не заметили?
заметил, но не сразу понял как применить, т.к. опыт программирования очень маленький...

Всем спасибо!

Последний раз редактировалось arhiepiskop; 10.06.2010 в 16:38.
arhiepiskop вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование компонентов файла f1 в f2 WInnER2192 Помощь студентам 3 20.05.2010 16:52
предоставить небольшой проект содержаший среднее кол-во компонентов RAFGOBLIN Свободное общение 4 01.07.2009 15:18
Кто нибудь может подсказать как нарастить Дату определенное кол-во раз? •ScReam•™ Помощь студентам 2 18.06.2009 01:18
Копирование строки кода artemavd Общие вопросы Delphi 6 27.03.2009 15:38
Программное копирование компонентов Frishka Компоненты Delphi 0 23.02.2009 00:28