Servidor NTP para harbour 3.0

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Servidor NTP para harbour 3.0

Mensagem por cjp »

Está dando este erro na compilação:

Imagem
Inacio de Carvalho Neto
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Servidor NTP para harbour 3.0

Mensagem por fladimir »

Adiciona no início do teu PRG

#include "hbcompat.ch"

[]´s
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Servidor NTP para harbour 3.0

Mensagem por cjp »

Incluí, mas ainda está dando este erro:

Imagem
Inacio de Carvalho Neto
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Servidor NTP para harbour 3.0

Mensagem por Toledo »

cjp, observando a sua mensagem do dia 07/fev notei que você tentou compilar o código que o Rochinha postou neste tópico. Bom, se você observar a primeira linha do código do Rochinha, o código dele é para compilar com a FiveWin, então se o seu programa é modo console, não se pode misturar código FiveWin com código modo console.

E em toda mensagem de erro, é indicado em qual arquivo e em que linha ocorreu o erro, então é interessante verificar o arquivo/linha para ver o que pode estar errado.

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
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Servidor NTP para harbour 3.0

Mensagem por cjp »

Verdade que eu tentei compilar o código do Rochinha, Toledo.

Mas esta última postagem refere-se ao código do Fladimir, que me mandou incluir o #include...

O problema da linha do erro é que eu não entendo a função dele, pois foi feita em C, e por isso não sei a razão de estar dando erro. Só posso dizer que a linha 25562, a primeira que indica erro, está assim:

Código: Selecionar todos

 <span class="u0vunm125r" id="u0vunm125r_18">Local</span> cRet := "", cPagina := ""
Inacio de Carvalho Neto
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Servidor NTP para harbour 3.0

Mensagem por Toledo »

cjp, verifique se você copiou corretamente o código do Fladimir.

No código do Fladimir está assim:

Código: Selecionar todos

Local cRet := "", cPagina := ""
E você copiou:

Código: Selecionar todos

<span class="u0vunm125r" id="u0vunm125r_18">Local</span> cRet := "", cPagina := ""
Bom, este código <span class="u0vunm125r" id="u0vunm125r_18"> e </span> são comandos HTML, então tem que ver como foi que você copiou o código do Fladimir, pois estes códigos HTML nem existem aqui no script do fórum.

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
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Servidor NTP para harbour 3.0

Mensagem por cjp »

De fato, Toledo, acho que houve algum erro na hora de copiar, possivelmente algum vírus no computador do meu trabalho, pois eu copiei usando a opção de cópia do próprio site, não sei porque foi inserido esse código de spam.

Fiz nova cópia agora e não deu mais erro nessa linha.

Mas ainda está dando erro:

Imagem

A linha 25646 está assim:

Código: Selecionar todos

  TRY
Inacio de Carvalho Neto
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Servidor NTP para harbour 3.0

Mensagem por Toledo »

cjp, conforme orientação do Fladimir, você tem que colocar #include "hbcompat.ch" no início do arquivo onde está o código que você copiou da mensagem dele.

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
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Servidor NTP para harbour 3.0

Mensagem por cjp »

Eu achei que era para incluir na função main(). Mas agora incluí na pegadthrbrasilia() e compilou.

Deu um erro de execução por falta de definição da variável CRLF. Eu a defini como "" para testar, e funcionou.

Mas a variável cPagina está vazia. Por isso, cMes está retornando NIL. E está dando erro no parâmetro + na seguinte linha:

Código: Selecionar todos

  cData := cDia+"/"+cMes+"/"+cAno
Além disso, cDia está retornando 08, não sei porque (hoje não é dia 8).
Inacio de Carvalho Neto
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Servidor NTP para harbour 3.0

Mensagem por fladimir »

Posta teu código inteiro pra avaliarmos e ver se conseguimos te ajudar.

[]´s
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Servidor NTP para harbour 3.0

Mensagem por rochinha »

Amiguinhos,

1-O código que postei contém uma série de funções para diversos usos e portanto podem ser recortados e colados no seu .prg para obter algum resultado.
2-O fato de aparecer conteúdo .hmtl no momento da compilação se deve a muita sugeira nos temporários, deve ser feita uma limpeza com CCleaner.
3-A variavel CRLF deve ser definida como #define CRLF chr(13)+chr(10).
4-O erro de aparecer numero 8 na variavel cDia, voce deve colocar no inicio do .prg SET DATE BRIT.
5-O erro de parametro + acontece porque alguma variável da concatenação esta vazia, teste primeiro com:

Código: Selecionar todos

?"cDia",cDia,"cMes",cMes,"cAno",cAno
cData := cDia+"/"+cMes+"/"+cAno
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Servidor NTP para harbour 3.0

Mensagem por Toledo »

cjp escreveu:Deu um erro de execução por falta de definição da variável CRLF. Eu a defini como "" para testar, e funcionou.
cjp, no início do seu PRG incluir:

Código: Selecionar todos

Private CRLF := CHR(13) + CHR(10)
cjp escreveu:Mas a variável cPagina está vazia.
Não pode estar vazia, pois senão não entraria no If cTexto $ cPagina, onde está a linha que você disse que está com erro. Mas acho que basta declarar o CRLF no início do arquivo que já resolve.

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
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Servidor NTP para harbour 3.0

Mensagem por cjp »

Toledo, defini a CRLF, mas não mudou nada. A cPagina ainda está vazia.

Mas agora eu vi que eu estava testando a cPagina depois de

Código: Selecionar todos

  cPagina := Substr(cPagina,At(CRLF,cPagina)+4)
Quando testo antes, cPagina está assim:

Imagem

Então, acho que realmente o problema é na CRLF.

Mas note que a data está errada, aparentemente seria um erro do próprio site, não? Se bem que, consultando o site diretamente, a data está certa.

Rochinha,

A set date brit já está definida no início do prg.

A variável que está vazia é a cMes.
Inacio de Carvalho Neto
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Servidor NTP para harbour 3.0

Mensagem por rochinha »

Amiguinho,

Não sei se o Harbour tem, mas em Clipper tinhas umas funções que se passava um data e retornava o nome do mês. O contrário eu não lembro, mas voce deverá montar uma critica que pega o nome do mês e retorna o número dele, tipo:

Código: Selecionar todos

NumeroDoMes := ASCAN( { "janeiro", "fevereiro", ..., "dezembro" }, lower(NomeDoMes) ) 
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
Nascimento
Usuário Nível 4
Usuário Nível 4
Mensagens: 763
Registrado em: 19 Jul 2008 12:11
Localização: OLINDA-PE

Servidor NTP para harbour 3.0

Mensagem por Nascimento »

Boa Noite a Todos!

Amigo Cpj nao precisa vc mandar o cliente atualizar a hora pois tem comandos na biblioteca hbct que faz isso automaticamente
SetDate() e Settime() // se nao me foge a memoria
por isso eu so precisava de uma funçao que pinga-se um dns valido a do rochinha parece muito boa mais nao tive tempo de testar

mais basicamente pra completar a funçao que os amigos toledo ,fladmir, assimoes ,rochinha etc.. fizeram eu precisaria de pingar um dns tipo 8.8.8.8 (dns google)

supondo seria mais ou menos assim

vdns:=" 8.8.8.8 "

if ping(vdns)
execultantp() // executaria a funçao pra pegar a hora via servidor ntp
else
alert(' Verifique a Conexão com A internet ')
endif

Onde a funçao ping pegaria o dns como paramentro e mandaria de retorno .t. ou .f.

esta funçao ping (nome sugerido ) é a que eu precisaria pra resolver todo o problema :%

agradeço a Todos que se empenham a Ajudar e a Manter esse Forum um dos melhores em clipper/harbour
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
Responder