Widget de clima

222 views
Skip to first unread message

Carlos Eduardo CEF

unread,
Nov 14, 2022, 10:00:53 PM11/14/22
to Comunidad de Visual Foxpro en Español
Hola a todos. Consulto si alguien accede a alguna API de Clima y puede compartir el codigo o publicar algun Link de algun artículo para acceder al clima de una localidad desde Visual FoxPro. Gracias !

Oscar Bonet

unread,
Nov 15, 2022, 10:06:26 AM11/15/22
to publice...@googlegroups.com
Sería interesante conocer que alguien nos indicara como hacer e incluir en la ventana principal de la aplicación un Widget  ?
att

Oscar Bonet

El lun, 14 nov 2022 a las 22:00, Carlos Eduardo CEF (<cfran...@gmail.com>) escribió:
Hola a todos. Consulto si alguien accede a alguna API de Clima y puede compartir el codigo o publicar algun Link de algun artículo para acceder al clima de una localidad desde Visual FoxPro. Gracias !

--
Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/a70ce0cb-13f4-48f7-906c-d587a97b0e60n%40googlegroups.com.


PBX: (+57) 601 4187884 
Móvil: (+57) 3156497484, 3182932952 y 3182954688
Correo electrónico: e-facturas@cialta.com para la recepción de facturas electrónicas de proveedores.
Correo electrónico facturas...@cialta.com  para envío de notificaciones de aceptación o rechazos de facturas emitidas por Cialta.


INFORMACION IMPORTANTE PARA CLIENTES Y PROVEEDORES - GRANDES CONTRIBUYENTE DISTRITALES:
LA COMPAÑIA INTERNACIONAL DE ALIMENTOS AGROPECUARIOS CIALTA S.A.S. con Nit.830046757-6 informamos que según la resolución No.DDI-023769 del 29 de noviembre del 2021 que hemos sido calificados como GRANDES CONTRIBUYENTES DISTRITALES a partir del 1 de enero de 2022. 
Ver documento oficial en el siguiente enlace:   https://drive.google.com/file/d/1b8mYbTN_CByQEDNNZJOIyqF5kJ7PV-GM/view?usp=sharing


FACTURACION ELECTRONICA:
De conformidad con el decreto 2242 de Noviembre de 2015, nuestra Compañía implementó la Facturación Electrónica y según comunicado 100202211-410 del 29 de Junio de 2018 emitido por la DIAN, inició a partir del 1 de diciembre de 2018 para la emisión de la factura electrónica; en consecuencia, hemos destinado la cuenta de correo electrónico: e-fac...@cialta.com para recepción y emisión de facturas electrónicas.

HABEAS DATA - PROTECCION DE DATOS PERSONALES
Habeas Data: La Compañía Internacional de Alimentos Agropecuarios CIALTA S.A.S. cumple con los requerimientos de la Superintendencia de Industria y Comercio de Colombia sobre el manejo de información de datos personales, lo cual implica tener políticas claras de tratamiento de Base de Datos que usted puede consultar haciendo clic en: Políticas Habeas Data
Si desea tener más información sobre el particular, puede escribirnos al correo habea...@cialta.com


Alejandro García Garay

unread,
Nov 16, 2022, 10:26:36 AM11/16/22
to Comunidad de Visual Foxpro en Español
Aunque el articulo es algo viejo, puede que te ayude a pensar en algo similar, tal vez, buscando un nuevo enlace. Te paso el enlace:

Carlos Eduardo CEF

unread,
Nov 16, 2022, 10:42:30 AM11/16/22
to publice...@googlegroups.com
Es del 2012
Si, lo habia visto, pero el Blog al que el autor hace referencia ya no existe y aun modificando el codigo, la Página web que informa o modificó la API o directamente ya no tienen API pública.
Muchas gracias, igualmente Alejandro !

CEF

--
Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.

Victor Espina

unread,
Nov 16, 2022, 7:15:16 PM11/16/22
to Comunidad de Visual Foxpro en Español
Puedes usar OpenMeteo.  Aqui te dejo un código de ejemplo de como usarlo. Espero te sirva:

CLOSE ALL
CLEAR ALL
CLEAR

DO JSON  && https://github.com/vespina/json. ES NECESARIA LA ULTIMA VERSION

* UBICAMOS LA CIUDAD DENTRO DE LA BD DE OpenMeteo
LOCAL cCiudad
cCiudad = "Rancagua,Chile"

cURL="https://geocoding-api.open-meteo.com/v1/search?name=" + cCiudad
r = JSON.httpGet(cUrl,"","Accept: json")
IF r.hasError
   ?r.errormsg
   RETURN
ENDIF

IF TYPE("r.json.results.count") <> "N"
   ?"No se encontro la ciudad indicada"
   RETURN
ENDIF

r = r.json.results(1)   && Tomamos el primer resultado

?r.Name,r.admin1,r.admin2
?"Timezone:",r.timezone
?"Lat:",r.latitude, "Long:",r.longitude

* OBTENEMOS LA PREDICCION DEL TIEMPO
cURL = [https://api.open-meteo.com/v1/forecast?] + ;
       [latitude=] + ALLTRIM(STR(r.latitude,5,2)) + ;
       [&longitude=] + ALLTRIM(STR(r.longitude,5,2)) + ;
       [&timezone=] + r.timezone + ;
       [&hourly=temperature_2m]
       
r = JSON.httpGet(cUrl,"","Accept: json")
_CLIPTEXT = JSON.beautify(r)   && PARA DEPURACION EN CASO DE ERROR
IF r.hasError
   ?r.errormsg
   RETURN
ENDIF

* BUSCAMOS EN LOS RESULTADOS LA PREDICCION QUE CORRESPONDA A LA FECHA Y HORA ACTUAL
nTemp = 0
nCurTemp = 0
FOR i = 1 TO r.json.hourly.time.count
   tFecha = CTOT(r.json.hourly.time[i])
   IF tFecha > DATETIME()
      nCurTemp = nTemp
      EXIT
   ENDIF
   nTemp = r.json.hourly.temperature_2m[i]
ENDFOR
?"Temperatura actual:",nCurTemp,r.json.hourly_units.temperature_2m



Victor Espina

Carlos Eduardo CEF

unread,
Nov 16, 2022, 7:43:00 PM11/16/22
to publice...@googlegroups.com
Buenísimo Victor. El código tiene muy buena pinta. En cuanto pueda lo pruebo.
Parece que esta API no necesita KEY. Mejor todavía.
Muchas gracias !

CEF

--
Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.

Carlos Eduardo CEF

unread,
Jan 23, 2023, 7:42:52 AM1/23/23
to Comunidad de Visual Foxpro en Español
Hola Victor.
Gracias a tu ayuda pude construir un Widget visualmente muy atractivo y con el que quede muy conforme, pero no le encuentro solución a un problema.
Mediante un Timer efectúo las actualizaciones horarias, que es el minimo intervalo con que se refrescan los datos de Open Meteo.
Pero si alguna de esas actualizaciones fallan por problemas en la red, del sitio Open Meteo o lo que sea, si bien atajo el error mediante Try - catch y fuerzo cada unos minutos nuevamente la consulta me siguen apareciendo errores. He probado de Liberar el Objeto inclusive (mediante release) y no hay caso. Debo cerrar el ejecutable y ejecutarlo nuevamente para que la actualización y el funcionamiento sean perfectos hasta un nuevo error.
Has probado tu parsing JSON bajo circunstancias similares ?
Reply all
Reply to author
Forward
0 new messages