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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2010, 20:51   #1
baster128
Форумчанин
 
Аватар для baster128
 
Регистрация: 24.04.2010
Сообщений: 205
Вопрос Двухмерный динамический массив

Помогите! Сделал в Делфи двухмерный динамический массив Радиобутонов
Код:


begin
for i:=0 to Col-1 do
for f:=0 to Row-1 do
begin
SetLength(Mas,i+1,f+1);
Mas[i,f]:=TRadioButton.Create(gbInp);
with Mas[i,f]do begin
Parent:=gbInp;
caption:=IntToStr(i)+'rrrrr'+IntToS tr(f);
top:=(i+1)*50;left:=(f+1)*100
end
end end;

При обращении к второй колонке элементов (mas[0,1]) - ошибка Access violation. Подскажите, в чем проблема, плиз.
baster128 вне форума Ответить с цитированием
Старый 24.04.2010, 22:02   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Не было бы ошибки, если не было бы путаницы со строчками и столбцами. Вернее ошибку было бы видно - переменная i в коде отвечает за столбцы, а на самом деле за строки. Для соответствия кода и визуализации надо заменить их координаты следующим образом
Код:
top:=(f+1)*50;left:=(i+1)*100
Ошибка в
Код:
SetLength(Mas,i+1,f+1);
Нельзя так с двумерными массивами. Вот что будет в начале второй итерации по i: SetLength(Mas, 2, 1), т.е. только два столбца и одна строчка, а остальные строчки пропадут.
Вобщем вторая поправка в коде - это удаление строки
Код:
SetLength(Mas,i+1,f+1);
и вставка перед циклами кода
Код:
SetLength(Mas,Col,Row);
eoln вне форума Ответить с цитированием
Старый 25.04.2010, 09:11   #3
baster128
Форумчанин
 
Аватар для baster128
 
Регистрация: 24.04.2010
Сообщений: 205
По умолчанию

Огромное СПАСИБО! Заработало.
baster128 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двухмерный динамический массив в C lpofigistl Общие вопросы C/C++ 3 07.12.2009 11:30
Borland C: динамический двухмерный массив в -zeus- Общие вопросы C/C++ 5 11.03.2009 19:20
Динамический двухмерный массив С++ EfiopianDIMON Общие вопросы C/C++ 7 19.11.2008 23:38
Двухмерный массив Atheist Общие вопросы C/C++ 4 22.11.2007 14:05