Francisco,

        O cc1 é o objeto cMeter ( indicador de processo ). Vc pode coloca-lo
em qualquer form desde que especifique o form e o objeto. Ex:
        Vamos chamar o objeto cMeter de "ccContador"

        call VisWinSetMeter( frmTeste.ccContador, nPasso )

        Bom,eu gostaria de somente acrescentar no e-mail anterior, colocando
antes do processo iniciar, "zerar" o contador. então:

        set nTotal = 0
        set nPasso = 0
        call VisWinSetMeter( cc1, 0 )

Espero ter solucionado sua dúvida

Ricardo


-----Mensagem original-----
De: FRANCISCO FRANK [mailto:[EMAIL PROTECTED]]
Enviada em: Quinta-feira, 22 de Março de 2001 16:21
Para: [EMAIL PROTECTED]
Assunto: Re: RES: [sqlwin] Proposta para cMeter


Alo Ricardo,
Na tua dica voce colocou a seguinte instrução:
   call VisWinSetMeter( cc1, nPasso )

Minha duvida:
Aonde deve ser colocado o cc1?

Minha aplicação tem varios form. Sempre que eu consultar dados em qualquer 
form, o cMeter deve ser acionado.

F. Frank


>From: [EMAIL PROTECTED]
>Reply-To: [EMAIL PROTECTED]
>To: [EMAIL PROTECTED]
>Subject: RES: [sqlwin] Proposta para cMeter
>Date: Tue, 20 Mar 2001 17:29:31 -0300
>
>Prezado amigo,
>
>       Trabalho com cMeter na seguinte maneira. Não sei se é o que vc
>precisa mas é bem facil.
>Preparo o Select
>
>set nTotal = 0
>set nPasso = 0
>call SqlPrepareAndExecute( hSql, '..... ')
>call SqlGetResultSetCount( hSql, nTotal ) = pego o total de registros no 
>meu
>select
>if nTotal > 0
>       set nTotal = 100/nTotal
>while SqlFetchNext( hSql, nFetch )
>       set nPasso = nPasso + nTotal
>       .... ( procedimentos intermediários )
>       call VisWinSetMeter( cc1, nPasso )
>
>É um processo simples mas funciona.
>Espero ter ajudado.
>
>Ricardo
>
>-----Mensagem original-----
>De: FRANCISCO FRANK [mailto:[EMAIL PROTECTED]]
>Enviada em: Terça-feira, 20 de Março de 2001 16:47
>Para: [EMAIL PROTECTED]
>Assunto: [sqlwin] Proposta para cMeter
>
>
>Prezados colegas,
>
>A alguns dias solicitei ao grupo, ajuda sobre cMeter. Não me lembro quem 
>foi
>
>mas tenho certeza q um dos colegas tinha o mesmo problema que eu. Sendo
>assim tenho a seguinte proposta enviada pelo professor Lairton:
>[EMAIL PROTECTED]
>
>Sobre esta sua dúvida com relação ao objeto cMeter numa consulta a 60 mil
>registros ... você pode utilizá-lo sem problemas, posso até montar um
>exemplo e enviar-lhe, mas é preciso que seja entendido o mecanismo de
>consulta.
>Vamos supor que você execute sua consulta assim :
>
>Call SqlPrepareAndExecute ( hSql , sConsulta )          (1)
>While SqlFetchNext ( hSql , nRet )                              (2)
>      Call fAddLinhaDoResultSetNumaTableWindow( )  (3)
>
>Acontece que normalmente a maior parte do tempo gasto pra executar sua
>consulta é gasto na instrução presente na linha (1).
>Imagino que mais de 50% do tempo será gasto na execução desta linha. O laço
>iniciado na linha (2) representa pouco tempo gasto em relação a linha (1), 
>e
>a linha (3) é a que é responsável em copiar a linha do result set para a
>tela.
>
>O cMeter, ao ser iniciado, precisa ter bem definido os seus limites, ou
>seja, o valor inicial (que normalmente é 0) e o valor final, que poderia 
>ser
>o número de linhas que sua consulta retornou. Mas isso não corresponde a
>realidade, pois imagine que sua consulta demore 1 minuto pra trazer 1 linha
>!!!
>
>É preciso ter conhecimento deste detalhe para não se assustar com o
>resultado. Imagine uma consulta dessas sendo executada pelo seu sistema ...
>O metter mostra 1% e passa assim quase 1 minuto , parado, dá até a 
>impressão
>de que a máquina travou né. E posteriormente, quando as poucas linhas
>retornarem a barra do cMeter chegará ao 100% rapidamente.
>
>Com o cMeter poderia ser algo parecido com .....
>
>Call objMeter.Init ( )                                                   
>(1)
>Call objMeter.SetLimiteInicial( 0 )                               (2)
>Call SqlPrepareAndExecute ( hSql , sConsulta )           (3)
>Call SqlGetResultSetCount( hSql , nQtd )                    (4)
>Call objMeter.SetLimiteFinal( nQtd )                           (5)
>Set nLinha = 0
>(6)
>While SqlFetchNext ( hSql , nRet )                              (7)
>      Call objMeter.SetStatusAtual( nLinha )                   (8)
>      Set nLinha = nLinha + 1                                          (9)
>      Call fAddLinhaDoResultSetNumaTableWindow( )  (10)
>
>a linha 2 define que o objeto meter iniciará sua contagem no valor zero.
>A linha 4 conta quantas linhas retornaram na consulta, isso é uma tarefa
>demorada.
>A linha 5 define que o objeto meter encerrará sua contagem no valor em 
>nQtd.
>E a linha 8 mostra o percentual atual de execução.
>
>Em consultas onde perde-se pouco tempo na linha 3 e muito tempo na
>recuperação destas linhas ( linha 7 e 10 ) o meter é ideal.
>
>_________________________________________________________________________
>Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.
>
>==============================================
>Lista de Centura SQLWindows
>Administrador : [EMAIL PROTECTED]
>[ http://www.centuraexplorer.com ]
>Para sair desta lista mande mensagem para:
>[EMAIL PROTECTED] sem nada no Subject e
>com o comando a seguir no corpo da msg:
>"unsubscribe sqlwin" (sem as aspas)
>==============================================
>=============================================Lista de Centura SQLWindows
>Administrador : [EMAIL PROTECTED]
>[ http://www.centuraexplorer.com ]
>Para sair desta lista mande mensagem para:
>[EMAIL PROTECTED] sem nada no Subject e
>com o comando a seguir no corpo da msg:
>"unsubscribe sqlwin" (sem as aspas)
>=============================================

_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.

==============================================
Lista de Centura SQLWindows
Administrador : [EMAIL PROTECTED]
[ http://www.centuraexplorer.com ]
Para sair desta lista mande mensagem para:
[EMAIL PROTECTED] sem nada no Subject e
com o comando a seguir no corpo da msg:
"unsubscribe sqlwin" (sem as aspas)
==============================================
ÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝLista de Centura SQLWindows
Administrador : [EMAIL PROTECTED]
[ http://www.centuraexplorer.com ]
Para sair desta lista mande mensagem para:
[EMAIL PROTECTED] sem nada no Subject e
com o comando a seguir no corpo da msg:
"unsubscribe sqlwin" (sem as aspas)
ÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝ

Responder a