Функция ADEL()

Удаляет элемент из одномерного массива или удаляет строку или столбец из двумерного массива.

Синтаксис:

ADEL(ArrayName, nElementNumber [, 2])

Параметры
ArrayName
Задает массив, из которого следует удалить элемент, строку или столбец.
nElementNumber
Задает номер элемента, строки или столбца, удаляемого из массива. Для удаления столбца нужно дополнительно задать аргумент 2.
Замечание Элемент двумерного массива можно указывать двумя способами: либо с помощью двух индексов, задающих позиции элемента в массиве по строкам и по столбцам, либо с помощью одиночного номера. Данная функция, как и ряд других функций, манипулирующих двумерными массивами, требуют задания одиночных номеров (в данном случае ѕ nElementNumber). Для получения номера элемента исходя из его строчного и столбцевого индексов используйте функцию AELEMENT( ).
Подробнее о том, как делать ссылки на элементы массива, см. описание команды DIMENSION.
2
Удаляет столбец из массива.

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

Комментарии
Удаление элемента, строки или столбца не отражается на размере массива: последующие элементы, строки или столбцы сдвигаются к началу массива, а последний элемент, строка или столбец принимают значение "ложь" (.F.).
В случае успешного удаления элемента, строки или столбца возвращается значение 1.

Пример:

* В следующем примере происходит создание и заполнение массива,
* затем в нем ищется имя определенной компании; если его удается найти,
* оно удаляется из массива.
CLOSE DATABASES
OPEN DATABASE (HOME( ) + 'samples\data\testdata')
USE customer	  && Open customer table
SELECT company FROM customer ;
	WHERE country = 'UK' ;
	INTO ARRAY gaCompanies
gnCount = _TALLY
gcName = 'Seven Seas Imports'
CLEAR
DISPLAY MEMORY LIKE gaCompanies*
gnPos = ASCAN(gaCompanies, gcName)	&& Search for company
IF gnPos != 0
	*** Company found, remove it from the array ***
	= ADEL(gaCompanies, gnPos)
	gnCount = gnCount - 1
ENDIF
DISPLAY MEMORY LIKE gaCompanies

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