Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!

Utilizando Barras de Progressão

A Barra Progressiva ou Barra de Progressão ("Progress Bar") é uma janela utilizada pelo aplicativo para visualizar e acompanhar a progressão de operações demoradas.

Na OpusWin, o recurso Progress Bar pode ser utilizado também como controle dentro de uma Janela de diálogo. Veja o Capítulo sobre Dialog Box para saber como construir e utilizar controles Progress Bar numa Janela de diálogo.

A Barra de Progressão consiste de um retângulo que é gradualmente preenchido, da esquerda para a direita, conforme a operação vai sendo executada..

Construção de Barras de Progressão

A tabela a seguir mostra os comandos utilizados para definir e ativar uma Barra de Progressão. Após esta tabela de referência, apresentaremos um programa de exemplo.

Comandos

Descrição dos comandos

Sintaxe dos comandos

PBCREATE

Inicia a definição de uma Barra Progressiva, atribuindo-lhe o nome <nome>. A Barra de Progresso será posicionada nas coordenadas e com os tamanhos especificadas em <xi,yi,xl,yl>. Especificando a opção CHARS, as coordenadas serão medidas em caracteres. Caso contrario, será utilizada como unidade de medida o padrão UNITS, ou seja unidades lógicas.

PBCREATE <nome> <xi,yi,xl,yl> [CHARS | UNITS]

PBMESSAGE

Envia para a Progress Bar <nome> o comando <cmd>, com os parâmetros <par1> ... <parn>.

PBMESSAGE <nome> <cmd> <par1> ... <parn>

SETSTEP

Especifica o incremento ("step increment" ) da Progress bar, ou seja, a quantidade (degrau) pela qual a Progress Bar vai incrementar sua posição corrente sempre que recebe o comando STEPIT. Por default, o SETSTEP será 0 (zero).

PBMESSAGE <nome> SETSTEP <degrau>

SETRANGE

Estabelece os valores mínimo e máximo para uma Progress Bar. Por default, o mínimo é zero e o máximo é 100.

O limite superior (<max>) pode ser inicializado ou "resetado" pelos comandos InitControl e InitControlId.

PBMESSAGE <nome> SETRANGE <min> <max>

STEPIT

Faz avançar a posição corrente da Barra de Progressão conforme o "step increment" previamente estabelecido. A Progress Bar é redesenhada para refletir a nova posição. Se a posição atingida exceder o valor máximo, a mesma é "resetada" de modo que o indicador de progressão é iniciado de novo.

PBMESSAGE <nome> STEPIT

SETPOS

Posiciona o indicador de progressão no valor especificado em <npos>. A Barra Progressiva é redesenhada para refletir essa nova posição.

PBMESSAGE <nome> SETPOS <npos>

DESTROY

desativa a janela que contém a Barra de Progressão cujo nome é <nome>

PBMESSAGE <nome> DESTROY

Exemplos de Barras de Progressão

Veja, a seguir, um exemplo de utilização de Progress Bar.

$nolib

prog

pbcreate ProgressBar 02,01,76,2     && chars

pbmessage ProgressBar "SETRANGE" 1 20

pbmessage ProgressBar "SETSTEP" 1

for i=1 to 19

  pbmessage ProgressBar "STEPIT"

  sleep 1

  temp=i*100/20

  texto=str(i,2)+" --> "+str(temp,2)+" completo ..."

  Showtext (02,04,texto,"arial",1,"B/G")

next

pbmessage ProgressBar "DESTROY"

return

Observação

O exemplo acima produz a seguinte Barra de Progressão:

Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!