Ms > Интерфейсы сборки Ms > IMsTimeMatrix > IMsTimeMatrix.DateToIndex
DateToIndex(Value: DateTime): Integer;
DateToIndex(Value: System.DateTime): integer;
Value. Календарная точка ряда.
Метод DateToIndex переводит дату в индекс.
Для перевода индекса в дату используйте метод IMsTimeMatrix.IndexToDate.
В данном примере описан пользовательский метод.
Для выполнения примера добавьте ссылки на системные сборки Ms, MathFin.
Public Function Max(Matrix: IMsTimeMatrix): Variant;
Var
Serie : ITimeSeries;
index, i : integer;
arr : Array Of double;
Begin
Serie := New TimeSeries.Create;
index := Matrix.CurrentIndex;
If Matrix.DateToIndex(Matrix.ForecastStartDate) <> index Then
For i := 0 To Matrix.PointCount - 1 Do
arr := Matrix.Column(i) As Array Of double;
Serie.Item(i) := Math.Max(arr);
End For;
End If;
Return Serie;
End Function Max;
Метод находит максимальное значение среди точек ряда матрицы, если значение, полученное при переводе даты в индекс, не совпадает с текущим индексом расчета.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Ms;
Imports Prognoz.Platform.Interop.MathFin;
…
Public Function Max1(Matrix: IMsTimeMatrix): object;
Var
Serie : ITimeSeries;
index, i : integer;
arr : Array Of double;
Math: MathClass = New MathClass();
Begin
Serie := New TimeSeries.Create();
index := Matrix.CurrentIndex;
If Matrix.DateToIndex(Matrix.ForecastStartDate) <> index Then
For i := 0 To Matrix.PointCount - 1 Do
arr := Matrix.Column(i) As Array Of double;
Serie.Item[i] := Math.Max(arr);
End For;
End If;
Return Serie;
End Function Max1;
См. также: