Tela com 2 barras de processamento – MsNewProcess
Por meio deste objeto é possível executar uma rotina em que será disponibilizada ao usuário duas barras de processamento para acompanhamento do processo que está sendo executado.
Sintaxe
MsNewProcess(): New ( [ bAction], [ cTitle], [ cMsg], [ lAbort] )
Parâmetros
bAction = Bloco de código = Bloco de código a ser executado pela janela
cTitle = Caracter = Título a ser apresentado na janela
cMsg = Caracter = Mensagem apresentada ao usuário na primeira barra de processamento
lAbort = Lógico = Caso o parâmetro lAbort seja igual a .T. ele habilita o botão Cancelar, possibilitando o cancelamento do processo utilizado pela janela. Caso contrário, o botão Cancelar fica desabilitado.
Por meio deste objeto é possível executar uma rotina em que será disponibilizada ao usuário duas barras de processamento para acompanhamento do processo que está sendo executado.
Métodos
Activate
Cria a janela onde serão apresentadas as barras de processamento.
Sintaxe
MsNewProcess(): Activate ( )
IncRegua1
Atualiza o valor da primeira barra de progresso. Se o parâmetro cMsg for atribuído o conteúdo do parâmetro cMsg será apresentado na primeira régua de processamento.
Sintaxe
MsNewProcess(): IncRegua1 ( [ cMsg] )
Parâmetros
Nome Tipo Descrição
cMsg Caracter Texto a apresentado na primeira barra de progresso.
IncRegua2
Atualiza o valor da segunda barra de progresso. Se o parâmetro cMsg for atribuído o conteúdo do parâmetro cMsg será apresentado na segunda régua de processamento.
Sintaxe
MsNewProcess(): IncRegua2 ( [ cMsg] )
Parâmetros
Nome Tipo Descrição
cMsg Caracter Texto a apresentado na segunda barra de progresso.
SetRegua1
Passa para a primeira régua de processamento a quantidade de registros que a rotina irá processar. O valor passado no parâmetro nSet será utilizado para a contagem da barra de progressão.
Sintaxe
MsNewProcess(): SetRegua1 ( [ nSet] )
Parâmetros
Nome Tipo Descrição
nSet Numérico Quantidade de registros a serem processados pela rotina
SetRegua2
Passa para a segunda régua de processamento a quantidade de registros que a rotina irá processar. O valor passado no parâmetro nSet será utilizado para a contagem da barra de progressão.
Sintaxe
MsNewProcess(): SetRegua2 ( [ nSet] )
Parâmetros
Nome Tipo Descrição Obrigatório Referência
nSet Numérico Quantidade de registros a serem processados pela rotina
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
User function Relatorio() Private oProcess oProcess := MsNewProcess():New( { || fProcessa() } , "Imprimindo Relatório" , "Aguarde..." , .F. ) oProcess:Activate() Return Static function fProcessa() //Seu codigo //sua primeira query oProcess:SetRegua1( (cAlias1)->(RecCount()) ) //Alimenta a primeira barra de progresso //seu código While (cAlias1)->(!Eof()) //processamento da primeira barra de progresso oProcess:IncRegua1("Processando primeira barra de progresso") //seu codigo //Sua segunda query oProcess:SetRegua2( (cAlias2)->(RecCount()) ) //Alimenta a segunda barra de progresso //seu codigo While (cAlias2)->(!Eof()) //processamento da segunda barra de progresso oProcess:IncRegua2("Processando segunda barra de progresso") //seu codigo (cAlias2)->(dbSkip()) EndDo (cAlias1)->(dbSkip()) EndDo Return |