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

AELEMENT(ArrayName, nRowSubscript [, nColumnSubscript])

Параметры

ArrayName

Задает имя массива, номер элемента которого нужно возвратить.

nRowSubscript

Задает строчный индекс. Если массив одномерный, функция AELEMENT( ) просто возвращает nRowSubscript.

Если задан индекс nRowSubscript t, который превышает число строк в массиве, Visual FoxPro выдаст сообщение об ошибке.

nColumnSubscript

Задает столбцевой индекс. Если массив двумерный, нужно задать и nRowSubscript и nColumnSubscript.

Expand imageВозвращаемое значение

Числовое

Expand imageПримечания

Элемент двумерного массива можно указывать двумя способами: либо с помощью двух индексов, задающих позиции элемента в массиве по строкам и по столбцам, либо с помощью одиночного номера. Функция AELEMENT( ) возвращает номер элемента исходя из его строчного и столбцевого индексов.

Такие функции Visual FoxPro, как ADEL( ), ADIR( ), AFIELDS( ), AINS( ), ALEN( ), ASCAN( ), ASORT( ) и ASUBSCRIPT( ), могут манипулировать двумерными массивами; элементы для них необходимо указывать по номерам. Функция AELEMENT( ) выполняет преобразование значений индексов в номер элемента, который могут использовать указанные функции. Для получения строчного и столбцевого индексов по номеру элемента следует воспользоваться функцией ASUBSCRIPT( ).

Следующий пример иллюстрирует, как создать массив из двух строк и трех столбцов. Команда DISPLAY MEMORY показывает содержимое элементов массива в порядке их номеров.

  CopyCode imageCopy Code
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( ) нет необходимости.

Expand imageСмотрите также