Свойства и функции класса 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 станет равным десяти. ...