Página 1 de 2

Relogio Sistema atrasando em relação relogio computador

Enviado: 26 Out 2015 14:56
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!!!! :|< :|< :|<

Relogio Sistema atrasando em relação relogio computador

Enviado: 26 Out 2015 16:27
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,

Relogio Sistema atrasando em relação relogio computador

Enviado: 26 Out 2015 17:18
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.

Relogio Sistema atrasando em relação relogio computador

Enviado: 26 Out 2015 17:32
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.

Relogio Sistema atrasando em relação relogio computador

Enviado: 26 Out 2015 18:25
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,

Relogio Sistema atrasando em relação relogio computador

Enviado: 27 Out 2015 09:50
por Kapiaba
Bom dia, teste com este também, e se possivel, mostre imagens, anexo o fonte e o executável:

Imagem

Abs

Relogio Sistema atrasando em relação relogio computador

Enviado: 27 Out 2015 15:13
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

Relogio Sistema atrasando em relação relogio computador

Enviado: 27 Out 2015 16:24
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????

Relogio Sistema atrasando em relação relogio computador

Enviado: 27 Out 2015 16:46
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,

Relogio Sistema atrasando em relação relogio computador

Enviado: 27 Out 2015 17:26
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.

Relogio Sistema atrasando em relação relogio computador

Enviado: 27 Out 2015 19:10
por JoséQuintas
Eu ainda acho estranho isso.
Vou criar um programa teste aqui.
Desconfio de uma coisa.

Relogio Sistema atrasando em relação relogio computador

Enviado: 27 Out 2015 19:21
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

Relogio Sistema atrasando em relação relogio computador

Enviado: 28 Out 2015 11:07
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.

Relogio Sistema atrasando em relação relogio computador

Enviado: 28 Out 2015 11:24
por asimoes
Sincronizar o horário do windows (via prompt cmd)


Relogio Sistema atrasando em relação relogio computador

Enviado: 28 Out 2015 12:06
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.