Страница: 1 |
Страница: 1 |
Вопрос: Организация двумерного динамического массива
Добавлено: 28.04.07 11:27
Автор вопроса: Сергей
Здравствуйте!
У меня проблема следующего рода: как создавать динамические массивы я знаю, правда с ограничением по размерности (не больше 1).
Вот и вопрос: как создать двумерный динамический массив, если при следующих строках:
private massive() as integer
...
цикл
n=n+1
redim preserve massive(1 to n, 1 to 3) <-- ошибка!
конец цикла
end
вываливается ошибка типа "Subscript out of range!"
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа:
ZagZag
ICQ: 295002202
Вопросов: 87
Ответов: 1684
Профиль | | #1
Добавлено: 28.04.07 12:11
Если определять массив как динамический, то никаких проблем на возникает
Номер ответа: 2
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #2
Добавлено: 28.04.07 12:15
А помоему, нельзя менять никакую рамерность кроме крайней правой, т.е.
Номер ответа: 3
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #3
Добавлено: 28.04.07 12:15
ZagZag, прочитай еще раз вопрос и пойми в чем ты не прафф
Номер ответа: 4
Автор ответа:
Pashenko
ICQ: 176176951
Вопросов: 14
Ответов: 655
Профиль | | #4
Добавлено: 28.04.07 13:07
http://vbnet.ru/samples/download.aspx?id=691
Номер ответа: 5
Автор ответа:
ZagZag
ICQ: 295002202
Вопросов: 87
Ответов: 1684
Профиль | | #5
Добавлено: 28.04.07 14:25
AgentFire, прочитал, понял.
Не работает
Private massive() As Integer
Private Sub Form_Load()
Dim lngIndex As Long, lngCount As Long
lngCount = 10
For lngIndex = 2 To 10
ReDim Preserve massive(1 To lngIndex, 1 To 3)
Next
End Sub
Работает
Private massive() As Integer
Private Sub Form_Load()
Dim lngIndex As Long, lngCount As Long
lngCount = 10
For lngIndex = 2 To 10
ReDim Preserve massive(1 To 3, 1 To lngIndex)
Next
End Sub
Странно
Номер ответа: 6
Автор ответа:
Страшный Сон
Вопросов: 46
Ответов: 848
Профиль | | #6
Добавлено: 28.04.07 16:35
Ничего странного - после изменения первой размерности растра уже имеющиеся строки будут расколбашены. Так что Preserve тут не прокатит. Если нужно изменить размер изображения, сохраняя при этом картинку - создавай второй массив.