Анимация
JavaScript
|
Главная Библионтека long GetEnumSize(long enum id); Функция возвращает число членов перечисления, заданного идентификатором. Обратите внимание, именно число элементов, а не занимаемый ими размер, который вообще вычислить невозможно, поскольку члены перечисления не имеют типа. Пример: FFFFFFFF ; enum enum 1 FFFFFFFF enum 1 0 FFFFFFFF enum 1 2 FFFFFFFF = 1 = 2 Message("0x%X \n", GetEnumSize( GetEnum("enum 1") Если перечисление пусто, то функция возвращает ноль, но то же значение возвращается, если указать неверный идентификатор, поэтому возникает неоднозначная ситуация - либо перечисление отсутствует (было удалено?) либо же попросту пусто. Пример: FFFFFFFF ; enum enum 2 Message("0x%X \n", GetEnumSize( GetEnum("enum 2") Message("0x%X \n", GetEnumSize(BADADDR)
long GetEnumFlag(long enum id); Функция возвращает флаги, определяющие представление членов перечисления, заданного идентификатором. Возможные значения перечислены ниже в таблице:
long GetConstByName(char name); Функция возвращает идентификатор константы по ее имени. Все перечисления разделяют общее пространство имен, другими словами одно и то же имя не может быть повторено дважды, поэтому является уникальным. Например: FFFFFFFF enum 1 0 FFFFFFFF enum 1 2 FFFFFFFF FFFFFFFF ; FFFFFFFF FFFFFFFF ; enum enum 2 FFFFFFFF MyEnum = 1 = 2 Message("0x%X \n", GetConstByName("MyEnum") 0xFF000136 Идентификатор обеспечивает доступ к константе. Что бы, например, получить ее значение необходимо воспользоваться функцией long GetConstValue(long const id), которая описана ниже.
long GetConstValue(long const id); Функция возвращает значение константы по ее идентификатору или ноль в результате ошибки. Поэтому часто возникает неопределенность, - то ли действительно имела место ошибка (например, был указан несуществующий идентификатор) или же просто константа имеет такое значение. Пример использования: FFFFFFFF enum 1 0 = 1 FFFFFFFF enum 1 2 = 2 FFFFFFFF FFFFFFFF ; FFFFFFFF FFFFFFFF ; enum enum 2 FFFFFFFF MyEnum = 16h Message("0x%X \n", GetConstValue( GetConstByName("MyEnum") 0x16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 [ 95 ] 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 |