IVZTimeLine.CurrentIndex

Синтаксис

CurrentIndex: Integer;

Описание

Свойство CurrentIndex определяет индекс текущего шага временной шкалы.

Пример

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

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

Sub UserProc;
Var
    Metabase: IMetabase; // Метабаза
    EaxAnalyzer: IEaxAnalyzer; // Экспресс-отчёт
    BubbleTree: IVZBubbleTree; // Пузырьковое дерево
    TimeLine: IVZTimeLine; // Временная шкала
    Index: Integer; // Индекс текущего шага шкалы
    StepName: String; // Наименование текущего шага шкалы
Begin
    // Получим объект метабазы
    Metabase := MetabaseClass.Active;
    // Откроем экспресс-отчёт
    EaxAnalyzer := Metabase.ItemById("EXP").Edit As IEaxAnalyzer;
    // Получим пузырьковое дерево
    BubbleTree := EaxAnalyzer.BubbleTree.BubbleTree;
    // Получим временную шкалу
    TimeLine := BubbleTree.TimeLine;
    { Установим длительность воспроизведения анимации визуализатора 
    при переходе от одного шага шкалы к другому }

    TimeLine.StepDuration := 5;
    // Установим длительность задержки анимации визуализатора
    TimeLine.DelayDuration := 3;
    // Информация о размещении шкалы в рабочей области визуализатора
    Debug.WriteLine("Шкала накладывается на рабочую область (true): " +  TimeLine.IsOverlap.ToString); 
    // Запретим возврат временной шкалы в начальное состояние
    TimeLine.ReturnToInitialState := False;
    // Определим индекс текущего шага шкалы
    Index := TimeLine.CurrentIndex;
    Debug.WriteLine("Индекс текущего шага временной шкалы: " + 
        Index.ToString);
    // Определим наименование текущего шага шкалы
    StepName := TimeLine.StepsNames.Item(Index);
    Debug.WriteLine("Наименование текущего шага шкалы: " + StepName);
    // Сохраним сделанные изменения в экспресс-отчёте
    (EaxAnalyzer As IMetabaseObject).Save;
End Sub UserProc;

В результате выполнения примера были изменены настройки для временной шкалы, в консоль среды разработки была выведена следующая информация:

Шкала накладывается на рабочую область (true): False

Индекс текущего шага временной шкалы: 6

Наименование текущего шага шкалы: 1991
 

Запустим воспроизведение анимации пузырькового дерева при переключении шагов временной шкалы. Длительность перехода будет теперь равна 5 секундам, а задержки переключения шагов - 3 секундам. По окончании воспроизведения временная шкала не будет возвращена в начальное состояние:

См. также:

IVZTimeLine