Preserve
 
Используется с ReDim , чтобы сохранить содержимое массива при изменении его размера

Синтаксис

ReDim Preserve array(...) As datatype

Описание

Используется с ReDim чтобы сохранить содержимое массива при изменении его размера. Это означает то, что когда массив увеличивается, только новые данные обнуляются, а старые данные остается теми же.

Примечание: ReDim Preserve может не работать, как ожидается, в некоторых случаях:
Текущим поведением Preserve является сохранение оригинальных смежных данных в памяти, и только расширение или сокращение размера памяти.
Его поведение четко определено, когда изменяется верхняя граница. Если изменяется нижняя граница, текущим результатом будет как будто данные, по сути, перешли в новую нижнюю границу.
При наличии нескольких размерностей, только верхнюю границу первого измерения можно измененять безопасно. Если изменяется нижняя граница измерения, последствия трудно предсказать.

Пример

ReDim array(1 To 3) As Integer
Dim i As Integer

array(1) = 10
array(2) = 5
array(3) = 8

ReDim Preserve array(1 To 10)

For i = 1 To 10
    Print "array("; i; ") = "; array(i)
Next


Отличия от QB

  • Preserve не было поддержки, до PDS 7.1

См. также