Beispiel #1
0
        internal static DatosTiempo procesar(string data)
        {
            string datos = GetSubString(data, "<input type=\"hidden\" id=\"opacua\" value=\"Nombre de la Estación: OPACUA", "\">");

            // Si no hay conexión abortar
            if (datos == null)
            {
                return(null);
            }

            try
            {
                // Obtenemos los datos
                DatosTiempo datosTiempo = new DatosTiempo();
                string      fecha       = GetSubString(datos, "Fecha: ", "\r\n");
                datosTiempo.fecha = DateTime.Parse(fecha);
                string estado = GetSubString(datos, "ESTADO DEL TIEMPO : ", " <br>");
                datosTiempo.estado = estado;
                string temperatura = GetSubString(datos, "TEMPERATURA AIRE : ", " ºC<br>");
                datosTiempo.temperatura = Double.Parse(temperatura, CultureInfo.InvariantCulture);
                return(datosTiempo);
            }
            catch (Exception e)
            {
                return(null);
            }
        }
Beispiel #2
0
        private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            DatosTiempo datosTiempo = ProcesadorDatos.procesar(data);

            datosTiempo.estadoCarretera = dataCarretera;
            if (datosTiempo == null)
            {
                writeError("Datos no válidos");
            }
            else
            {
                if (datosTiempo.fecha != anterior.fecha)
                {
                    anterior = datosTiempo;
                    chart1.Series[0].Points.AddXY(datosTiempo.fecha.TimeOfDay + "\n" + datosTiempo.estado + "\n" + datosTiempo.estadoCarretera, datosTiempo.temperatura);
                    if (datosTiempo.estado.Contains("NIEVE"))
                    {
                        chart1.Series[0].Points.Last().Color = Color.Blue;
                    }
                    else
                    {
                        chart1.Series[0].Points.Last().Color = Color.Red;
                    }
                    puntos.Add(datosTiempo);
                    write("Recibido: " + datosTiempo.ToString());
                }
                else
                {
                    write("Datos duplicados " + datosTiempo.ToString());
                }
            }
        }