gibaf Posted October 9, 2013 Report Share Posted October 9, 2013 Ola a todos !! estou usando o Time(), e ele me retorna a HH:MM:SS, mas, estou precisando tambem o milessegundo, tipo assim: HH:MM:SS,mm, igual o Time do MS-DOS... sera q tem alguma funcao/comando q faz isso, pra nao ter q utilizar (gambiarra) o WAITRUN("COMMAND.COM /C time > time.txt" ) e depois abrir o txt pra ter a informacao.. alguem saberia se tem alguma funcao/comando q traz o milessegundo no Time() ?? desde ja abradeco a ajuda: MUITO OBRIGADO Quote Link to comment Share on other sites More sharing options...
Arthur Silvestre Posted October 9, 2013 Report Share Posted October 9, 2013 Você terá que alterar a classe, não é dificil. //----------------------------------------------------------------------------//METHOD cGetTime() CLASS TTime local nTemp := ::nTime local nHours := Int( nTemp / 3600 ) local nMinutes := nTemp - ( nHours * 3600 ) local nSeconds := nMinutes % 60return StrZero( nHours, 2 ) + ":" + StrZero( Int( nMinutes / 60 ), 2 ) + ":" + ; StrZero( nSeconds, 2 )//----------------------------------------------------------------------------// Divida o nSeconds por 60 também e em toda a classe q ele trabalhe com as 3 variaveis você adiciona o nMiliSeconds (por exemplo ) Quote Link to comment Share on other sites More sharing options...
gibaf Posted October 9, 2013 Author Report Share Posted October 9, 2013 ola... obrigado por me responder... Você terá que alterar a classe, não é dificil. Divida o nSeconds por 60 também e em toda a classe q ele trabalhe com as 3 variaveis você adiciona o nMiliSeconds (por exemplo ) mas, creio q dessa forma, nao vai resolver o meu problema, q, tenho um processo q executa e preciso pegar o milessegundo sem essa alteracao, teria q ser mais ou menos igual o TIME do MS-DOS. Q do jeito q vc sugere, todos milessegundo vai ser igual, quando mais de uma x vai pegar na mesma HH:MM:SS... tendeu ? mesmo assim agradeco a ajuda, e, se alguem mais tiver outras, fico agredecido se enviarem. obrigado. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted October 9, 2013 Report Share Posted October 9, 2013 Veja se o DATETIME() te ajuda. Quote Link to comment Share on other sites More sharing options...
gibaf Posted October 9, 2013 Author Report Share Posted October 9, 2013 Veja se o DATETIME() te ajuda. ola....obrigado por responder... deu um alert no DateTime() e nao mostrou nada... tipo, vazio, espaco vazio.... alguma outra ideia, por favor ??? Quote Link to comment Share on other sites More sharing options...
Theotokos Posted October 9, 2013 Report Share Posted October 9, 2013 ola....obrigado por responder... deu um alert no DateTime() e nao mostrou nada... tipo, vazio, espaco vazio.... alguma outra ideia, por favor ??? MsgInfo( ValToPrg(DateTime() )) Quote Link to comment Share on other sites More sharing options...
emotta Posted October 9, 2013 Report Share Posted October 9, 2013 Use esta funcao que vai resolver... Function MyTime() Local nMil := Int((Seconds()-Int(Seconds()))*1000) Return Time()+"."+StrZero(nMil,3) Quote Link to comment Share on other sites More sharing options...
gibaf Posted October 9, 2013 Author Report Share Posted October 9, 2013 MsgInfo( ValToPrg(DateTime() )) ola.. "estora"/interrompe a app sem gerar error.log alguma outra dica, por favor ??? Quote Link to comment Share on other sites More sharing options...
emotta Posted October 9, 2013 Report Share Posted October 9, 2013 Gibaf, a funcao que postei resolve... Quote Link to comment Share on other sites More sharing options...
gibaf Posted October 9, 2013 Author Report Share Posted October 9, 2013 Gibaf, a funcao que postei resolve... ola...obrigado por postar... estou testando...ja..ja digo se eh o q preciso... Quote Link to comment Share on other sites More sharing options...
gibaf Posted October 9, 2013 Author Report Share Posted October 9, 2013 ola...obrigado por postar... estou testando...ja..ja digo se eh o q preciso... ola soh pra informar, com a sua dica, nao eh exatamente o q procuro... o Culik tambem sugeriu concatenar random(1,99) no final do Timer... mas tambem nao eh a informacao certa q procuro.. de todas, ainda a informacao correta e melhor eh o WAITRUN("COMMAND.COM /C time > time.txt" ) e depois abrir o txt pra pegar a informacao, mas nao queria fazer esta. Quote Link to comment Share on other sites More sharing options...
emotta Posted October 9, 2013 Report Share Posted October 9, 2013 Gibaf, o que fiz não é RANDOM, é exatamente o milisegundo, apenas pego o milisegundo do SECONDS() que da na mesma de executar o comando TIME se quiser execute as duas em paralelo e vai ver que é a mesma coisa.... Quote Link to comment Share on other sites More sharing options...
kapiaba Posted October 9, 2013 Report Share Posted October 9, 2013 #include "FiveWin.ch" FUNCTION Main() MyTime() RETURN NIL Function MyTime() LOCAL hMyTime Local nMil := Int((Seconds()-Int(Seconds()))*1000) hMyTime := Time()+"."+StrZero(nMil,3) // não bateu com DateTime() ? hMyTime, DateTime() Return( Time()+"."+StrZero(nMil,3) ) Quote Link to comment Share on other sites More sharing options...
emotta Posted October 9, 2013 Report Share Posted October 9, 2013 Kapiaba, a diferença é devido processamento.... exatamente nunca será igual, mas faça uma lista como falei e verá que sempre se mantem pouca diferenca Quote Link to comment Share on other sites More sharing options...
emotta Posted October 9, 2013 Report Share Posted October 9, 2013 Execute em modo console e veja que ele segue uma sequencia horária, execute este exemplo: FUNCTION Teste() For nI := 1 to 10 MyTime() ThreadSleep(100) NextRETURN NILFunction MyTime() LOCAL hMyTime Local nMil := Int((Seconds()-Int(Seconds()))*1000) hMyTime := Time()+"."+StrZero(nMil,3) // não bateu com DateTime() ? hMyTimeReturn( Time()+"."+StrZero(nMil,3) ) o resultado em tela é: G:\testtime>testtime11:41:58.91311:41:59.03811:41:59.14811:41:59.25811:41:59.36611:41:59.47611:41:59.58611:41:59.69411:41:59.80511:41:59.913G:\testtime> Quote Link to comment Share on other sites More sharing options...
kapiaba Posted October 9, 2013 Report Share Posted October 9, 2013 MODO CONSOLE???? Isto não me pertence mais.... kkkkkkkkkk, SÓ USO FIVEWIN the best of the World!!! kkkkkkkkk obg, abs. Quote Link to comment Share on other sites More sharing options...
gibaf Posted October 9, 2013 Author Report Share Posted October 9, 2013 #include "FiveWin.ch" FUNCTION Main() MyTime() RETURN NIL Function MyTime() LOCAL hMyTime Local nMil := Int((Seconds()-Int(Seconds()))*1000) hMyTime := Time()+"."+StrZero(nMil,3) // não bateu com DateTime() ? hMyTime, DateTime() Return( Time()+"."+StrZero(nMil,3) ) onde esta esse DateTime() ?? tipo, eh fivewin ? eh xharbour (comercial - q eu uso) ?? q deu um alert nele, mosbro vazio, dei tambem um valtoprg e "estourou" a app sem dar error.log.. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted October 9, 2013 Report Share Posted October 9, 2013 Gilberto tem alguma coisa ERRADA com o seu FIVEWIN, qual é a versão do seu FiveWin? Voce esta salvando em: C:\FWH...\SAMPLES\TESTE.PRG ??? Não é de hoje que noto que algo não está correto com o seu five. Não seria melhor voce atualizar seu FIVEWIN, para que voce ficasse com uma versão igual/superior a minha? Uso atualmente, FWH13.06 de Junho de 2013. SUPER FERRARI VERMELHINHA. abs, Quote Link to comment Share on other sites More sharing options...
emotta Posted October 9, 2013 Report Share Posted October 9, 2013 é só pra rodar teste, mais pratico... MODO CONSOLE???? Isto não me pertence mais.... kkkkkkkkkk, SÓ USO FIVEWIN the best of the World!!! kkkkkkkkk obg, abs. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted October 9, 2013 Report Share Posted October 9, 2013 é só pra rodar teste, mais pratico... NÃO SEI COMPILAR EM MODO CONSOLE... Oras, lutei minha vida inteira para aprender FIVEWIN, e agora tu queres que eu volte ao tempo das CAVERNAS??? kkkkkkkkkkkkkkkkkkkkkkkkkkkkkk, Brincadeira, Eduardo. Obg, abs. Quote Link to comment Share on other sites More sharing options...
MatheusFarias Posted October 9, 2013 Report Share Posted October 9, 2013 Utilize SET TIME FORMAT TO Ex: SET TIME FORMAT TO "hh:mm:ss.ccc" caso queira mais exemplos consulte http://persistentobject.blogspot.com.br/2008/12/xharbours-datetime-data-types.html Quote Link to comment Share on other sites More sharing options...
emotta Posted October 9, 2013 Report Share Posted October 9, 2013 kkkkkkkkkkkkkkkkkk pra testes simples CONSOLE continua insuperavel... quebre este preconceito em vc... kkk abraços NÃO SEI COMPILAR EM MODO CONSOLE... Oras, lutei minha vida inteira para aprender FIVEWIN, e agora tu queres que eu volte ao tempo das CAVERNAS??? kkkkkkkkkkkkkkkkkkkkkkkkkkkkkk, Brincadeira, Eduardo. Obg, abs. Quote Link to comment Share on other sites More sharing options...
rubensma Posted October 9, 2013 Report Share Posted October 9, 2013 Boa-tarde. Eduardo, poderia mostrar como faz p/compilar no modo console. É para não ter que carregar tudo na xDev cada vêz de testar algo, realmente seria mais prático. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted October 9, 2013 Report Share Posted October 9, 2013 Boa-tarde. Eduardo, poderia mostrar como faz p/compilar no modo console. É para não ter que carregar tudo na xDev cada vêz de testar algo, realmente seria mais prático. XDEV??? Basta salvar em FWH..\SAMPLES\TESTE.PRG - BUILDX TESTE - Pronto. Quote Link to comment Share on other sites More sharing options...
emotta Posted October 9, 2013 Report Share Posted October 9, 2013 eu uso o xBuildW mas o meu é xHarbour Comercial e só tem esse aplicativo no comercial Boa-tarde. Eduardo, poderia mostrar como faz p/compilar no modo console. É para não ter que carregar tudo na xDev cada vêz de testar algo, realmente seria mais prático. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.