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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2012, 20:32   #1
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию Кликнуть по Tlabel из процедуры..?

Пытаюсь научить программу кликать по Tlabel по нажатию на TButton вот так
Код:
 var
   PNum: Integer;
...
(FindComponent('label' + IntToStr(PNum + 1)) as TLabel).OnClick;
конечно же не компилируется, подскажите как правильно записать такое действие?
kta87 вне форума Ответить с цитированием
Старый 15.05.2012, 20:35   #2
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Что значит "не копилируется"? Приведи код ошибки.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 15.05.2012, 20:40   #3
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

Пример:
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Label1Click(TLabel(FindComponent('label'+IntToStr(1))));
end;

procedure TForm1.Label1Click(Sender: TObject);
begin
  ShowMessage('ok');
end;
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Старый 15.05.2012, 20:43   #4
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

Not enough actual parameters
При клике мышкой по Tlabel переменная PNum содержит номер компонента, а при нажатии на TButton нужно кликнуть на Tlabel с номером PNum + 1
kta87 вне форума Ответить с цитированием
Старый 15.05.2012, 20:48   #5
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Цитата:
Сообщение от kta87 Посмотреть сообщение
Not enough actual parameters
При клике мышкой по Tlabel переменная PNum содержит номер компонента, а при нажатии на TButton нужно кликнуть на Tlabel с номером PNum + 1
Потому что тут .OnClick чтото должно быть переданно в качестве параметра.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 15.05.2012, 20:52   #6
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

Если для каждого label метод OnClick уникальный, то так:
Код:
var
  LEventProc:TNotifyEvent;
begin
  LEventProc:=TLabel(FindComponent('label'+IntToStr(PNum+1))).OnClick;
  LEventProc(TLabel(FindComponent('label'+IntToStr(PNum+1))));
end;
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Старый 15.05.2012, 20:58   #7
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

3D Hunter, спасибо, так и есть! Вот только отзыв не могу тебе добавить, пишет что прежде чем тебе добавить нужно кому нить еще добавить
kta87 вне форума Ответить с цитированием
Старый 15.05.2012, 21:05   #8
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

ну как-нибудь попробуй, проплюсуй меня)))
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Старый 15.05.2012, 21:26   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Не могу согласиться с вышеизложенным примером и предлагаю свой:
Код:
var
  l:TLabel;
begin
  l:=TLabel(FindComponent('label'+IntToStr(PNum+1)));
  if l<>nil then l.OnClick(l);
end;
Так надежнее
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.05.2012, 21:35   #10
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

Тогда уже и событие OnClick проверять на назначенность. А вообще да, согласен. Проверки никто не отменял. Я привел лишь идею, а шлифовать - дело ТС.
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
кликнуть в веббраузере, как? Зод Работа с сетью в Delphi 0 26.12.2011 07:52
Кликнуть по картинке Coder01 Общие вопросы Delphi 1 21.12.2010 23:19
Программно кликнуть на textarea J-Max Работа с сетью в Delphi 0 07.02.2010 19:52
Как кликнуть по баннеру eldar Работа с сетью в Delphi 1 22.09.2008 09:16
Кликнуть мышью Crivel Помощь студентам 9 07.08.2008 21:26