Auros ( ͡ʘ ͜ʖ ͡ʘ) 172 Posted November 4, 2014 Boa noite Cyber-Gamers! Hoje vou falar sobre a função split. Esta função irá ser muito útil na parte da Base de dados e de leitura de dados!, pois quem a vai ler é a maquina/programa. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Como a vou usar? SR = new StreamReader("Condominio.txt"); // vê se existe o ficheiro} string[] aux; // defenir variaveis, este aux vai auxiliar e "guardar" as variáveis de cada dado. int i = 0; while ((linha = SR.ReadLine()) != null) { aux = linha.Split(';'); // Linha.Split(';') podia ser Linha.Slip('-') moradores[i, 0] = aux[0]; moradores[i, 1] = aux[1]; moradores[i, 2] = aux[2]; moradores[i, 3] = aux[3]; i++; //faz o i aumentar até o parar mos de usar dentro do while.} Diferença no StreamWriter. Bem, como o StreamReader mudou, o StreamWriter também vai mudar. Ao mandar o programa guardar os dados na base de dados temos de colocar o ";" a separar os dados! Ou seja: SW.WriteLine(moradores[i, 0] + ";" + moradores[i, 1] + ";" + moradores[i, 2] + ";" + moradores[i, 3]); Tenho de usar esta função? Na minha opinião sim, pois quem vai ler a nossa base de dados vai ser o programa e não nos. Logo ele percebe tudo. Erro if (File.Exists("Condominio.txt")) { SR = new StreamReader("Condominio.txt"); int i = 0; while ((linhaFich = SR.ReadLine()) != null) { aux = linhaFich.Split(';'); moradores[i, 0] = aux[0]; moradores[i, 1] = aux[1]; moradores[i, 2] = aux[2]; moradores[i, 3] = aux[3]; i++; } SR.Close(); } else { StreamWriter SW = new StreamWriter("Condominio.txt"); for (int i = 0; i < 8; i++) { Console.WriteLine("nnIntroduza o " + (i + 1) + "º moradorn"); Console.Write("Nome: "); moradores[i, 0] = Console.ReadLine(); Console.Write("Apelido: "); moradores[i, 1] = Console.ReadLine(); Console.Write("Número de Porta: "); moradores[i, 2] = Console.ReadLine(); Console.Write("Contacto: "); moradores[i, 3] = Console.ReadLine(); } for (int i = 0; i < 8; i++) { Console.WriteLine("----------------------------------"); Console.WriteLine("Dados do " + (i + 1) + "º morador:"); Console.WriteLine("----------------------------------"); Console.WriteLine("Nome: " + moradores[i, 0]); Console.WriteLine("Apelido: " + moradores[i, 1]); Console.WriteLine("Número de Porta: " + moradores[i, 2]); Console.WriteLine("Contacto: " + moradores[i, 3]); SW.WriteLine(moradores[i, 0] + "." + moradores[i, 1] + "." + moradores[i, 2] + "." + moradores[i, 3]); } SW.Close(); O que esta mal neste codigo? ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Daqui a duas semanas começarei a falar aqui de Windows Form se tudo correr como eu planeio, não quero dar um passo maior que a perna, pois assim vocês não vão saber o básico e apenas "copiar" o código. Espero que tenham gostado e que deixem um feedback sobre a minha construção de tópicos, espero ter melhorado :)! Cumprimentos, AurosTC. 5 Origin., HomenDoNorte, Cσяvσ⋆ and 2 others reacted to this Share this post Link to post Share on other sites
яคƒคεł รεหค 238 Posted November 4, 2014 O erro é este: SW.WriteLine(moradores[i, 0] + "." + moradores[i, 1] + "." + moradores[i, 2] + "." + moradores[i, 3]); Visto que a separar os dados que vão ser guardados na base de dados têm que ser separados por um ";" Bons Tutoriais Continua :D 1 Auros ( ͡ʘ ͜ʖ ͡ʘ) reacted to this Share this post Link to post Share on other sites
Auros ( ͡ʘ ͜ʖ ͡ʘ) 172 Posted November 4, 2014 É isso :) Obrigado, e sim continuarei, farei de tudo para esta área crescer na cyber. 1 Origin. reacted to this Share this post Link to post Share on other sites
Guest Origin. Posted November 12, 2014 Sim senhor, tiveste meu +1. Share this post Link to post Share on other sites
Auros ( ͡ʘ ͜ʖ ͡ʘ) 172 Posted November 16, 2014 Bem, vou lançar o c10, esta semana espero conseguir colocar aqui windows form Share this post Link to post Share on other sites
NewWars 875 Posted November 16, 2014 Ao olhar para o codigo, o while ali usando podia ser substituido por um for, e a maneira que estás a usar as streams não estão mal más estão muito desleixadas... esse metodo com o i++ só vai consumir tempo e memoria desnecessariamente... Mas continua, vou ver o resto dos tuts que fizeste e comentar eles todos :) Fico muito feliz por ver finalmente alguem interessado em c# aqui! Cumprimentos. Share this post Link to post Share on other sites