COMO CRIAR E MOSTRAR UM HISTORICO

NADOLOKO 20/10/2012 19:53:23
#412414
Galera preciso de ajuda, sou novato em VB e por isso estou apanhando. Tenho que fazer um historico de tudo que o usuario digitar na textbox,e mostrar quando clico em um botão. Eis o codigo que eu fiz, que esta dando erro:

If My.Computer.FileSystem.FileExists([Ô]C:\Teste.txt[Ô]) Then
Dim escrever As New System.IO.StreamWriter([Ô]C:\Teste.txt[Ô])
escrever.WriteLine()
escrever.Close()
Else
Dim salvar As New SaveFileDialog
salvar.Filter = [Ô]Histórico|*.txt[Ô]
salvar.FileName = [Ô][Ô]
If salvar.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim escrever As New System.IO.StreamWriter(salvar.FileName)
escrever.Write(TXT_comando.Text)
escrever.Close()
End If


Como podem ver ele verifica se o arquivo teste.txt existe e insere nele, caso contrario ele cria um arquivo do tipo txt. O erro é o seguinte: quando digito algo na textbox e clico no botao onde consta o codigo acima (o arquivo teste.txt ja existe) ele insere somente a primeira vez, ou seja, a primeira frase ele salva e eu consigo visualizar depois, se eu for digitar algo para ser salvo abaixo do que escrevi antes, dá erro.

ALGUéM PODERIA ME AJUDAR?

Caso precisem, código que visualizo o arquivo é esse:

Dim file As String
file = [Ô]C:\Teste.txt[Ô]
Dim ler As New System.IO.StreamReader(file)
TextBox1.Text = ler.ReadToEnd
ALTAIR148 21/10/2012 09:55:02
#412424
Resposta escolhida
Bom dia,
Tente assim:

f My.Computer.FileSystem.FileExists([Ô]C:\Teste.txt[Ô]) Then
Dim escrever As New System.IO.StreamWriter([Ô]C:\Teste.txt[Ô], true)
escrever.WriteLine()
escrever.Close()
Else
Dim salvar As New SaveFileDialog
salvar.Filter = [Ô]Histórico|*.txt[Ô]
salvar.FileName = [Ô][Ô]
If salvar.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim escrever As New System.IO.StreamWriter(salvar.FileName)
escrever.Write(TXT_comando.Text)
escrever.Close()
End If

NADOLOKO 21/10/2012 20:26:08
#412447
Amigo não deu certo,

Não consigo encontrar o erro, mas acho que o problema esta no código onde mostro o teste.txt, por que quando escrevo na textbox e vou clicando no botao para salvar ele salva certo, visualizo o que esta escrito clicando no historico e aparece tudo que digitei, volto na tela e digito novamente na textbox e quando vou olhar no histórico novamente aparece o erro abaixo:

Fica marcado no codigo do programa esse trecho:

escrever As New System.IO.StreamWriter([Ô]C:\Teste.txt[Ô], true)

e aparece o seguinte erro la no Immediate Window:

A first chance exception of type [ô]System.IO.IOException[ô] occurred in mscorlib.dll
NADOLOKO 22/10/2012 09:43:25
#412474
agora que percebi onde aparece qual é o erro mesmo, diz assim:

O processo não pode acessar o arquivo [ô]C: \ Teste.txt[ô] porque ele está sendo usado por outro processo.

tenho que finalizar o arquivo para tentar abri-lo para leitura novamente, alguem sabe como fazer isso?
ALTAIR148 22/10/2012 09:47:04
#412475
tente acrescentar no final

escreve.dispose()


Assim ele libera o arquivo.
NADOLOKO 22/10/2012 14:42:09
#412507
Para quem for ler resolvi o meu problema, como disse no início sou novato em VB e por isso o erro que achei complicado na verdade é muito simples de resolver. Onde há o meu comando em que eu leio o arquivo faltou eu escrever esta linha de código:

ler.close()

Assim o arquivo é finalizado toda vez depois que eu entro para observar.

Desculpem qualquer coisa e valeu altair148 por tentar ajudar.
Tópico encerrado , respostas não são mais permitidas