Relogio Sistema atrasando em relação relogio computador

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

GustavoAvila
Usuário Nível 1
Usuário Nível 1
Mensagens: 8
Registrado em: 26 Out 2015 13:10
Localização: Salvador/Bahia

Relogio Sistema atrasando em relação relogio computador

Mensagem por GustavoAvila »

Prezados:

Estou com um problema que para mim parece inimaginavel:

Tenho um sistema para estacionamentos feito em clipper, utilizando impressora não fiscal bematech. Recentemente adquiri uma impressora termica MP 4200 da Bematech e implantei com a seguinte configuração: Sistema manda para LPT1, utilizo o DOS2USB para que a impressão saia na impressora MP4200 que é usb, instalada com o spooler da Bematch.

Observei um problema que está me tirando o sono e me fez retornar as velhas impressoras matriciais. O sistema estava ficando com o horario retornado pela função time() atrasado em relação ao relogio do windows. E ia atrasando cada vez mais, dando uma grande diferença na cobrança de cada veiculo.

Algum santo me ajude, por favor!!!! :|< :|< :|<
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Relogio Sistema atrasando em relação relogio computador

Mensagem por Toledo »

Olá Gustavo, seja bem-vindo ao Fórum!
GustavoAvila escreveu:O sistema estava ficando com o horario retornado pela função time() atrasado em relação ao relogio do windows.
Estranho isto, visto que a função time() retorna a hora que está no Windows.

Faça um teste, entre no prompt do DOS, digite TIME e pressione Enter. Verifique se a hora apresentada é a mesma do Windows.

Bom, acho que vai ser a mesma hora, então o time() também vai retornar a mesma hora. Se as horas forem as mesmas, então provavelmente o problema não esta na função time().

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Relogio Sistema atrasando em relação relogio computador

Mensagem por Kapiaba »

Boa tarde, tente:

Ligue a máquina e entre no setup, onde se ajusta a hora. Sincronize a hora com seu relógio e deixe ela contando o tempo sem sair do setup. Depois de certo tempo (horas se puder), confirme para ver se realmente o relógio atrasou. Se a hora estiver correta, então é alguma coisa de software atrapalhando o relógio interno.

Se tiver internet conectada, ajuste o telógio do windows, para se ajustar automáticamente com o horário de verão.

Em tempo: verifique também, se a bateria não está velha ou se não tem "uçuário" modificando o relógio de propósito(ou sem querer).

Abs.
GustavoAvila
Usuário Nível 1
Usuário Nível 1
Mensagens: 8
Registrado em: 26 Out 2015 13:10
Localização: Salvador/Bahia

Relogio Sistema atrasando em relação relogio computador

Mensagem por GustavoAvila »

Colegas, obrigado pela pronta resposta. Porém este problema inusitado vai alem da compreensão de um mero mortal como eu. Para comprovar minha teste eu coloquei um relogio do windows dividindo a tela com o sistema em janela e o relogio do windows permanecia correta enquanro o do sistema ia atrasando.
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Relogio Sistema atrasando em relação relogio computador

Mensagem por Toledo »

GustavoAvila escreveu:o relogio do windows permanecia correta enquanro o do sistema ia atrasando
Amigo, este teste que você fez, você estava comparando o relógio do Windows com alguma rotina ou função que mostra a hora no seu sistema?

Faça um teste com a código abaixo:

Código: Selecionar todos

cls
do while .t.
   @ 10,10 say "Hora: "+time()
   tk=inkey()
   if tk=27
     Exit
   endif
enddo
return
Compile este código e depois faça a mesma coisa que você fez com o teste do seu sistema, abra o relógio do Windows e este programinha em janelas paralelas e veja se vai atrasar.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Relogio Sistema atrasando em relação relogio computador

Mensagem por Kapiaba »

Bom dia, teste com este também, e se possivel, mostre imagens, anexo o fonte e o executável:

Imagem

Abs
Anexos
RELOGIO.ZIP
Relogio do sistema
(1.26 MiB) Baixado 256 vezes
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Relogio Sistema atrasando em relação relogio computador

Mensagem por janio »

Ja tive exatamente este mesmo problema num sistema em clipper que tinha!

Solução? Não encontrei. Migrei o sistema para harbour e nunca mais o cliente reclamou!

Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
GustavoAvila
Usuário Nível 1
Usuário Nível 1
Mensagens: 8
Registrado em: 26 Out 2015 13:10
Localização: Salvador/Bahia

Relogio Sistema atrasando em relação relogio computador

Mensagem por GustavoAvila »

Obrigado a todos por doar um pouco do seu tempo em solidariedade aos colegas desesperados.

Toledo, segui a sua dica e fiz o executavel que voce sugeriu. Olhe o resultado, que loucura.
20151027_151508_resized.jpg
Na tentativa de descobrir alguma pista, removi o dos2usb da memoria e Voila, voltou ao normal.
O que devo fazer????
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Relogio Sistema atrasando em relação relogio computador

Mensagem por Toledo »

GustavoAvila escreveu: removi o dos2usb da memoria e Voila, voltou ao normal
Gustavo, o melhor a fazer seria converter o seu programa Clipper para Harbour, assim você não teria mais que usar o DOS2USB.

Veja este tutorial:
Migrar Clipper para Harbour

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Relogio Sistema atrasando em relação relogio computador

Mensagem por asimoes »

Não é um problema no seu sistema, as aplicações dos (clipper) rodando no windows não tem a mesma sincronia de um sistema win32, você só vai resolver isso migrando para o harbour.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Relogio Sistema atrasando em relação relogio computador

Mensagem por JoséQuintas »

Eu ainda acho estranho isso.
Vou criar um programa teste aqui.
Desconfio de uma coisa.
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

Relogio Sistema atrasando em relação relogio computador

Mensagem por JoséQuintas »

teste aí. só mostra time() no centro da tela.
clipper 5.2 + rtlink + oslib
O fonte é este:

Código: Selecionar todos

CLS
DO WHILE .T.
   nKey := Inkey()
   IF nKey == 27
      EXIT
   ENDIF
   @ 12, 20 SAY Time()
   OL_Yield()
ENDDO
RETURN
Só aproveitando.... uso da CPU usando OSLIB: ZERO
Anexos
xposlib.png
test.zip
(71.67 KiB) Baixado 310 vezes
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
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

Relogio Sistema atrasando em relação relogio computador

Mensagem por Eolo »

José Quintas, não sei se o Gustavo já ouviu falar da OSLIB, então me permita complementar o seu post.
Gustavo, quando vc roda um EXE criado com o Clipper, o uso da CPU gruda nos 100% e não sai de lá, o que, óbvio, prejudica tudo. Eu mesmo já apanhei com isso, tempos atrás, quando a impressão LPT1 só saía quando eu fechava o EXE...

Pra resolver, basta fazer o que o José Quintas indicou: insira uma linha com OL_Yield(),no início do seu programa principal e, na hora de linkar, inclua a OSLIB.lib (que contém a função).

Fim do 100% de uso da CPU, que é o que parece estar encrencando a DOS2USB e o relógio.
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Relogio Sistema atrasando em relação relogio computador

Mensagem por asimoes »

Sincronizar o horário do windows (via prompt cmd)

►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Relogio Sistema atrasando em relação relogio computador

Mensagem por JoséQuintas »

Pequena correção na informação do Eolo:

Código: Selecionar todos

OL_AutoYield(.T.)
OL_Yield()
OL_AutoYield( .T. ) é pra liberação automática, é este que se coloca no início do programa. Libera até onde não tem uso de teclado, como numa reindexação.

OL_Yield() libera a cada chamada. No fonte acima, uma vez que vai ficar parado, nada melhor do que liberar o máximo de CPU pra Windows e outros programas. Talvez até melhor para que a tela seja atualizada, ou para que a impressão aconteça. Talvez ajude no relógio, caso o Clipper esteja atrapalhando por usar 100% de CPU.
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/
Responder