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); } }
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()); } } }