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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.01.2010, 10:46   #1
Mutagena
Пользователь
 
Регистрация: 06.10.2009
Сообщений: 39
По умолчанию Переменные в динамических событиях

Подскажите, как нужно сделать.
Код:
procedure TMain.MyButtonClick(Sender:TObject);
begin
  AddDoc.Show;
end;

.....

        For j:=1 to N do
        begin
            kol := kol + 1;
            setlength(GroupTables, kol);
            setlength(Label1Tables, kol);
            setlength(Label2Tables, kol);
            setlength(ButtonTables, kol);

            //вывод гроупбоксов
            GroupTables[k]:= TGroupBox.create(Self);

            //устанока свойств для объекта гроупбокса
            With GroupTables[k] do
            begin
              left := leftgr;
              top := topgr;
              width := widthgr;
              caption := DateToStr(field);
            end;
            topgr := topgr + 70 + 40;
            GroupTables[k].Parent := self;

            //создание кнопок
            ButtonTables[k] := TButton.Create(Self);
            With ButtonTables[k] do
            begin
              left:= 405;
              top := 70;
              width := 30;
              height := 30;
              OnClick := MyButtonClick;
            end;
            ButtonTables[k].Parent := GroupTables[k];

            k := k + 1;
          end;
        end;
Как мне в событие кнопки передать порядковый номер, по которому происходит щелчок?
Mutagena вне форума Ответить с цитированием
Старый 09.01.2010, 12:11   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

в параметре Sender события будет обьект вызвавший событие.(кнопка там и тд)
также у компонентов можете использовать св-во Tag
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 09.01.2010, 12:14   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Действительно:
Код:
procedure TMain.MyButtonClick(Sender:TObject);
begin
 if sender<>nil then TButton(sender).Tag:=TButton(sender).Tag+1;
 AddDoc.Show;
end;
при кликах поле Tag кликнутой кнопки будет увеличиваться.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.01.2010, 12:48   #4
Mutagena
Пользователь
 
Регистрация: 06.10.2009
Сообщений: 39
По умолчанию

Всё равно не поняла.
А как мне тогда в модуль Unit3 передать номер вызванной кнопки?
Mutagena вне форума Ответить с цитированием
Старый 09.01.2010, 12:54   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
А как мне тогда в модуль Unit3 передать номер вызванной кнопки?
Зачем? Раскажи подробнее что ты там пишешь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Система оповещения о новых событиях Amen PHP 13 24.10.2009 16:08
обработка динамических массивов funky Помощь студентам 0 11.05.2009 17:53
C++. Объявление динамических массивов. Парсифаль Помощь студентам 27 03.05.2009 23:21
теория игр.нужно найти наилуяший результат при наихудших событиях naked Microsoft Office Excel 2 07.05.2008 11:33