Функция ACOPY()

Копирует элементы из одного массива в другой.

Синтаксис

ACOPY(SourceArrayName, DestinationArrayName 
	[, nFirstSourceElement [, nNumberElements [, nFirstDestElement ]]])

Параметры
SourceArrayName, DestinationArrayName
Задает исходный массив SourceArrayName, элементы которого копируются один к одному в массив назначения DestinationArrayName. Элементы массива назначения замещаются элементами исходного массива.
Массивы могут быть одномерными или двумерными. Если массив назначения не существует, Visual FoxPro автоматически создает его. В этом случае размер массива назначения будет совпадать с размером исходного массива.
Замечание Элемент двумерного массива можно указывать двумя способами: либо с помощью двух индексов, задающих позиции элемента в массиве по строкам и по столбцам, либо с помощью одиночного номера. Данная функция, как и ряд других функций, манипулирующих двумерными массивами, требуют задания одиночных номеров (в данном случае nFirstSourceElement и nFirstDestElement). Для получения номера элемента исходя из его строчного и столбцевого индексов используйте функцию AELEMENT( ).
nFirstSourceElement
Задает номер первого элемента в исходном массиве, начиная с которого начнется копирование. Если номер nFirstSourceElement не задан, копирование начинается с самого первого элемента исходного массива.
nNumberElements
Задает число элементов, копируемых из исходного массива. Если в качестве nNumberElements задано значение -1, копируются все элементы исходного массива, начиная с элемента nFirstSourceElement.
nFirstDestElement
Задает первый элемент массива назначения, подлежащий замещению.

Результат
Числовой

Комментарии
Функция ACOPY( ) возвращает число элементов, скопированных в массив назначения.

Пример

* В следующем примере создается массив из строк, выбираемых из
* таблицы customer, а затем с помощью функции ACOPY( ) создается новый
* массив.
CLOSE DATABASES
OPEN DATABASE (HOME( ) + 'samples\data\testdata')
USE customer	  && Open customer table

SELECT DISTINCT company ;
	FROM customer ;
	ORDER BY company ;
	WHERE country = 'Germany';
	INTO ARRAY gaCompanies
= ACOPY(gaCompanies, gaCompaniesTemp)  && Make a copy of the array
CLEAR 
DISPLAY MEMORY LIKE gaCompaniesTemp

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 11.11.2002