Previsao do tempo

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

Moderador: Moderadores

Adalberto
Usuário Nível 3
Usuário Nível 3
Mensagens: 343
Registrado em: 01 Set 2007 01:09
Localização: Santa Cruz de la Sierra - Bolivia

Previsao do tempo

Mensagem por Adalberto »

Caros amigos e amigas deste foro,

Em este foro, faz tempo, encontre uma função para a previsão do tempo, agora que necessito ler de novo esse tópico, não sei como achar ele, acredito que meu fraco português não alcança para buscar. Se alguém sabe onde posso encontrar esse tema, por favor, me ajude.

Aproveito este tópico para expressar, a cada um de vocês, meus sinceros desejos de prosperidade no novo ano; Deus nasceu como um de nós para redimir-nos, meu desejo e minha oração para que seus nomes sejam registrados no livro dos salvados e desfrutem de vida eterna.

[] Adalberto
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Previsao do tempo

Mensagem por fladimir »

Adalberto eu peguei aki no fórum o código postado abaixo, porém não esta funcionando mais, tipo na época funcionou, agora não funciona mais... eu não tive tempo pra analisar o pq, em todo caso segue o código q foi extraido do fórum, pelo q me lembro talvez tenha algumas leves modificações, mas nada drástico, no geral o código é o mesmo.

[]´s

Código:

Código: Selecionar todos

/********* * * * * *
* PrevisaoDoTempo 
*
* Parametro: string com o 'nome da cidade, estado'
*
* Retorno: hash com dados sobre o clima
*
* hash["CidadeBase"]       => Cidade localizada com este nome
* hash["CondicaoAtual"]    => Condição climatica atual na cidade
* hash["TemperaturaAtual"] => Temperatura atual na cidade
* hash["UmidadeAtual"]     => Umidade atual na cidade
* hash["VentoAtual"]       => Vento atual na cidade (direcao e velocidade)
* hash["aProximosDias"]    => Array com a previsao para os proximos dias
*  aProximosDias = { cDiaDaSemana, cTempMax, cTempMin, cCondicao }
*/

#include "hbxml.ch"

//------------------------------------------------------------------------------
FUNCTION PrevisaoDoTempo( cCidade )

	LOCAL oHttp, cXML, oXML
	LOCAL oCidade, oTemperatura, oUmidade, oVento, oCondicao
	LOCAL oPrevisao, oTagAtual, oIterator
	
	LOCAL cDia, cMax, cMin, cCond, i
	LOCAL aDias := {}
	
	LOCAL hDiasSemana      := HB_Hash()
	LOCAL hPrevisaoDoTempo := HB_Hash()
	
	IF !INetEstaConectada()
	   return
	Endif
	
	
	hDiasSemana["dom"] := "Domingo"
	hDiasSemana["seg"] := "Segunda-feira"
	hDiasSemana["ter"] := "Terçaa-feira"
	hDiasSemana["qua"] := "Quarta-feira"
	hDiasSemana["qui"] := "Quinta-feira"
	hDiasSemana["sex"] := "Sexta-feira"
	hDiasSemana["sáb"] := "Sábado"
	
	cCidade := StrTran( AllTrim( cCidade ), " ", "%20" )
	
	oHttp:= TIpClientHttp():new( "http://www.google.com/ig/api?weather="+cCidade+"&hl=pt-br" )
	IF ! oHttp:open()
	   RETURN 0
	ENDIF
	cXML := oHttp:readAll()
	oHttp:close()
	
	oXML := TXmlDocument():New( cXML )

	IF oXML:nError != HBXML_ERROR_NONE
	   RETURN 0
	ENDIF
	
	oCidade      := oXML:findfirst( "city" )
	oCondicao    := oXML:findfirst( "condition" )
	oTemperatura := oXML:findfirst( "temp_c" )
	oUmidade     := oXML:findfirst( "humidity" )
	oVento       := oXML:findfirst( "wind_condition" )
	
	oPrevisao := oXML:findfirst( "forecast_conditions" )
	IF oPrevisao == NIL
	   RETURN hPrevisaoDoTempo
	ENDIF
	
	DO WHILE .T.
	   oIterator := TXmlIterator():New( oPrevisao )
	   DO WHILE .T.
	      oTagAtual := oIterator:Next()
	      IF oTagAtual == NIL
	         aAdd( aDias, { cDia, cMin, cMax, cCond } )
	         EXIT
	      ELSE
	         IF oTagAtual:cName == "day_of_week"
	            cDia := oTagAtual:aAttributes[ "data" ]
	         ELSEIF oTagAtual:cName == "low"
	            cMin := StrZero( val( oTagAtual:aAttributes[ "data" ] ), 2 )
	         ELSEIF oTagAtual:cName == "high"
	            cMax := StrZero( val( oTagAtual:aAttributes[ "data" ] ), 2 )
	         ELSEIF oTagAtual:cName == "condition"
	            cCond := oTagAtual:aAttributes[ "data" ]
	         ENDIF
	      ENDIF
	   ENDDO
	   oPrevisao := oXML:findnext()
	   IF oPrevisao == NIL
	      EXIT
	   ENDIF
	ENDDO
	
	hPrevisaoDoTempo["CidadeBase"]       = oCidade:aAttributes[ "data" ]
	hPrevisaoDoTempo["CondicaoAtual"]    = oCondicao:aAttributes[ "data" ]
	hPrevisaoDoTempo["TemperaturaAtual"] = oTemperatura:aAttributes[ "data" ]
	hPrevisaoDoTempo["UmidadeAtual"]     = oUmidade:aAttributes[ "data" ]
	//hPrevisaoDoTempo["VentoAtual"]       = oVento:aAttributes[ "data" ]
	hPrevisaoDoTempo["aProximosDias"]    = {}
	FOR i:=1 to LEN( aDias )
	   AAdd( hPrevisaoDoTempo["aProximosDias"], { hDiasSemana[aDias[i][1]], aDias[i][3], aDias[i][2], aDias[i][4] } )
	NEXT
	
	If Len(hPrevisaodoTempo)>1
	//   @ 18,00 say 'Cidade..: ' + hPrevisaoDoTempo["CidadeBase"]         color('GR+/N')
	   @ 19,00 say 'Temperatura.....: ' + hPrevisaoDoTempo["TemperaturaAtual"] + '§' color('W*+')
	   @ 19,24 say '   '+hPrevisaoDoTempo["UmidadeAtual"]              COLOR("W*+")
	   @ 19,40 say '     Condicao: ' + hPrevisaoDoTempo["CondicaoAtual"]      color('W*+')
	   @ 19,67 say 'Fonte: Google'   color('W*+')
	//   @ 19,30 say hPrevisaoDoTempo["VentoAtual"]              COLOR("W*+")
	/*
	   x :=hPrevisaoDoTempo["aProximosDias"]
	   @ 06,0 say 'Proximos Dias'
	   @ 08,0 say 'Dia.......: ' + PADR( x[2,1], 23 , " ")   //+ 'Dia.....: ' + PADR( x[3,1], 22 , " ")
	   @ 09,0 say 'Maxima....: ' + PADR( x[2,2], 23 , " ")   //+ 'Maxima..: ' + PADR( x[3,2], 22 , " ")
	   @ 10,0 say 'Minima....: ' + PADR( x[2,3], 23 , " ")   //+ 'Minima..: ' + PADR( x[3,3], 22 , " ")
	   @ 11,0 say 'Condicao..: ' + PADR( x[2,4], 23 , " ")   //+ 'Condicao: ' + PADR( x[3,4], 22 , " ")
	*/   
	Endif
	inkey(0)
RETURN 
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
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Previsao do tempo

Mensagem por sygecom »

Olá Pessoal,
Para quem usa esse recurso do Google, fique esperto por que pelo que li vai ser desativado:
http://support.google.com/websearch/bin ... er=2664197
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Adalberto
Usuário Nível 3
Usuário Nível 3
Mensagens: 343
Registrado em: 01 Set 2007 01:09
Localização: Santa Cruz de la Sierra - Bolivia

Previsao do tempo

Mensagem por Adalberto »

Caros amigos,

Muito obrigado pela ajuda fornecida.

! Desfruten da alegria de viver ¡

[] Adalberto
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Previsao do tempo

Mensagem por fladimir »

Adalberto, deu certo? Pergunto pois o código q postei funcionava porém não estava funcionando mais ultimamente... vc mudou algo?

[]´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.
jamazevedo
Usuário Nível 3
Usuário Nível 3
Mensagens: 122
Registrado em: 29 Dez 2005 16:50
Localização: Manaus - AM

Previsao do tempo

Mensagem por jamazevedo »

Não está funcionando porque o Google tirou o serviço do ar.
______________________________________________________
Usando: Linux Ubuntu 18.04, Harbour 3.2.0dev r1811161533
______________________________________________________
José Airton de Menezes Azevedo
Manaus - AM
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Previsao do tempo

Mensagem por fladimir »

Puxa q pena né... será q tem outra forma?
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.
Responder