Вычисляет номер элемента массива исходя из индексов этого элемента.
AELEMENT(ArrayName, nRowSubscript [, nColumnSubscript]) |
Параметры
- ArrayName
-
Задает имя массива, номер элемента которого нужно возвратить.
- nRowSubscript
-
Задает строчный индекс. Если массив одномерный, функция AELEMENT( ) просто возвращает nRowSubscript.
Если задан индекс nRowSubscript t, который превышает число строк в массиве, Visual FoxPro выдаст сообщение об ошибке.
- nColumnSubscript
-
Задает столбцевой индекс. Если массив двумерный, нужно задать и nRowSubscript и nColumnSubscript.
Возвращаемое значение
Числовое
Примечания
Элемент двумерного массива можно указывать двумя способами: либо с помощью двух индексов, задающих позиции элемента в массиве по строкам и по столбцам, либо с помощью одиночного номера. Функция AELEMENT( ) возвращает номер элемента исходя из его строчного и столбцевого индексов.
Такие функции Visual FoxPro, как ADEL( ), ADIR( ), AFIELDS( ), AINS( ), ALEN( ), ASCAN( ), ASORT( ) и ASUBSCRIPT( ), могут манипулировать двумерными массивами; элементы для них необходимо указывать по номерам. Функция AELEMENT( ) выполняет преобразование значений индексов в номер элемента, который могут использовать указанные функции. Для получения строчного и столбцевого индексов по номеру элемента следует воспользоваться функцией ASUBSCRIPT( ).
Следующий пример иллюстрирует, как создать массив из двух строк и трех столбцов. Команда DISPLAY MEMORY показывает содержимое элементов массива в порядке их номеров.
![]() | |
---|---|
DIMENSION gaMyArray(2,3) DISPLAY MEMORY LIKE gaMyArray gaMyArray Pub A ( 1, 1) L .F. (element number 1) ( 1, 2) L .F. (element number 2) ( 1, 3) L .F. (element number 3) ( 2, 1) L .F. (element number 4) ( 2, 2) L .F. (element number 5) ( 2, 3) L .F. (element number 6) |
Элемент можно указать с помощью его индексов или номера. Команды STORE 'INVOICE' TO gaMyArray(2, 1)
и STORE 'INVOICE' TO gaMyArray(4)
сохраняют символьную строку INVOICE в одном и том же элементе массива.
В одномерных массивах номер элемента идентичен строчному индексу. Для таких массивов использовать функцию AELEMENT( ) нет необходимости.