Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
 Аватар для Kill100
434 / 299 / 82
Регистрация: 11.12.2010
Сообщений: 1,209

Как создать двумерный массив TButton?

09.05.2011, 12:44. Показов 2603. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как создать двумерный массив из TButton .
такой код у меня не прошёл...
Написал ошибку в последней строчке..
C++
1
2
3
4
5
6
7
8
int n=5,m=5;
TButton **ButtonsS;
 
void creats(){
ButtonsS = new TButton *[n];
     for (int i=0; i<n;i++){
      ButtonsS[i] = new TButton[m];};
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.05.2011, 12:44
Ответы с готовыми решениями:

Как создать двумерный массив String?
Пробовал так: String *buff = new String; где &quot;pb_2&quot; = int; пишет:

Если можно создать массив TButton, то как создать массив их событий?
Пишу программу в которой много однообразных Едитов и кнопок. Чтобы &quot;облегчить сбе жизнь&quot; создал MyEdit: array of TEdit. Аналогично...

Как создать двумерный массив?
Доброго вечера. Вопрос такого рода, как создать двумерный массив 15х15.

10
 Аватар для Зоти Сергей
230 / 227 / 65
Регистрация: 18.12.2009
Сообщений: 316
09.05.2011, 12:54
C++
1
2
3
4
5
6
7
8
9
10
int n=5,m=5;
TButton **ButtonsS;
void creats()
{
        ButtonsS = new TButton *[n];
        for (int i=0; i<n;i++)
        {
                ButtonsS[i] = new TButton(Form1);
        };
}
Только это не двумерный массив TButton а массив указателей.
Кстати, чтобы потом все это дело показать, нужно будет еще родителя определить.. например:
C++
1
2
3
4
5
6
7
8
9
10
void __fastcall TForm1::Button1Click(TObject *Sender)
{
        creats();
        for(int i=0;i<n;i++)
        {
                ButtonsS[i]->Left=random(100);
                ButtonsS[i]->Parent=Form1;
                ButtonsS[i]->Visible=true;
        }
}
1
Прогер
 Аватар для Programmer.
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
09.05.2011, 13:17
Kill100,
А за чем вам двумерный массив из TButton - а? и какую ошибку выдаёт?

Добавлено через 4 минуты
Зоти Сергей, По моему в ButtonsS нельзя [i] вставыть
0
 Аватар для Kill100
434 / 299 / 82
Регистрация: 11.12.2010
Сообщений: 1,209
09.05.2011, 13:22  [ТС]
Только это не двумерный массив TButton а массив указателей.
Кстати, чтобы потом все это дело показать, нужно будет еще родителя определить.. например:
C++
1
2
3
4
5
6
7
8
9
10
int n=5,m=5;
TButton **ButtonsS;
void creats()
{
        ButtonsS = new TButton *[n];
        for (int i=0; i<n;i++)
        {
                ButtonsS[i] = new TButton(Form1);
        };
}
[/QUOTE]
А как к нему обращаться??
как обычно ButtonsS[i][j]??



Цитата Сообщение от Programmer. Посмотреть сообщение
Kill100,
А за чем вам двумерный массив из TButton - а? и какую ошибку выдаёт?

Добавлено через 4 минуты
Зоти Сергей, По моему в ButtonsS нельзя [i] вставыть
Да вот пока просто изучаю работу с элементами. Пытаюсь строить поле из кнопок. (Ну в смысле игровое)
Потом сложнее буду что то делать
0
Прогер
 Аватар для Programmer.
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
09.05.2011, 13:33
Kill100,
А каую именно ощибку выдаёт?
0
Тутошний я
 Аватар для Grey
2147 / 1202 / 225
Регистрация: 03.11.2009
Сообщений: 4,424
Записей в блоге: 2
09.05.2011, 13:35
Цитата Сообщение от Kill100 Посмотреть сообщение
Пытаюсь строить поле из кнопок. (Ну в смысле игровое)
Для чего именно кнопки?
0
 Аватар для Kill100
434 / 299 / 82
Регистрация: 11.12.2010
Сообщений: 1,209
09.05.2011, 13:40  [ТС]
Цитата Сообщение от Grey Посмотреть сообщение
Для чего именно кнопки?
Судоку...
Цитата Сообщение от Programmer. Посмотреть сообщение
Kill100,
А каую именно ощибку выдаёт?
[BCC32 Error] Unit3.cpp(18): E2248 Cannot find default constructor to initialize array element of type 'TButton'
0
 Аватар для Зоти Сергей
230 / 227 / 65
Регистрация: 18.12.2009
Сообщений: 316
09.05.2011, 13:52
Programmer., Почему нельзя? - можно. Чего здесь противозаконного?
Kill100,
А как к нему обращаться??
Я ж написал в ответе:
C++
1
2
3
4
5
for(int i=0;i<n;i++)
        {
                ButtonsS[i]->Left...
                ButtonsS[i]->Caption...
        }
0
Тутошний я
 Аватар для Grey
2147 / 1202 / 225
Регистрация: 03.11.2009
Сообщений: 4,424
Записей в блоге: 2
09.05.2011, 14:00
Цитата Сообщение от Kill100 Посмотреть сообщение
Судоку...
IMHO не верная реализация.
У Image есть свойство Click.
Японский кроссворд
Написание в билдере игры ЧИСЛО
В ссылках просто цвет меняется. Но можно и картинки вставлять.
C++
1
Image1->Canvas->Draw(x,y,bitmap);
0
 Аватар для Kill100
434 / 299 / 82
Регистрация: 11.12.2010
Сообщений: 1,209
09.05.2011, 14:10  [ТС]
Цитата Сообщение от Зоти Сергей Посмотреть сообщение
Programmer., Почему нельзя? - можно. Чего здесь противозаконного?
Kill100,
Я ж написал в ответе:
C++
1
2
3
4
5
for(int i=0;i<n;i++)
        {
                ButtonsS[i]->Left...
                ButtonsS[i]->Caption...
        }
ну так получается одномерный...
А не квадратный..
Например я попробовал обратится
ButtonsS[1][1]->....
так он написал что такого нету..

Добавлено через 1 минуту
Цитата Сообщение от Grey Посмотреть сообщение
IMHO не верная реализация.
У Image есть свойство Click.
Японский кроссворд
Написание в билдере игры ЧИСЛО
В ссылках просто цвет меняется. Но можно и картинки вставлять.
C++
1
Image1->Canvas->Draw(x,y,bitmap);
Да я с Image1 еще не подружился в обще...
Мне и на C# оч сложно это далось ... с графой работать не умею
0
 Аватар для Зоти Сергей
230 / 227 / 65
Регистрация: 18.12.2009
Сообщений: 316
09.05.2011, 14:43
Ну ёлы палы.. ну создайте промежуточный класс, например:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
int n=100,m=5;
class CButtons
{
        public:
        TButton *Button;
        CButtons()
        {
                Button = new TButton(Form1);
        }
        ~CButtons()
        {
                delete Button;
        }
};
 
CButtons **ButtonsS;
void creats()
{
        ButtonsS = new CButtons*[n];
 
        for (int i=0; i<n;i++)
        {
                ButtonsS[i] = new CButtons[m];
        };
}
void deletes()
{
        for(int i=0;i<n;i++)
                delete []ButtonsS[i];
        delete []ButtonsS;
 
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
        creats();
        for(int i=0;i<n;i++)
        {
                for(int j=0;j<m;j++)
                {
                        ButtonsS[i][j].Button->Left=random(100);
                        ButtonsS[i][j].Button->Top=random(100);
                        ButtonsS[i][j].Button->Parent=Form1;
                        ButtonsS[i][j].Button->Visible=true;
                }
        }
        ShowMessage("Shja udalim vse nahren");
        deletes();
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.05.2011, 14:43
Помогаю со студенческими работами здесь

Как создать двумерный массив?
Помогите пожалуйста!!!! Как создать двумерный массив на VB.net??? Что нужно тут использовать???

Как создать двумерный массив c++ вектор?
как создать двумерный массив c++ из векторов??? И можно пример реализации Добавлено через 20 секунд #include &lt;vector&gt;

Как правильно создать двумерный массив
Здравствуйте я новичек помогите понять вот создаю двухмерный массивDim (10,25) теперь такой вопрос а как его в память компьютера объявить ...

Как создать динамический двумерный массив
Можно ли создать на С++ динамический двухмерный масив? Как? int z , x ; cin &gt;&gt; z ; cin &gt;&gt; x ; int *arr = new int(z); int...

Как создать двумерный динамический массив
Помогите, пожалуйста, в таком вопросе: нужно создать динамический двумерный массив. Да он еще должен быть такой, чтоб длина строк была...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru