Копирует элементы из одного массива в другой.
ACOPY(SourceArrayName, DestinationArrayName |
Параметры
- SourceArrayName, DestinationArrayName
- Указывают исходный массив SourceArrayName, элементы которого один за другим копируются в результирующий массив DestinationArrayName. Элементы из исходного массива замещают элементы в результирующем массиве. Массивы могут быть одномерными или двумерными. Если результирующий массив не существует, Visual FoxPro автоматически его создает. В этом случае размер результирующего массива совпадает с размером исходного массива.
Замечание:
Вы можете ссылаться на элемент двумерного массива двумя способами. Первый - указать оба индекса, задающих номера строки и колонки, которые определяют местоположение элемента в массиве. Второй - использовать порядковый номер элемента в массиве. Эта функция, как и другие, работающие с двумерными массивами, требует указать порядковые номера элементов, с которых начинается обработка (в данном случае nFirstSourceElement и nFirstDestElement). Используйте функцию AELEMENT( ), возвращающую порядковый номер элемента в двумерном массиве по номерам строки и колонки.
- nFirstSourceElement
- Указывает номер первого элемента в массиве, начиная с которого будет выполняться копирование (этот элемент также участвует в копировании). Если nFirstSourceElement не указан, копирование начнется с первого элемента в исходном массиве.
- nNumberElements
- Указывает количество элементов, копируемых из исходного массива. Если nNumberElements равно -1, копируются элементы, начиная от nFirstSourceElement и заканчивая последним элементом в исходном массиве.
- nFirstDestElement
- Указывает номер первого элемента в результирующем массиве, который будет замещен первым элементом исходного массива.
Возвращаемое значение
Числовое. ACOPY( ) возвращает количество элементов, скопированных в результирующий массив.
Примечания
Копирование с помощью функции ACOPY( ) элемента массива в существующий массив в случае, когда в результирующем массиве нет элемента с порядковым номером или индексами, как у исходного элемента, может вызвать ошибку "Subscript is outside defined range." ("Индекс выходит за границы отведенного диапазона"). Вы можете избежать этой ошибки, если измените размер результирующего массива до единицы перед вызовом функции ACOPY( ). Дальнейшую информацию об этом смотрите в Команда DIMENSION.
Пример
В следующем примере создается массив путем отбора записей из таблицы customer
. Последующий вызов функции ACOPY( ) используется для создания копии полученного массива.
![]() | |
---|---|
CLOSE DATABASES |
См.также
Функция AELEMENT( )
Функция AINS( )
Функция ASCAN( )
Функция ASORT( )
Функции
Руководство по языку