Этот класс является базовым для классов TmaList, TmaMethod и TmaAlgorithm и оболочкой для интерфейса ImaReadList. Его функции позволяют обращаться ко всему поддереву, корнем которого является этот объект, и считывать и изменять значения в этом поддереве.

###### Свойства и функции класса TmaReadList

- constructor Create(list:ImaReadList)
- constructor Create(cell:CmaCell)
- property Size:integer
- property Items[index:variant]:TmaReadList
- property Names[index:integer]:WideString
- function IndexOf(href:WideString):integer
- function _Type:Cardinal
- property AsBoolean:Boolean
- property AsLong:Integer
- property AsDouble:Double
- property AsString:WideString
- function Default(value:integer):TmaReadList
- function Default(value:double):TmaReadList
- function Default(value:WideString):TmaReadList
- property AsMatrix:TmaMatrix
- property AsSparseMatrix:TMaSparseMatrix
- property AsReadList: TmaReadList
- property AsList:TmaList
- property AsAlgorithm: TmaAlgorithm
- property AsStream:TmaStream
- property AsCell:TmaCell
- property AsComponent:TmaComponent

Пример

- Чтение данных из немодифицируемого списка

    constructor Create(list:ImaReadList)

Присоедимяет класс к уже существующему интерфейсу.

Параметры:

list указатель на существующий интерфейс

    constructor Create(cell:CmaCell)

Присоединяет класс к интерфейсу, хранящемуся в ячейке.

Параметры:

cell ячейка, из которой копируется значение

    property Size:integer

Свойство только для чтения. Возвращает длину списка.

    property Items[index:variant]:TmaReadList

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

Параметры:

index имя (если index имеет строковый тип) или номер (если index — целое число) ячейки

Возвращаемое значение:

Указатель на этот класс. Это позволяет в одном операторе двигаться по дереву и счтиывать/записывать значения в одном операторе, как показано в примере.

    property Names[index:integer]:WideString

Свойство только для чтения. Возвращает имя элемента по его номеру.

Параметры:

index номер ячейки

Возвращаемое значение:

Имя ячейки или пустая строка, если в списке нет ячейки с номером index.

    function IndexOf(name:WideString):integer

Функция возвращает номер элемента с именем name.

Параметры:

name имя ячейки

Возвращаемое значение:

Номер ячейки или -1, если в списке нет ячейки с именем name.

    function _Type:Cardinal

Функция возвращает тип объекта, хранящегося в текущей ячейке.

Возвращаемое значение:

Тип объекта в текущей ячейке или (если текущая ячейка пустая) объекта, с указатель на который хранится в классе-оболочке.

    property AsBoolean:Boolean
    property AsLong:Integer
    property AsDouble:Double
    property AsString:WideString

Свойства считывают или записывают значение в текущую ячейку и делают текущим корневой список, т.е. список, который был задан при создании объекта.

    function Default(value:integer):TmaReadList
    function Default(value:double):TmaReadList
    function Default(value:WideString):TmaReadList

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

Параметры:

value Устанавливаемое значение

    property AsMatrix:TmaMatrix
    property AsSparseMatrix:TMaSparseMatrix
    property AsReadList: TmaReadList
    property AsList:TmaList
    property AsAlgorithm: TmaAlgorithm
    property AsStream:TmaStream

Свойства записывает или считывает объект из текущей ячейки. Текущим становится корневой список, т.е. список, который был задан при создании объекта.

Возвращаемое значение:

Класс-оболочка соответствующего типа. Его указатель на интерфейс может быть равен nil, если в текущей ячейке хранятся данные другого типа.

    property AsCell:TmaCell

Свойство только для чтения. Возвращает текущую ячейку и делает текущим корневой список, т.е. список, который был задан при создании объекта. Если текущая ячейка не установлена, то возвращается nil.

Возвращаемое значение:

Созданный класс-оболочка.

    property AsComponent:TmaComponent

Свойство только для записи. Записывает любой объект maCom в текущую ячейку и сделать текущим корневой список, т.е. список, который был задан при создании объекта.

Пример.

Чтение данных из немодифицируемого списка

    var
      L:TmaReadList;
      m_Sc:TmaMatrix;
      Sc:TmaCell;
      i:integer;
    begin
    ...

      L:=TmaReadList.Create(ainput);
      m_Sc:=L['ParamMatrix'].AsMatrix;
      // Этот оператор равнозначен двум следующим

      Sc:=L['Sc|y'].AsCell;
      m_Sc:=Sc.AsMatrix;

      i:=L['IntParam'].Default(10).AsInteger;
      // Если в списке не было ячейки с именем "IntParam", то i станет равным десяти.

    ...