COMO CRIAR E MOSTRAR UM HISTORICO
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
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
Bom dia,
Tente assim:
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
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
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
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?
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?
tente acrescentar no final
Assim ele libera o arquivo.
escreve.dispose()
Assim ele libera o arquivo.
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.
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