Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Вопрос по динамическим массивам Добавлено: 05.09.07 13:58  

Автор вопроса:  Сергей
Привет.
Можно ли пользоваться функцией переопределения размерности массива (ReDim Preserve) с сохранением значений для массива типа: Mas_adr() As String
Т.е. в приведенном ниже коде почему то на строке переопределения размерности выдается сообщение об ошибке, хотя пробовал работать с массивом, описанным как пользовательского типа - проблем нет. Что можно придумать чтоб не использовать два цикла: в первом определяем число нужных элементов из множества, во втором заполняем массив нужными элементами.
Спасибо.
Option Explicit
Private Sub CommandButton1_Click()
Dim Mas_adr() As String

ReDim Mas_adr(1, 2) As String
Mas_adr(0, 0) = "aaa"
Mas_adr(0, 1) = "bbb"
Mas_adr(0, 2) = "ccc"

Mas_adr(1, 0) = "ddd"
Mas_adr(1, 1) = "eee"
Mas_adr(1, 2) = "fff"

ReDim Preserve Mas_adr(2, 2) As String
Mas_adr(2, 0) = "ggg"
Mas_adr(2, 1) = "hhh"
Mas_adr(2, 2) = "iii"

Erase Mas_adr
End Sub

Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 intel-DX



ICQ: 445091742 

Вопросов: 4
Ответов: 169
 Профиль | | #1 Добавлено: 05.09.07 15:53
У меня такая же проблема
redim preserve g(5) работает, а
redim preserve g(5,2)
уже нет

Ответить

Номер ответа: 2
Автор ответа:
 GenyaA



Вопросов: 0
Ответов: 185
 Web-сайт: www.genyaa.nm.ru
 Профиль | | #2
Добавлено: 05.09.07 16:43
Из Справки:

"If you use the Preserve keyword, you can resize only the last array dimension and you can't change the number of dimensions at all."

Написано, что если используется Preserve, то можно изменить размер только последней размерности и нельзя изменть количество размерностей.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам