Функция AELEMENT()

Вычисляет номер элемента массива исходя из индексов этого элемента.

Синтаксис:

AELEMENT(ArrayName, nRowSubscript [, nColumnSubscript])

Параметры:
ArrayName
Задает имя массива, номер элемента которого нужно возвратить.
nRowSubscript
Задает строчный индекс. Если массив одномерный, функция AELEMENT() просто возвращает nRowSubscript.
Если задан индекс nRowSubscript, который превышает число строк в массиве, 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( ) нет необходимости.


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