IVZDataScale.Less

Синтаксис Fore

Less(Index: Integer, useInactiveItem: Boolean): Variant;

Синтаксис Fore.NET

Less[Index: System.Int32, useInactiveItem: System.Boolean]: System.Object;

Параметры

Index. Индекс элемента шкалы;

useInactiveItem. Признак использования неактивного элемента. Если свойство равно значению True, то будет учитываться неактивный элемент, иначе - не будет.

Описание

Свойство Less возвращает элемент шкалы визуализатора со значением, меньшим, чем значение элемента с указанным индексом.

Комментарии

Свойство возвращает кисть, описываемую интерфейсом IGxBrush, или числовое значение в зависимости от типа шкалы.

Пример Fore

Для выполнения примера в репозитории необходимо наличие экспресс-отчета с идентификатором «EXPRESS_REPORT», в котором содержится пузырьковое дерево. Цветовая шкала пузырькового дерева выглядит так, как показано на странице описания интерфейса IVZDataScale. Установим количество интервалов шкалы равное 4, а также определим начальное и конечное значение первого интервала. Затем получим цвета элементов пузырькового дерева со значением, меньшим и большим значения элемента с индексом 1.

Добавьте ссылки на системные сборки: Metabase, Express, Drawing, Visualizators. Указанная процедура должна вызываться из точки входа Main.

Sub UserProc;
Var
    Metabase: IMetabase; // Репозиторий
    EaxAnalyzer: IEaxAnalyzer; // Экспресс-отчёт
    BubbleTree: IVZBubbleTree; // Пузырьковое дерево
    Scale: IVZDataScale; // Шкала цветов
    Item: IGxSolidBrush; // Кисть для элементов шкалы
    MinValue: Double; // Левая граница первого интервала
    MaxValue: Double; // Правая граница первого интервала
Begin
    // Получим объект репозитория
    Metabase := MetabaseClass.Active;
    // Получим объект экспресс-отчёта
    EaxAnalyzer := Metabase.ItemById("EXPRESS_REPORT").Edit As IEaxAnalyzer;
    // Получим шкалу цветов пузырькового дерева
    Scale := EaxAnalyzer.BubbleTree.BubbleTree.ColorVisual.ColorMapping.Scale;
    // Установим количество интервалов шкалы
    Scale.IntervalsCount := 4;
    // Получим значения, соответствующие границам первого интервала
    Scale.GetValuesPair(0, MinValue, MaxValue);
    Debug.WriteLine("Начальное значение первого интервала: " + MinValue.ToString);
    Debug.WriteLine("Конечное значение: " + MaxValue.ToString);
    // Получим элемент со значением, меньшим значения элемента с индексом 1
    Item := Scale.Less(1FalseAs IGxSolidBrush;
    If Item <> Null Then
        Debug.WriteLine("Цвет меньшего элемента: (" +
            Item.Color.R.ToString + ", " + Item.Color.G.ToString + ", " +
            Item.Color.B.ToString + ")");
    End If;
    // Получим элемент со значением, большим значения с индексом 1
    Item := Scale.Greater(1FalseAs IGxSolidBrush;
    If Item <> Null Then
        Debug.WriteLine("Цвет большего элемента: (" +
            Item.Color.R.ToString + ", " + Item.Color.G.ToString + ", " +
            Item.Color.B.ToString + ")");
    End If;
    // Сохраним изменения в экспресс-отчёте
    (EaxAnalyzer As IMetabaseObject).Save;
End Sub UserProc;

После выполнения примера для шкалы пузырькового дерева будет установлено количество интервалов равное 4:

В окне консоли будет выведено минимальное и максимальное значение первого интервала, а также цвета элементов пузырькового дерева со значением, меньшим и большим значения элемента с индексом 1:

Начальное значение первого интервала: 14.5

Конечное значение: 20.5

Цвет меньшего элемента: (235, 175, 54)

Цвет большего элемента: (255, 217, 0)

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Drawing;
Imports Prognoz.Platform.Interop.Visualizators;

Public Shared Sub Main(Params: StartParams);
Var
    Metabase: IMetabase; // Репозиторий
    EaxAnalyzer: IEaxAnalyzer; // Экспресс-отчёт
    BubbleTree: IVZBubbleTree; // Пузырьковое дерево
    Scale: IVZDataScale; // Шкала цветов
    Item: IGxSolidBrush; // Кисть для элементов шкалы
    MinValue: Double; // Левая граница первого интервала
    MaxValue: Double; // Правая граница первого интервала
Begin
    // Получим объект репозитория
    Metabase := Params.Metabase;
    // Получим объект экспресс-отчёта
    EaxAnalyzer := Metabase.ItemById["EXPRESS_REPORT"].Edit() As IEaxAnalyzer;
    // Получим шкалу цветов пузырькового дерева
    Scale := EaxAnalyzer.BubbleTree.BubbleTree.ColorVisual.ColorMapping.Scale;
    // Установим количество интервалов шкалы
    Scale.IntervalsCount := 4;
    // Получим значения, соответствующие границам первого интервала
    Scale.GetValuesPair(0Var MinValue, Var MaxValue);
    System.Diagnostics.Debug.WriteLine("Начальное значение первого интервала: " + MinValue.ToString());
    System.Diagnostics.Debug.WriteLine("Конечное значение: " + MaxValue.ToString());
    // Получим элемент со значением, меньшим значения элемента с индексом 1
    Item := Scale.Less[1FalseAs IGxSolidBrush;
    If Item <> Null Then
        System.Diagnostics.Debug.WriteLine("Цвет меньшего элемента: (" +
            Item.Color.R.ToString() + ", " + Item.Color.G.ToString() + ", " +
            Item.Color.B.ToString() + ")");
    End If;
    // Получим элемент со значением, большим значения с индексом 1
    Item := Scale.Greater[1FalseAs IGxSolidBrush;
    If Item <> Null Then
        System.Diagnostics.Debug.WriteLine("Цвет большего элемента: (" +
            Item.Color.R.ToString() + ", " + Item.Color.G.ToString() + ", " +
            Item.Color.B.ToString() + ")");
    End If;
    // Сохраним изменения в экспресс-отчёте
    (EaxAnalyzer As IMetabaseObject).Save();
End Sub;

См. также:

IVZDataScale