Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ida.final.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
6 Mб
Скачать

Success DelArrayElement(long tag,long id,long idx);

Функция удаляет указанный тип элемента разряженного массива. Тип задается тегом tag, который может принимать следующие значения, перечисленные ниже в таблце:

Определение

Значение

AR_LONG

'A'

Элемент типа «длинное целое»

AR_STR

'S'

Элемент типа «строка»

Пример использования:

DelArrayElement(AR_LONG,

GetArrayId(“MyArray”),

0x100);

Операнд

Пояснения

tag

==tag

Значение

AR_STR

Элемент типа «строка»

AR_LONG

Элемент типа «длинное целое»

id

Идентификатор массива

idx

Индекс массива

Return

==return

Пояснения

==1

Успешное завершение

==0

Ошибка

Long GetFirstIndex(long tag,long id);

Функция возвращает индекс первого элемента разряженного массива. В отличие от «обычных» массивов, известных нам по языками С и Pascal, разряженные массивы могут начинаться с любого индекса, а не обязательно с нулевого.

«Первым» индексом разряженного массива будет индекс инициализированного элемента с наименьшим числовым значением.

Например:

auto a;

DeleteArray(GetArrayId("MyArray"));

a=CreateArray("MyArray");

SetArrayLong(a,0x100,0x666);

SetArrayLong(a,0x77,0x67);

SetArrayLong(a,0x210,0x777);

Message("0x%X \n",

GetFirstIndex(AR_LONG,a)

);

DeleteArray(a);

0x77

Операнд

Пояснения

tag

==tag

Значение

AR_STR

Элемент типа «строка»

AR_LONG

Элемент типа «длинное целое»

id

Идентификатор массива

Return

==return

Пояснения

!=BADADDR

Индекс первого элемента разряженного массива

==BADADDR

Ошибка

Long GetLastIndex(long tag,long id);

Функция возвращает индекс последнего элемента разряженного массива. Обратите внимание, что число элементов разряженного массива обычно много меньше, чем индекс последнего из них.

Так, например, массив может состоять всего из трех элементов с индексами, скажем, (0x5, 0x777, 0x666777) – тогда функция GetLastIndex возвратит 0x666777, тогда как размер массива равен всего лишь трем.

К сожалению не предоставлено никаких функций, позволяющих узнать размер массива. Все что можно сделать это пройтись по цепочке элементов функциями GetNextIndex (GetPrevIndex).

Поэтому, вызов GetLastIndex используется очень редко, так как в нем особой нужды обычно и не бывает.

Пример использования:

auto a;

DeleteArray(GetArrayId("MyArray"));

a=CreateArray("MyArray");

SetArrayLong(a,0x100,0x666);

SetArrayLong(a,0x77,0x67);

SetArrayLong(a,0x210,0x777);

Message("0x%X \n",

GetLastIndex(AR_LONG,a)

);

DeleteArray(a);

0x210

Операнд

Пояснения

tag

==tag

Значение

AR_STR

Элемент типа «строка»

AR_LONG

Элемент типа «длинное целое»

id

Идентификатор массива

Return

==return

Пояснения

!=BADADDR

Индекс последнего элемента разряженного массива

==BADADDR

Ошибка

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]