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

Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором «EXP». Модуль, в котором размещается пример, должен иметь ссылки на системные сборки Drawing, Express, Metabase и Visualizators. Указанная процедура должна вызываться из точки входа Main.

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

Sub UserProc;
Var
    Metabase: IMetabase; // Метабаза
    EaxAnalyzer: IEaxAnalyzer; // Экспресс-отчёт
    BubbleTree: IVZBubbleTree; // Пузырьковое дерево
    Scale: IVZDataScale; // Шкала цветов
    Item: IGxSolidBrush; // Кисть для элементов шкалы
    MinValue: Double; // Левая граница первого интервала
    MaxValue: Double; // Правая граница первого интервала
Begin
    // Получим объект метабазы
    Metabase := MetabaseClass.Active;
    // Получим объект экспресс-отчёта
    EaxAnalyzer := Metabase.ItemById("EXP").Edit As IEaxAnalyzer;
    // Получим шкалу цветов пузырькового дерева
    Scale := EaxAnalyzer.BubbleTree.BubbleTree.ColorVisual.ColorMapping.Scale;
    // Разрешим автоматическое вычисление элементов шкалы
    Scale.AutoCalculable := True;
    // Установим количество интервалов шкалы
    Scale.IntervalsCount := 4;
    // Перерассчитаем шкалу
    Scale.AutoSetupScaleItems;
    // Получим значения, соответствующие границам первого интервала
    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.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)

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

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

Пример Fore.NET

Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором «EXP». Указанная процедура является точкой входа Main в модуле Program .NET-сборки. В данный модуль должны быть импортированы сборки Drawing, Express, Metabase и Visualizators из системной сборки Prognoz.Platform.Interop.

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

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["EXP"].Edit() As IEaxAnalyzer;
    // Получим шкалу цветов пузырькового дерева
    Scale := EaxAnalyzer.BubbleTree.BubbleTree.ColorVisual.ColorMapping.Scale;
    // Разрешим автоматическое вычисление элементов шкалы
    Scale.AutoCalculable := True;
    // Установим количество интервалов шкалы
    Scale.IntervalsCount := 4;
    // Перерассчитаем шкалу
    Scale.AutoSetupScaleItems();
    // Получим значения, соответствующие границам первого интервала
    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.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;

Результат выполнения примера аналогичен результату, полученному после выполнения примера для языка Fore.

См. также:

IVZDataScale