/// <summary> /// Retorna as palavras do texto. /// </summary> /// <param name="url"></param> /// <returns></returns> private static List<string> LerPalavrasTexto(string arquivo) { List<string> listPalavras = new List<string>(); System.IO.StreamReader texto = new System.IO.StreamReader(arquivo); string linha = ""; while (true) { linha = texto.ReadLine(); if (linha != null) { listPalavras.AddRange(CarregarListString(linha, ' ')); } else { break; } } return listPalavras; }
private void writeCSVMedidasPorControlador(List<IndArController> controllers) { foreach (IndArController controller in controllers) { StringBuilder csv = new StringBuilder(); // Cabeçalho csv.AppendLine("\"" + String.Join("\";\"", new string[] { "Nome da Medida", "Numero de Medicoes Total", "Numero de Medicoes com Erro Grosseiro", "Tem Erro Grosseiro", "indicador Medicoes Com Erro Grosseiro", "Tem Valor Estimado", "Periodo Total", "Periodo de Convergencia Estimador", "indicador Convergencia do Estimador" } ) + "\";" ); foreach (Medida medida in controller.Medidas) { csv.AppendLine( String.Join("\";\"", new object[] { medida.Grandeza.Name, medida.NumeroDeMedicoesTotal, medida.NumeroDeMedicoesComErroGrosseiro, medida.TemErroGrosseiro ? "sim" : "nao", medida.indMedicoesComErroGrosseiro, medida.TemValorEstimado ? "sim" : "nao", medida.PeriodoTotal, medida.PeriodoDeConvergenciaEstimador, medida.indConvergenciaDoEstimador } ) + "\";" ); } File.WriteAllText(@"indicador medidas data " + controller.start.ToString("yyyyMMdd") + ".csv", csv.ToString()); } }
private void writeCSVIndicadores(List<IndArController> controllers) { StringBuilder csv = new StringBuilder(); // Cabeçalho csv.AppendLine("\"" + String.Join("\";\"", new string[] { "Data de Início", "Data de Fim", "Intervalo", "Numero de Medicoes Total", "Numero de Medicoes Com E.G.", "Indicador Medicoes Com E.G.", "Numero de Medidas Total", "Numero de Medidas com E.G.", "Numero de Medidas Estimadas", "Indicador de Medidas com E.G.", "Indicador de Medidas Estimadas", "Periodo de Convergencia", "Periodo Total", "Indicador de Convergencia", "Indicador Global" } ) + "\";" ); foreach (IndArController controller in controllers) { csv.AppendLine( String.Join("\";\"", new string[] { controller.start.ToString(), controller.end.ToString(), controller.interval.ToString(), controller.NumeroTotalDeMedicoes.ToString(), controller.NumeroDeMedicoesComErroGrosseiro.ToString(), controller.IndicadorMedicoesComErroGrosseiro.ToString(), controller.NumeroTotalDeMedidas.ToString(), controller.NumeroDeMedidasComErroGrosseiro.ToString(), controller.NumeroDeMedidasEstimadas.ToString(), controller.IndicadorMedidasComErroGrosseiro.ToString(), controller.IndicadorMedidasEstimadas.ToString(), controller.PeriodoDeConvergenciaDoEstimador.ToString(), controller.PeriodoTotalDaAmostra.ToString(), controller.IndicadorDeConvergenciaDoEstimador.ToString(), controller.IndicadorGlobal.ToString() } ) + "\";" ); } File.WriteAllText(@"indicadores.csv", csv.ToString()); }
private string CalculosTeste(List<GrandezaDE> listaGrandezas, List<AnalogicDataRegisterDE> listaAnalogicos) { StringBuilder ret = new StringBuilder(); List<string> TiposDeMedidas = listaGrandezas.Select(l => l.MeasureUnit).Distinct().ToList(); foreach (var tipoMedida in TiposDeMedidas) { var listaGrandezaMedida = listaGrandezas.Where(l => l.MeasureUnit == tipoMedida); var listaAnalogicosMedida = listaAnalogicos.Where(a => listaGrandezaMedida.Any(g => g.Name == a.Name)); int countNumeroDeGrandezas = listaAnalogicosMedida.Count(); int countNumeroEstimadas = listaAnalogicosMedida.Count(a => a.Estimated != 0); int countNumeroErroGrosseiro = listaAnalogicosMedida.Count(a => a.GrossError); ret.AppendFormat("\n Medida:{0}\n Número de Grandezas: {1}\n Número de Estimadas: {2}\n Número com Erro Grosseiro: {3}\n +++", tipoMedida, countNumeroDeGrandezas, countNumeroEstimadas, countNumeroErroGrosseiro); } return ret.ToString(); }
private void button5_Click(object sender, EventArgs e) { // Iniciando lista de controladores List<IndArController> controllers = new List<IndArController>(); // Datas dos casos bases List<DateTime> datasInicioCasosBase = new List<DateTime>() { new DateTime(2013, 05, 31), new DateTime(2013, 07, 30), new DateTime(2013, 08, 29), new DateTime(2013, 12, 12) }; // Fazendo a Iteração para a criação de cada um dos controladores por data foreach (DateTime corrente in datasInicioCasosBase) { // Criando os controladores para cada uma das datas // de caso base. Iniciando às 0hs até 05:00, de 1 em // 1 minutos de processamento. IndArController controller = new IndArController( corrente, corrente.AddHours(5), new TimeSpan(0, 1, 0) ); controller.Process(); // Adicionando o controlador à lista de controladores controllers.Add(controller); } // Esta função escreve os dados dos controladores // da lista para uma estrutura de planilhas eletrônicas writeCSVIndicadores(controllers); // Esta função escreve os dados das medidas de cada controlador // em uma planilha separada writeCSVMedidasPorControlador(controllers); this.Close(); }
private void button4_Click(object sender, EventArgs e) { // Iniciando lista de controladores List<IndArController> controllers = new List<IndArController>(); // Iniciando datas de início e fim da aquisição DateTime Inicio = new DateTime(2013, 1, 01); DateTime Fim = Inicio.AddDays(600); // Determinando o intervalo entre as datas dos controladores TimeSpan intervalo = new TimeSpan(15, 0, 0, 0); // Fazendo a Iteração para a criação de cada um dos controladores por data for (DateTime corrente = Inicio; corrente < Fim; corrente = corrente.Add(intervalo)) { // Determinando o controlador na data corrente, // com 5 minutos de processamento IndArController controller = new IndArController(corrente, corrente.AddMinutes(5)); controller.Process(); // Adicionando o controlador à lista de controladores controllers.Add(controller); } // Esta função escreve os dados dos controladores // da lista para uma estrutura de planilhas eletrônicas writeCSVIndicadores(controllers); this.Close(); }