Текущий раздел:

Описания RDS

Приложения

Приложение А. Функции, константы и структуры RDS

А.5. Сервисные функции и макросы RDS

А.5.30. Вспомогательный объект для вывода индикатора выполнения

А.5.30.1. rdsPBARCreate – создать объект для вывода индикатора выполнения

# Приложения

## Приложение А. Функции, константы и структуры RDS

### А.5. Сервисные функции и макросы RDS

#### А.5.30. Вспомогательный объект для вывода индикатора выполнения

Описываются функции и команды вспомогательного объекта RDS, предназначенного для вывода на экран индикатора хода выполнения какой-либо длительной операции (progress bar).

##### А.5.30.1. rdsPBARCreate – создать объект для вывода индикатора выполнения

Функция rdsPBARCreate создает вспомогательный объект RDS, позволяющий показывать пользователю горизонтальный индикатор (progress bar), обычно символизирующий ход выполнения какой-либо операции.

      RDS_HOBJECT RDSCALL rdsPBARCreateA(
        int Max,         // Максимум значения
        RDSCSTR Caption  // Заголовок индикатора (UTF8)
      );
      RDS_HOBJECT RDSCALL rdsPBARCreateW(
        int Max,         // Максимум значения
        RDSWCSTR Caption // Заголовок индикатора (UTF16)
      );
      // Функция-псевдоним
      RDS_HOBJECT RDSCALL rdsPBARCreate(
        int Max,         // Максимум значения
        RDSXCSTR Caption // Заголовок индикатора (кодировка по умолчанию)
      );

Тип указателя на эту функцию

RDS_HoIS (для UTF8) или RDS_HoIWs (для UTF16)

Параметры

Max(int)
  Максимальное значение индикатора (его позиция изменяется от нуля до этого значения).
Caption(RDSCSTR,RDSWCSTR,RDSXCSTR)
  Указатель на строку с заголовком индикатора или NULL, если заголовка нет или он будет задан позже.

Возвращаемое значение

Уникальный идентификатор созданного объекта (RDS_HOBJECT).

Примечания

Эта функция создает вспомогательный объект, который будет отображать в отдельном окне горизонтальный, увеличивающийся вправо индикатор. Размеры индикатора и его окна фиксированы и определяются RDS. Значение позиции индикатора может изменяться от нуля до параметра Max, при этом нулевому значению соответствует пустой (не заполненный) индикатор, а значению Max – индикатор, заполненный из конца в конец. Обычно в параметре Max передают число элементарных шагов какой-либо длительной операции, а в его позиции в процессе выполнения этой операции отражают число уже выполненных шагов. Если одновременно показывается несколько индикаторов, их окна автоматически выстраиваются друг рядом с другом.

Сразу после создания объекта индикатор не отображается, его нужно вывести на экран командой RDS_PBAR_SHOW. Скрыть индикатор с экрана, не уничтожая объект, можно командой RDS_PBAR_HIDE. Созданный вспомогательный объект будет существовать до тех пор, пока схема не будет выгружена из памяти, или пока он не будет удален вызовом функции rdsDeleteObject (при удалении объекта индикатор автоматически исчезнет с экрана).

Чаще всего работа с объектом для отображения индикатора выполнения строится по следующему сценарию:

- перед выполнением длительной операции объект создается вызовом rdsPBARCreate, в этот момент задается максимум и заголовок индикатора;
- индикатор выводится на экран командой RDS_PBAR_SHOW;
- в процессе выполнения операции командами RDS_PBAR_POSITION или RDS_PBAR_ADDTOPOS позиция индикатора изменяется, отображая ход выполнения этой операции (к моменту ее окончания индикатор должен быть полностью заполнен);
- объект удаляется вызовом rdsDeleteObject, при этом индикатор исчезает с экрана.

Если нужно последовательно выполнить несколько операций, вместо удаления объекта в конце очередной из них можно сбросить индикатор в исходное, не заполненное состояние командой RDS_PBAR_RESET, изменить его максимум и заголовок командами RDS_PBAR_MAX и RDS_PBAR_SETCAPTION, после чего начать следующую операцию, увеличивая позицию индикатора согласно ходу ее выполнения.

См. также

Вспомогательные объекты, rdsDeleteObject, RDS_PBAR_SHOW, RDS_PBAR_POSITION, RDS_PBAR_ADDTOPOS.