Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
3 / 3 / 0
Регистрация: 03.10.2018
Сообщений: 249

Массив из компонентов

17.07.2019, 08:47. Показов 2313. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, плиз!
На форме 100 чекбоксов, как создать для них массив?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.07.2019, 08:47
Ответы с готовыми решениями:

Массив из компонентов
Необходимо создать массив из textBox Если посмотреть инициализацию, как создает их конструктор: this->textBox1 = (gcnew...

Массив компонентов Image
Простите меня глупую))) если у меня есть 10 Imageй и мне нужно чтобы по нажатии кнопки свойство visible следующего имаджа становилось true,...

Массив динамических компонентов
Здрасте, создал массив динамических компонентов var Pict:array of TImage; CountPict: Integer; ... implementation ... ...

11
 Аватар для TrollHammer
1216 / 709 / 336
Регистрация: 22.02.2018
Сообщений: 2,095
Записей в блоге: 2
17.07.2019, 08:50
Цитата Сообщение от Belju Посмотреть сообщение
как создать для них массив?
Зачем? чтобы обращаться по индексам? Если так, то есть замечательная вещь - CheckListBox
0
3 / 3 / 0
Регистрация: 03.10.2018
Сообщений: 249
17.07.2019, 09:00  [ТС]
Скорее подходит ListBox, позволяющий множественный выбор, но мне нужно именно чекбокс
0
UeArtemis
18 / 18 / 3
Регистрация: 23.09.2011
Сообщений: 205
17.07.2019, 10:41
Например
C++
1
2
3
4
5
TList *MyList = new TList();
for(int i=1; i<=100; i++)
{
    MyList->Add(FindComponent("CheckBox"+IntToStr(i)));
}
0
3 / 3 / 0
Регистрация: 03.10.2018
Сообщений: 249
17.07.2019, 10:47  [ТС]
Цитата Сообщение от TheDarkMax2 Посмотреть сообщение
Например
C++Выделить код
1
2
3
4
5
TList *MyList = new TList();
for(int i=1; i<=100; i++)
{
* * MyList->Add(this->FindComponent("CheckBox"+IntToStr(i)) );
}
попробую, а почему такое не работает?
C++ (Qt)
1
2
3
4
5
 TCheckBox * ChBoxArray[3];
 ChBoxArray[0] = CheckBox1;
 ChBoxArray[1] = CheckBox2;
 ChBoxArray[2] = CheckBox3;
 ChBoxArray[1]->Checked = true;
0
UeArtemis
18 / 18 / 3
Регистрация: 23.09.2011
Сообщений: 205
17.07.2019, 11:01
Должно работать. Может, пробел возле звёздочки мешает.
Но Вы реально хотите сто чекбоксов вручную перечислить?
C++
1
2
3
4
5
TCheckBox* ChBoxArray[100];
for(int i=0; i<100; i++)
{
    ChBoxArray[i] = FindComponent("CheckBox"+IntToStr(i+1));
}
0
3 / 3 / 0
Регистрация: 03.10.2018
Сообщений: 249
17.07.2019, 11:08  [ТС]
Цитата Сообщение от TheDarkMax2 Посмотреть сообщение
Должно работать. Может, пробел возле звёздочки мешает.
Но Вы реально хотите сто чекбоксов вручную перечислить?
Тоже думал что звездочка чуть не там. но не в ней дело...
а чекбоксов не 100, а всего лишь 70)))
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33393 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 12
17.07.2019, 11:36
Цитата Сообщение от Belju Посмотреть сообщение
а почему такое не работает?
В чем выражается это "Не работает"?
0
3 / 3 / 0
Регистрация: 03.10.2018
Сообщений: 249
17.07.2019, 11:42  [ТС]
Цитата Сообщение от volvo Посмотреть сообщение
В чем выражается это "Не работает"?
ошибка компиляции... сейчас не могу скопировать какая именно
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33393 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 12
17.07.2019, 12:23
Значит, будем ждать, какая именно. Или недоступны компоненты, поскольку это все делается вне класса формы, или еще что. Телепаты сегодня не отвечают.
0
3 / 3 / 0
Регистрация: 03.10.2018
Сообщений: 249
17.07.2019, 23:23  [ТС]
Цитата Сообщение от volvo Посмотреть сообщение
Значит, будем ждать, какая именно. Или недоступны компоненты, поскольку это все делается вне класса формы, или еще что. Телепаты сегодня не отвечают.
вот такие две ошибки, на каждую строку ChBoxArray[0] = CheckBox1;

[bcc64 Error] Nastroy.cpp(15): C++ requires a type specifier for all declarations
[bcc64 Error] Nastroy.cpp(15): use of undeclared identifier 'CheckBox1'
0
Модератор
 Аватар для D1973
9921 / 6457 / 2457
Регистрация: 21.01.2014
Сообщений: 27,399
Записей в блоге: 3
18.07.2019, 05:10
Очень похоже на то, что Вы пробуете обратиться к компоненту CheckBox1 из сторонней функции, не являющейся методом класса формы. Эта функция, естественно, понятия не имеет о том, что там на форме имеется...
Еще может быть, что компонент был переименован, а Вы пробуете обращаться к нему по дефолтному имени...
Еще может... Да много чего может и, не видя кода и не зная поставленной задачи - фантазировать можно долго...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.07.2019, 05:10
Помогаю со студенческими работами здесь

Покрасить массив компонентов
так допустим у меня есть array of TEdit я могу каким то образом разом присвоить всем эдитам определённый цвет? могу я сделать это целиком с...

Массив компонентов label
Подскажите как оптимизировать код программы в Делфи Не получается с массивом компонентов label . for i:=1 to 6 do mas:= StrToInr...

Как создать массив компонентов?
Подскажите, плз, как создать массив компонентов (например TSpeedButton) чтобы можно было обращаться к ним по индексам типа SpeedB.Width :=...

Динамический двумерный массив компонентов
Мне надо динамически создать такой же, только двумерный TEdit *edit; for (int i=0;i&lt;5;i++) { edit = new...

Как создать массив компонентов?
Есть 3 picturebox, нужно создать массив из них) Кто нибудь знает, как это решается?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru