Свойства и функции класса TmaMatrix
- constructor Create(_Type:maType;Tizes:array of integer)
- constructor Create(_Type: maType; Sizes: array of integer;Name: WideString...)
- constructor Create(matrix:ImaMatrix)
- constructor Create(cell:TmaCell)
- procedure Resize(sizes:array of integer)
- procedure Clear
- property _Type:Cardinal
- property Dim:integer
- property Size[dim:integer]:integer
- property Items[index:integer]:TmaMatrix ; default
- property AsDouble: Double
- property AsLong: Integer
- property AsString: WideString
- property AsBoolean: Boolean
- property Cell:TmaCell
- procedure SetEmpty
- function IsEmpty:boolean
- property EmptyDoubleValue:double
- property EmptyLongValue:integer
- property EmptyStringValue:WideString
- procedure CacheMatrix(cacheMode:byte; source: TmaMatrix)
- procedure Commit
- Создание и заполнение двумерной числовой матрицы
Чтение и изменение размеров и типа матрицы
Чтение и запись
Работа с пустыми значениями
Буферизация
Пример
constructor Create(_Type:maType;Sizes:array of integer)Создание новой матрицы с заданным типом элементов и размерами, заданными массивом sizes.
Параметры:
_Type тип создаваемой матрицы. Должен содержать комбинацию одного из флагов (MA_DOUBLE, MA_STRING, MA_LONG, MA_BOOLEAN и MA_BYTE) для указания типа данных с флагами MA_SPARSE и MA_EVAL. О значении флагов смотри в описании интерфейса ImaMatrixFactorySizes размеры создаваемой матрицы. Если массив sizes пустой (Sizes = []), то создается пустая матрица, что удобно,например, при чтении матрицы из потока.
constructor Create(_Type: maType; Sizes: array of integer; Name: WideString; maxSize: integer = 0)Функция позволяет создавать и использовать матрицы, размещенные в разделяемой памяти.
- Если maxSize≠0, то создается разделяемая область памяти размером maxSize с именем name и данные матрицы размещаются в ней. Созданная матрица имеет размеры sizes и доступна для чтения и записи.
- Если maxSize=0, то создается матрица с данными, уже хранящимися в разделяемой памяти с именем name. Параметр sizes в этом случае не используется, размер матрицы берется из разделяемой памяти. Созданная матрица доступна только для чтения.
Параметры:
_type тип создаваемой матрицы. Должен содержать комбинацию одного из флагов (MA_DOUBLE, MA_STRING, MA_LONG, MA_BOOLEAN и MA_BYTE) для указания типа данных с флагами MA_SPARSE и MA_EVAL. О значении флагов смотри в описании интерфейса ImaMatrixFactorySizes размеры создаваемой матрицы
Name имя блока разделяемой памяти, в котором находится матрица
maxSize размер блока памяти под матрицу
constructor Create(matrix:ImaMatrix)Присоедимяет класс к уже существующему интерфейсу.
Параметры:
matrix указатель на существующий интерфейсconstructor Create(cell:TmaCell)Присоедняет класс к интерфейсу матрицы, хранящейся в ячейке cell.
Параметры:
cell ячейка, из которой копируется значениеprocedure Resize(sizes:array of integer)Изменяет размер матрицы на новый, заданный массивом sizes. Все содержимое матрицы при этом теряется.
Параметры:
Sizes новые размеры матрицыprocedure ClearФункция очищает матрицу, заполняя ее пустыми значениями или значениями по умолчанию. Размеры матрицы не меняются.
property _Type:CardinalСвойство только для чтения. Возвращает тип значений, хранящихся в матрице.
property Dim:integerСвойство только для чтения. Возвращает размерность матрицы.
Возвращаемое значение:
Размерность матрицы или 0, если указатель на интерфейс, хранящийся в матрице, равен nil.property Size[dim:integer]:integerСвойство только для чтения. Возвращает размер матрицы по заданной координате.
Параметры:
dim координата, по которой возвращается размерностьВозвращаемое значение:
Размер матрицы по координате dim или 0, если dim больше размерности матрицы.property Items[index:integer]:TmaMatrix ; defaultСвойство только для чтения. Добавляет значение index к текущему индексу и возвращает Self. Это позволяет формировать индекс оператором вида "Matrix[2][10].AsDouble=...".
Параметры:
index очередная координата индексаproperty AsDouble: Double property AsLong: Integer property AsString: WideString property AsBoolean: BooleanИспользуется для считывания и записи значений по текущему индексу. После вызова текущий индекс очищается. Эти свойства можно использовать в матрицах любого типа, при этом значение преобразуется к нужному типу.
property Cell:TmaCellИспользуется для считывания и записи значений по текущему индексу. После вызова текущий индекс очищается. Третье свойство при чтении выдает ячейку с типом данных, в котором значение хранится в матрице, а при записи так же преобразуется к типу данных иатрицы.