none
Ordernar dados em arquivo txt RRS feed

  • Pergunta

  • Amigos, boa tarde.

    Tenho um arquivo txt consigo abrir, manipular dados, porém neste arquivo tenho uma coluna com o nome Dt_Baixa e precisaria ordenar e pegar as 2 ultimas datas.

    Poderiam me ajudar?

    quarta-feira, 3 de dezembro de 2014 17:01

Respostas

  • Se você pode abrir, ler e manipular os dados, crie uma classe (SuaClasse) que possua as mesmas propriedades/colunas com os tipos específicos.

    Então, abra o arquivo, popule uma List<SuaClasse> com as informações desse txt.

    ordene e lista com LINQ (lst.OrderBy(o => o.Data)) e salve novamente o arquivo na ordem correta.

    Se dessa lista você precisar dos dois primeiros, faça um lst.Take(2).

    quinta-feira, 4 de dezembro de 2014 16:01
  • E ai conseguiu alguma coisa?
    sexta-feira, 5 de dezembro de 2014 11:40
  • Bom dia Filipe,

    Conseguiu alguma coisa ja, Vou deixar marcado até você voltar pra continuarmos te ajudando.

    Abraço


    Ricardo Cortes Microsoft Contingent Staff

    Esse contedo e fornecido sem garantias de qualquer tipo, seja expressa ou implicita.

    MSDN Community Support

    quinta-feira, 11 de dezembro de 2014 11:09
    Moderador

Todas as Respostas

  • Como está preenchendo este arquivo?

    Th3W4rl0ck

    quarta-feira, 3 de dezembro de 2014 17:43
  • Como esta sendo feita a leitura do arquivo? o arquivo possui delimitadores?
    quarta-feira, 3 de dezembro de 2014 17:51
  • fileName = @"c:\teste\ArquivoPronto_4153.txt"

    using(StreamWritersw = File.AppendText(fileName))

    {

    DateTimeDt_Arquivo = Convert.ToDateTime(Dt_Baixa);

    DateTimedata_g = System.DateTime.Now.AddDays(-2);

    if(Dt_Arquivo == data_g)

    {

    sw.WriteLine(CPF_CNPj);

    sw.WriteLine(Dt_Arquivo);

    Dg.Rows.Add(CPF_CNPj);

    }

    }

    segue o código para preencher o arquivo novo porém de dois dias atras..                                   

    quarta-feira, 3 de dezembro de 2014 18:13
  • Os seus campos possuem tamanho fixo?

    quarta-feira, 3 de dezembro de 2014 18:43
  • amigo,Mr. GMSOFT não possue tamanho fixo.

    quarta-feira, 3 de dezembro de 2014 19:06
  • Ai lascou, se não tem tamanho fixo e nem delimitadores vai ficar meio que difícil recuperar os dados para fazer essa comparação e reordenar as linhas
    quarta-feira, 3 de dezembro de 2014 20:28
  • ok, Mr. GMSOFT vou deixar tamanho fixo e ae?

    quinta-feira, 4 de dezembro de 2014 10:10
  • Com tamanho fixo você pode usar Substring na linha lida,separar os campos e depois comparar o campo data e regravar novamente no arquivo.

    Você entendeu mais ou menos a ideia?
    quinta-feira, 4 de dezembro de 2014 11:14
  • Se você pode abrir, ler e manipular os dados, crie uma classe (SuaClasse) que possua as mesmas propriedades/colunas com os tipos específicos.

    Então, abra o arquivo, popule uma List<SuaClasse> com as informações desse txt.

    ordene e lista com LINQ (lst.OrderBy(o => o.Data)) e salve novamente o arquivo na ordem correta.

    Se dessa lista você precisar dos dois primeiros, faça um lst.Take(2).

    quinta-feira, 4 de dezembro de 2014 16:01
  • E ai conseguiu alguma coisa?
    sexta-feira, 5 de dezembro de 2014 11:40
  • Bom dia Filipe,

    Conseguiu alguma coisa ja, Vou deixar marcado até você voltar pra continuarmos te ajudando.

    Abraço


    Ricardo Cortes Microsoft Contingent Staff

    Esse contedo e fornecido sem garantias de qualquer tipo, seja expressa ou implicita.

    MSDN Community Support

    quinta-feira, 11 de dezembro de 2014 11:09
    Moderador