Exibir milisegundos

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

perez2001
Usuário Nível 1
Usuário Nível 1
Mensagens: 2
Registrado em: 26 Abr 2007 22:27
Localização: sao paulo

Exibir milisegundos

Mensagem por perez2001 »

Olá gostaria de uma ajuda, estou escrevendo um programinha que necessita exibir o tempo em milisimos de segundos. Já tentei com SECONDS() e nao deu certo.

Obrigado
Dudu_XBase
Membro Master
Membro Master
Mensagens: 1071
Registrado em: 25 Ago 2003 16:55

Mensagem por Dudu_XBase »

Bom dia as Funções que operam com milesegundos que conheço são essas:

TimeToSec(), SecToTime(), TimeVali()d elas pertecem a lib CT.

Para fazer o que vc precisa olhe o exemplo abaixo

Código: Selecionar todos

    ? sectotime(timetosec(),.t.)
  


________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle




perez2001
Usuário Nível 1
Usuário Nível 1
Mensagens: 2
Registrado em: 26 Abr 2007 22:27
Localização: sao paulo

Mensagem por perez2001 »

Obrigado pela ajuda, mas nao é exatamente isso que eu queria. Tenho que exibir o tempo de intervalo entre uma tecla e outra, tem que aparcer em milisegundos, isto é, tres casas depois do ponto (ex. 1.555).
Avatar do usuário
carlaoonline
Usuário Nível 3
Usuário Nível 3
Mensagens: 190
Registrado em: 24 Ago 2014 22:38
Localização: Porto Alegre-RS

Exibir milisegundos

Mensagem por carlaoonline »

Caso alguém precisar ainda:

hb_MilliSeconds()


Usando MiniGui Extend, quando estou com um registro na tela (cadastro de clientes por exemplo) e clico no botão "Próximo" , está muito lento para atualizar a tela do próximo cliente no cadastro (Labels e GetBoxs). No modo console é instantâneo, se não tirar o dedo rápido da tecla ele pula uns 10 de uma vez só (atualizando um por um), no modo GUI tem que apertar e esperar uns milisegundos, parece pouco mas enquanto não atualiza ele não aceita o próximo clique, então o usuário mais agitado fica apertando umas 5 ou 6 vezes e o sistema só pula 1 cliente, bem diferente do CONSOLE... e aí já deu gritaria.....

Usando o comando acima vou criar identificadores para ver ONDE está a demora, se é no acesso ao banco de dados, no Paint da tela, no Refresh dos getBox ou alguma função acionada, identificando o gargalo daí posso resolver ou ao menos amenizar o problema.

Estou migrando do CONSOLE para GUI e como em qualquer mudança, acabam uns problemas e começam outros.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Exibir milisegundos

Mensagem por JoséQuintas »

Ué...
Coloque uma mensagem antes de atualizar a tela e depois.
Dependendo do banco de dados, antes e depois da consulta também.
Acho que isso é suficiente.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Exibir milisegundos

Mensagem por JoséQuintas »

Postou no lugar certo? Clipper?

O fonte de tela gráfica tem muita particularidade? poderia postar.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
carlaoonline
Usuário Nível 3
Usuário Nível 3
Mensagens: 190
Registrado em: 24 Ago 2014 22:38
Localização: Porto Alegre-RS

Exibir milisegundos

Mensagem por carlaoonline »

Boa tarde!

JoséQuintas escreveu:Coloque uma mensagem antes de atualizar a tela e depois.
Foi exatamente isso que eu fiz, porém o comando time() mostra somente duas casa decimais.

Dando uma pesquisada rápida no fórum sobre o assunto, verifiquei somente esse post onde havia a mesma dúvida que a minha, pois o rapaz também estava precisando da terceira casa (MiliSegundos) para ter mais exatidão nos resultados.

Assim que encontrei a solução, para não abrir um novo tópico, postei o comando encontrado, não me liguei que possivelmente esse comando não exista em Clipper.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Exibir milisegundos

Mensagem por JoséQuintas »

carlaoonline escreveu:Foi exatamente isso que eu fiz, porém o comando time() mostra somente duas casa decimais.
Pensando bem, verfique como colocou pra atualizar a tela, se a cada campo, ou tudo de uma vez.
Ou se a LIB tá fazendo isso por conta própria.
Ou se está desabilitando alguma coisa durante atualização.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
ivanil
Usuário Nível 3
Usuário Nível 3
Mensagens: 166
Registrado em: 11 Set 2004 15:13
Localização: Florianópolis/SC

Exibir milisegundos

Mensagem por ivanil »

Apenas um complemento:

As vezes cometemos algumas GAFs quando migramos para a gráfica... onde tudo é evento; pode ocorrer de você estar fazendo a mesma coisa centena de vezes;
Imaginando que você atualiza a tela a partir de um clique no botão, mas tem eventos onchange nos demais controles; isso pode desencadear uma serie de repetição; não estou dizendo que é isso, mas como já cometi esse erro no passado...de repente vale a pena dar uma olhada nisso.
Responder