Ms > Интерфейсы сборки Ms > ITimeSeries > ITimeSeries.IsEmpty
IsEmpty: Boolean;
IsEmpty: boolean;
Свойство IsEmpty возвращает признак пустоты ряда.
Возможные значения:
True. Ряд пустой;
False. Ряд содержит данные.
В примере приведен пользовательский векторный метод расчета.
Добавьте ссылки на системные сборки: MathFin, Ms, Transform.
Function IsEmpty(Input: ITimeSeries): ITimeSeries;
Var
TsCalc: TsCalculation;
pContext: ITsCalculationContext;
i: Integer;
Output: ITimeSeries;
Begin
// Проверяем, пустой ли входной ряд
If Not Input.IsEmpty
// Если ряд не пустой, то вычисляем его десятичный логарифм
Then
TsCalc := New TsCalculation.Create;
pContext := TsCalc.Current;
Output := pContext.CreateTimeSeries;
For i := Input.StartIndex To Input.EndIndex Do
Output(i) := Math.Log10(Input(i));
End For;
// Возвращаем результаты вычислений
Return Output;
// Если ряд пустой, то возвращаем его без изменений
Else
Return Input;
End If;
End Function IsEmpty;
Метод вычисляет десятичный логарифм ряда, если ряд содержит данные.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.MathFin;
Imports Prognoz.Platform.Interop.Ms;
Imports Prognoz.Platform.Interop.Transform;
…
Public Shared Function IsEmpty(Input: ITimeSeries): ITimeSeries;
Var
TsCalc: TsCalculation;
pContext: ITsCalculationContext;
i: Integer;
Output: ITimeSeries;
Math: MathClass = New MathClass();
Begin
// Проверяем, пустой ли входной ряд
If Not Input.IsEmpty
// Если ряд не пустой, то вычисляем его десятичный логарифм
Then
TsCalc := New TsCalculation.Create();
pContext := TsCalc.Current[Null];
Output := pContext.CreateTimeSeries(DimCalendarLevel.dclNone, Null) As ITimeSeries;
For i := Input.StartIndex To Input.EndIndex Do
Output[i] := Math.Log10(Input[i] As double);
End For;
// Возвращаем результаты вычислений
Return Output;
// Если ряд пустой, то возвращаем его без изменений
Else
Return Input;
End If;
End Function IsEmpty;
См. также: