Страница: 1 |
Страница: 1 |
Вопрос: Вопрос по динамическим массивам
Добавлено: 05.09.07 13:58
Автор вопроса: Сергей
Привет.
Можно ли пользоваться функцией переопределения размерности массива (ReDim Preserve) с сохранением значений для массива типа: Mas_adr() As String
Т.е. в приведенном ниже коде почему то на строке переопределения размерности выдается сообщение об ошибке, хотя пробовал работать с массивом, описанным как пользовательского типа - проблем нет. Что можно придумать чтоб не использовать два цикла: в первом определяем число нужных элементов из множества, во втором заполняем массив нужными элементами.
Спасибо.
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-сайт:
Профиль | | #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, то можно изменить размер только последней размерности и нельзя изменть количество размерностей.