Доступ к отображаемой памяти 145
Getltem Procedure Getltem (var Dest, Ind) ;
Перекрывается: Никогда
Помещает в переменную Dest значение элемента массива, заданного списком индексов Ind типа TIndexList.
Setltem Procedure S'etltem (var Source, Ind);
Перекрывается: Никогда
Помещает значение переменной Source в элемент массива, заданный списком индексов /nd типа TIndexList.
TEMSType__________________________________________
Объект TEMSType содержит средства, позволяющие зарезервировать участок EMS— памяти нужной длины и работать с этой памятью как с файлом последовательного доступа. С этой целью в объекте содержится поле Pos, в котором указывается текущее положение указателя записи/чтения (смещение указателя от начала памяти в байтах). Методы Setltem и Getltem позволяют записать в EMS— память или прочитать из нее массив байтов нужной длины. В объекте нет средств позиционирования указателя и контроля за длиной записываемых/считываемых элементов. Ответственность за правильное использование записанной в EMS— память информации возлагается на программиста.
Поля
Pos Pos: Longint Чтение/Запись
Содержит смещение в байтах указателя чтения/записи от начала EMS— памяти. Методы Setltem и Getltem используют это поле для определения текущего участка EMS— памяти и после чтения или записи информации увеличивают его значение на длину прочитанной (записанной) информации. Программа пользователя может произвольным образом распоряжаться этим полем, чтобы обеспечить доступ к нужному участку памяти. Обычно она должна записать в это поле ноль, чтобы заставить читать/записывать данные с самого начала памяти.
Методы
Init Constructor Init (ASize: Longint);
Создает объект: вызывает родительский метод TEM.SArea.lnit, чтобы зарезервировать в EMS— памяти ASize байт, затем помещает в поле Pos значение 0.
Load Constructor Load (F: File) ;
Перекрывается: Часто
Считывает объект из файла F: вызывает родительский метод TEMSArea.Load, затем читает из файла заголовок RegHeadTEMSType и поле Pos. Перед обращением к методу файловую переменную F необходимо связать с уже существующим нетипизированным файлом, а сам файл должен быть открыт для чтения блоками длиной в 1 байт.
Store Procedure Store (var F: File); Virtual;
Перекрывается: Часто