Ir para conteúdo
Entre para seguir isso  
Mad Mikey™

Ajuda C#

Publicações recomendadas

Será que alguém me pode ajudar?

 

Eu tou a fazer 1 trabalho em C#.

 

Uma biblioteca multimédia com listagem de filmes, musica e fotos em que o programa permite adicionar, apagar, alterar e emprestar.

 

O programa tá quase feito, faltando-me a parte dos empréstimos. O que eu pretendia era apagar, por exemplo, 1 linha do ficheiro filmes.txt e passar essa linha para o ficheiro emprestimos.txt e não tou a ver como fazer isso.

 

Alguém sabe? Alguma sugestão?

 

Se for preciso eu coloco aqui o código que tenho até ao momento

Compartilhar este post


Link para o post

Se calhar o mais fácil é usares ficheiros auxiliares, em que, p.e. copias o ficheiro filmes.txt e lês linha a linha no novo ficheiro, passas a linha pretendida para o ficheiro emprestimos.txt e as restantes para o filmes.txt (fazendo um overwrite ao ficheiro).

 

Não sei se existe algo no C# para retirar uma determinada linha

Editado por ZeroZeroPeras

Compartilhar este post


Link para o post

Eu sei C e C++. Agora C# não sei quais são as diferenças em relação a C e C++ por isso não serei o mais indicado para te ajudar. :confuso:

Editado por shelton

Compartilhar este post


Link para o post

Já consegui fazer isso, não acho que seja a forma mais facil, mas ficou a funcionar

 

{
           StreamReader erase = new StreamReader("filmes.txt");
           string carro;

           //lê a 1ª linha do ficheiro
           carro = erase.ReadLine();
           //continua a ler até o ficheiro não ter mais info
           int a = 0;
           while (carro != null)
           {
               a++;
               //escreve a 1ª linha na consola
               Console.WriteLine("{0}-> {1}", a, carro);
               //lê as restantes linhas
               carro = erase.ReadLine();
           }
           //fecha a streamreader apague
           erase.Close();
           Console.ReadLine();

           string line = null;
           int line_number = 0;
           string line1 = null;
           int line_number1 = 0;

           Console.WriteLine("Qual a linha que quer mover?");
           int mm = Convert.ToInt32(Console.ReadLine());

           using (StreamReader reader = new StreamReader("filmes.txt"))
           {


               using (StreamWriter writer = new StreamWriter("emprestimosfilmes.txt", true))
               {
                   while ((line = reader.ReadLine()) != null)
                   {


                       line_number++;

                       if (line_number != mm)

                           continue;

                       writer.WriteLine(line);


                   } writer.Close();
                   reader.Close();

               }


               using (StreamReader reader1 = new StreamReader("filmes.txt"))
               {
                   using (StreamWriter writer1 = new StreamWriter("filmes2.txt"))
                   {
                       while ((line1 = reader1.ReadLine()) != null)
                       {
                           line_number1++;

                           if (line_number1 == mm)
                               continue;

                           writer1.WriteLine(line1);
                       } writer1.Close();
                   }

               }


               File.Delete("filmes.txt");
               File.Move("filmes2.txt", "filmes.txt");

           }
       }

Compartilhar este post


Link para o post

Crie uma conta ou entre para comentar

Você precisa de ser membro desta comunidade para poder comentar

Criar uma conta

Registe-se na nossa comunidade. É fácil!

Criar nova conta

Entrar

Já tem uma conta? Faça o login.

Autentique-se agora
Entre para seguir isso  

  • Todo o Mundial 2026 no CMPT
  • Popular Agora

  • Outros membros neste tópico

    Nenhum utilizador registado está a visualizar esta página.

×
×
  • Criar Novo...