читать из нее любую переменную либо область памяти подходящей длины. В этом полиморфизме методов заключается главное отличие объекта от обычных одномерных массивов Паскаля. Для удобства доступа к структурированным данным в объект включены интерфейсные методы XXXXItem, преобразующие элемент данных к одному из стандартных типов. При обращении к конструктору Init указывается длина элемента, а также минимальное и максимальное значения индексных выражений: для доступа к любому элементу данных необходимо указать его индекс. В отличие от массивов Турбо Паскаля индексные выражения и границы индексов задаются значениями типа Longint, что позволяет хранить в EMS— памяти массивы произвольной длины. Объекты метода осуществляют проверку значений индексных выражений на принадлежность заданному при обращении к Init диапазону. Такая проверка приводит к дополнительным потерям времени и уменьшает и без того невысокую скорость доступа к элементам данных. Если Вы уверены в корректности индексных выражений и хотите несколько увеличить скорость доступа, Вы должны включить в начало модуля директиву компилятора {$DEF NOTCHECK} или указать слово NOTCHECK в поле Options/ Compiler/Conditional defines диалоговой среды. Такая настройка заставит компилятор исключить из программы фрагменты, связанные с проверкой индексных выражений.

Поля

ItemS Items: Longint; Только чтение

Хранит длину элемента данных. Интерфейсные методы XXXXItem проверяют значение этого поля и блокируют доступ к элементу, если значение ItemS не соответствует длине типа данных.

Minind Minind: Longint; Только чтение

В это поле метод Init помещает левую границу индексных выражений.

Maxind Maxind: Longint; Только чтение

В это поле метод Init помещает правую границу индексных выражений.

Методы

Init Constructor Init (ASize, Min, Max: Longint);

Создает объект: вначале по границам индексных выражений Min, Мах и длине элемента ASize определяет требуемую длину EMS— памяти, затем вызывает родительский метод TEMSArea.Init и помещает значения ASize, Min, Мах в поля ItemS, Minind и Maxind.

Load Constructor Load (var F: File);

Перекрывается: Иногда

Создает объект, считывая все его поля и данные из файла F. Вначале обращается к родительскому методу TEMSArea.Load, затем читает из файла заголовок RegHeadTEMSVector (см. п.5.3.2) и поля ItemS. Minind, Maxind. Перед обращением к методу файловую переменную F необ — ходимо связать с уже существующим нетипизированным файлом, а сам файл должен быть открыт для чтения блоками длиной в 1 байт.