Danielmzs Posted May 24, 2013 at 03:21 PM Report #508847 Posted May 24, 2013 at 03:21 PM Bom dia pessoal, Sou novo aqui dei uma pesquisada mas estou perdido hehe. Estou na faculdade e estou com um projetinho , temos que fazer em c# um programinha para vendas. A parte visual tem 5 textbox e um comboBox, e cada um desses textboxs eu preciso passar para um arquivo.txt. O problema é que toda vez que eu digito ele apaga o conteudo anterior do txt e coloca o novo. O ideal era colocando as novas informações abaixo das antigas. Alguem sabe oq fazer? vou passar o codigo todo: lembrando que esta parte: Txt.WriteLine(CmpRSocial.Text + "**" + CmpRSocial.Text + "**" + CmpEnd.Text + "**" + CmpCity.Text + "**" + CmpCep.Text + "**" + ComboBox1.Text); cada um desses cmp, ou o combobox são os nomes das textbox. Obrigado amigos. namespace Gestão_de_pedidos_de_vendas { public partial class TelaCliente : Form { public TelaCliente() { InitializeComponent(); } string[,] cliente = new string[100, 6]; private void TelaCliente_Load(object sender, EventArgs e) { StreamWriter sw = new StreamWriter("C:\\temp/cadastrocliente.txt", false, Encoding.UTF8); for (int i = 0; i < 100; i++) { cliente[i, 0] = CampoCodigo.Text; cliente[i, 1] = CmpRSocial.Text; cliente[i, 2] = CmpEnd.Text; cliente[i, 3] = CmpCity.Text; cliente[i, 4] = CmpCep.Text; cliente[i, 5] = ComboBox1.Text; } ComboBox1.Items.Insert(0, "SP"); ComboBox1.Items.Insert(1, "SC"); ComboBox1.Items.Insert(2, "MG"); ComboBox1.Items.Insert(3, "BA"); ComboBox1.Items.Insert(4, "RJ"); ComboBox1.Items.Insert(5, "MA"); ComboBox1.Items.Insert(6, "AC"); ComboBox1.Items.Insert(7, "GO"); ComboBox1.Items.Insert(8, "US"); } private void BtnGra_Click(object sender, EventArgs e) { { StreamWriter Txt = new StreamWriter("C:\\temp/cadastrocliente.txt", false, Encoding.UTF8); Txt.WriteLine(CmpRSocial.Text + "**" + CmpRSocial.Text + "**" + CmpEnd.Text + "**" + CmpCity.Text + "**" + CmpCep.Text + "**" + ComboBox1.Text); Txt.Close(); } }
Natália Oliveira Posted May 24, 2013 at 03:31 PM Report #508855 Posted May 24, 2013 at 03:31 PM (edited) Olá Daniel tudo bem?? cada um desses textboxs eu preciso passar para um arquivo.txt. O problema é que toda vez que eu digito ele apaga o conteudo anterior do txt e coloca o novo. Cada informação de cada textbox tem que estar em um arquivo diferente como você disse ou podem ser no mesmo arquivo porém em linhas diferentes? Porque em seu codigo você esta colocando todas as informações de todos os textbox em um mesmo arquivo, e aparentemente um esta sobrescrevendo o outro Edited May 24, 2013 at 03:33 PM by Natália Oliveira 1 Report
pikax Posted May 24, 2013 at 03:46 PM Report #508861 Posted May 24, 2013 at 03:46 PM o problema esta' no construtor da stream StreamWriter Txt = new StreamWriter("C:\\temp/cadastrocliente.txt", false, Encoding.UTF8); o construtor que estas a utilizar tem 3 argumentos: path, append e Encoding. O path esta' correcto, porque e' o caminho do ficheiro. O append esta' errado(para o que tu queres), ao meteres o append a false, ele ira' apagar o conteudo do ficheiro, se pusseres a true ele ira' acrescentar no final do ficheiro. O encoding esta' correcto(penso..) Basicamente podes fazer isto: StreamWriter Txt = new StreamWriter("C:\\temp/cadastrocliente.txt", true, Encoding.UTF8); 1 Report Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
Danielmzs Posted May 24, 2013 at 03:48 PM Author Report #508862 Posted May 24, 2013 at 03:48 PM Olá Daniel tudo bem?? Cada informação de cada textbox tem que estar em um arquivo diferente como você disse ou podem ser no mesmo arquivo porém em linhas diferentes? Porque em seu codigo você esta colocando todas as informações de todos os textbox em um mesmo arquivo, e aparentemente um esta sobrescrevendo o outro Olá! Então eu quero colocar todas as informações em um mesmo arquivo.txt, como eu vou cadastrar varios clientes , dentro deste arquivo terá um conjunto de 5 campos(nome, endereço etc) de cada cliente. você sabe o que fazer? Obrigado!!! o problema esta' no construtor da stream StreamWriter Txt = new StreamWriter("C:\\temp/cadastrocliente.txt", false, Encoding.UTF8); o construtor que estas a utilizar tem 3 argumentos: path, append e Encoding. O path esta' correcto, porque e' o caminho do ficheiro. O append esta' errado(para o que tu queres), ao meteres o append a false, ele ira' apagar o conteudo do ficheiro, se pusseres a true ele ira' acrescentar no final do ficheiro. O encoding esta' correcto(penso..) Basicamente podes fazer isto: StreamWriter Txt = new StreamWriter("C:\\temp/cadastrocliente.txt", true, Encoding.UTF8); Vou testar aqui e ver o que acontece! já te aviso! muito obrigado pela ajuda!
Danielmzs Posted May 24, 2013 at 04:00 PM Author Report #508871 Posted May 24, 2013 at 04:00 PM o problema esta' no construtor da stream StreamWriter Txt = new StreamWriter("C:\\temp/cadastrocliente.txt", false, Encoding.UTF8); o construtor que estas a utilizar tem 3 argumentos: path, append e Encoding. O path esta' correcto, porque e' o caminho do ficheiro. O append esta' errado(para o que tu queres), ao meteres o append a false, ele ira' apagar o conteudo do ficheiro, se pusseres a true ele ira' acrescentar no final do ficheiro. O encoding esta' correcto(penso..) Basicamente podes fazer isto: StreamWriter Txt = new StreamWriter("C:\\temp/cadastrocliente.txt", true, Encoding.UTF8); Funcionou aqui certinho! Muito Obrigado mesmo! Só um detalhe já tranformou o programa. Agora eu precisava saber se existe alguma possibilidade de sempre que eu abrir o programa , as TextBoxs consigam capturar do arquivo.txt as informações dos clientes, e quando eu apertasse o botão "avancar" ele trocasse todos os valores para os valores do proximo cliente armazenado. Consigo fazer isso? Desde já agradeço !!!
pikax Posted May 24, 2013 at 04:01 PM Report #508873 Posted May 24, 2013 at 04:01 PM E' muito parecido com o que fizeste, mas em vez do StreamWrite usas o StreamReader 1 Report Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
Danielmzs Posted May 24, 2013 at 04:29 PM Author Report #508879 Posted May 24, 2013 at 04:29 PM E' muito parecido com o que fizeste, mas em vez do StreamWrite usas o StreamReader Eu tentei fazer olhando o writer : cheguei neste resultado. { //Abre o arquivo para gravação //Parâmetros: nome do arquivo, não adicionar, usar acentuação StreamReader Txt = new StreamReader("C:\\temp/cadastrocliente.txt", Encoding.UTF8); CmpRSocial.Text=Txt.ReadLine(); //nesta parte que está dando erro, não estou conseguindo por no CmpRSocial o que está escrito no arquivo.txt. Txt.Close(); Muito pbrigado pela ajuda! eu sou muito novato em c# não sei quase nada hehe
pikax Posted May 24, 2013 at 04:34 PM Report #508881 Posted May 24, 2013 at 04:34 PM da' uma olhada neste link http://msdn.microsoft.com/en-us/library/system.io.streamreader.readline.aspx Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
legd1991 Posted May 25, 2013 at 04:34 PM Report #508982 Posted May 25, 2013 at 04:34 PM Eu tentei fazer olhando o writer : cheguei neste resultado. { //Abre o arquivo para gravação //Parâmetros: nome do arquivo, não adicionar, usar acentuação StreamReader Txt = new StreamReader("C:\\temp/cadastrocliente.txt", Encoding.UTF8); CmpRSocial.Text=Txt.ReadLine(); //nesta parte que está dando erro, não estou conseguindo por no CmpRSocial o que está escrito no arquivo.txt. Txt.Close(); Muito pbrigado pela ajuda! eu sou muito novato em c# não sei quase nada hehe Tenta desta forma: using(StreamReader reader = new StreamReader("C:\\temp/cadastrocliente.txt")) { string line; while((line = reader.ReadLine()) != null) { textBox1.Text = line; } reader.Close(); }
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now