Страница: 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 Автор ответа: ![]() ![]() ![]() ICQ: 295002202 Вопросов: 87 Ответов: 1684 |
Профиль | Цитата | #1 | Добавлено: 28.04.07 12:11 |
Если определять массив как динамический, то никаких проблем на возникает
Dim massive() As Byte
|
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 192496851 Вопросов: 75 Ответов: 3178 |
Профиль | Цитата | #2 | Добавлено: 28.04.07 12:15 |
А помоему, нельзя менять никакую рамерность кроме крайней правой, т.е.
redim preserve massive(1 to 3, 1 to n) работать будет
|
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 192496851 Вопросов: 75 Ответов: 3178 |
Профиль | Цитата | #3 | Добавлено: 28.04.07 12:15 |
ZagZag, прочитай еще раз вопрос и пойми в чем ты не прафф ![]() |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 176176951 Вопросов: 14 Ответов: 655 |
Профиль | Цитата | #4 | Добавлено: 28.04.07 13:07 |
http://vbnet.ru/samples/download.aspx?id=691 |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ICQ: 295002202 Вопросов: 87 Ответов: 1684 |
Профиль | Цитата | #5 | Добавлено: 28.04.07 14:25 |
AgentFire, прочитал, понял.
Не работает Option Explicit
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 Работает Option Explicit
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 тут не прокатит. Если нужно изменить размер изображения, сохраняя при этом картинку - создавай второй массив. |
Страница: 1 |
|