Автор Тема: Нужна помощь по C++ Builder  (Прочитано 4127 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн virf

  • Пользователь
  • Сообщений: 241
    • Просмотр профиля
Нужна помощь по C++ Builder
« : 12 Июль 2006, 23:27:05 »
Создал массив компонент примерно так
TButton *p[16];
for(int i=0; i<16; i++) p = new TButton(Form1);
p->Parent = Form1;

Теперь мне нужно сделать, чтобы функция-обработчик события OnClick выполнялась в зависимости от индекса. Если в цикл записать
p->OnClick = NewClick;, то при кликании кнопки, i все время равно 16. Использовать парамер тоже не получается, если объявить функция вот так: void __fastcall NewClick(int ii, TObject *Sender);
то пишет ошибку Too few parameters in call to '_fastcall TForm1::NewClick(int,TObject *)'.

Оффлайн Andrew_Shtein

  • Пользователь
  • Сообщений: 74
  • Пол: Мужской
    • Просмотр профиля
Нужна помощь по C++ Builder
« Ответ #1 : 13 Июль 2006, 19:09:34 »
Что-то я не понял то, что ты хочешь сделать...
Если тебе нужно, чтобы что-то выполнялось при определённом условии, то нужен 'If", например:
if not i=16 then (условие);
if i=3 then (условие);
и т.д.

А если нужно увеличение индекса, то напиши: for i=0 to 16 do

Правда синтаксиса Си я не знаю :) Так что, если задаёшь вопросы, выражайся яснее :)

Оффлайн virf

  • Пользователь
  • Сообщений: 241
    • Просмотр профиля
Нужна помощь по C++ Builder
« Ответ #2 : 14 Июль 2006, 01:46:44 »
Спасибо за попытку помочь, но мне уже на других форумах ответили, видимо я достаточно ясно выражаюсь. Тема маст дай.

Оффлайн Andrew_Shtein

  • Пользователь
  • Сообщений: 74
  • Пол: Мужской
    • Просмотр профиля
Нужна помощь по C++ Builder
« Ответ #3 : 14 Июль 2006, 01:57:34 »
Как ни странно, но прочитав сейчас (с утра) я всё прекрасно понял :)