Jump to content

Recommended Posts

Posted

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();

}

}

Posted (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 by Natália Oliveira
  • Vote 1
Posted

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);
  • Vote 1

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."

Posted

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!

Posted

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 !!!

Posted

E' muito parecido com o que fizeste, mas em vez do StreamWrite usas o StreamReader

  • Vote 1

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."

Posted

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

Posted

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."

Posted

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();
}

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.