Usuário com melhor resposta
[urgente] Botão abrir e salvar

Pergunta
-
Bom gente coloquei dois código e deu erro alguém me ajuda?
Codg:
Salvar um documento:
Private Sub SalvarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SalvarToolStripMenuItem.Click
Try
' Pega o nome do arquivo para salvar
If Me.SaveFileDialog1.ShowDialog() = DialogResult.OK Then
' abre um stream para escrita e cria um StreamWriter para implementar o stream
Dim fs As New FileStream(SaveFileDialog1.FileName, FileMode.OpenOrCreate, FileAccess.Write)
Dim m_streamWriter As New StreamWriter(fs)
m_streamWriter.Flush()
' Escreve para o arquivo usando a classe StreamWriter
m_streamWriter.BaseStream.Seek(0, SeekOrigin.Begin)
' escreve no controle richtextbox
m_streamWriter.Write(Me.RichTextBox1.Text)
' fecha o arquivo
m_streamWriter.Flush()
m_streamWriter.Close()
End If
Catch em As Exception
MsgBox("Seu arquivo foi salvo com sucesso", MsgBoxStyle.Critical, "arquivo salvo")
End TryAbrir um documento:
Private Sub AbrirToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AbrirToolStripMenuItem.Click
Dim fs As New FileStream(OpenFileDialog1.FileName, FileMode.Open, FileAccess.Read)
Dim m_streamReader As New StreamReader(fs)
' Lê o arquivo usando a classe StreamReader
m_streamReader.BaseStream.Seek(0, SeekOrigin.Begin)
' Lê cada linha do stream até a última
Me.RichTextBox1.Text = ""
Dim strLine As String = m_streamReader.ReadLine()
While Not (strLine Is Nothing)
Me.RichTextBox1.Text += strLine + ControlChars.Lf
strLine = m_streamReader.ReadLine()
End While
' Fecha o stream
m_streamReader.Close()
End Sub
_________________
Erros:
Não abre e nem salva :/
Uso visual basic 2008
- Editado Felipe Meghi domingo, 3 de fevereiro de 2013 11:58
Respostas
-
Provavelmente você está fazendo um editor de textos né? tem códigos mais faceis de entender...
Para abrir:
Dim abreprojeto As New OpenFileDialog abreProjeto.FileName = "*" abreProjeto.DefaultExt = ".txt" abreProjeto.Filter = "Arquivos de Texto (.txt)|*.txt" abreProjeto.ShowDialog() Dim nomeArq As String = abreProjeto.FileName If System.IO.File.Exists(nomeArq) Then Dim leitor As New System.IO.StreamReader(nomeArq) RichTextBox1.Text = leitor.ReadToEnd leitor.Close() End If
Para salvar:
Dim SalvaProjeto As New SaveFileDialog 'Se o usuário ainda não colocou um nome para o documento: If salvo = False Then Try SalvaProjeto.FileName = "*" SalvaProjeto.DefaultExt = ".txt" SalvaProjeto.Filter = "Arquivos de Texto (.txt)|*.txt" SalvaProjeto.CheckFileExists = False SalvaProjeto.ShowDialog() caminho = SalvaProjeto.FileName My.Computer.FileSystem.WriteAllText(caminho, RichTextBox1.Text, False) salvo = True Catch ex As Exception End Try 'Mas se o usuário já colocou um nome para o documento: Else Try caminho = SalvaProjeto.FileName My.Computer.FileSystem.WriteAllText(caminho, RichTextBox1.Text, False) salvo = True Catch ex As Exception End Try End If
Bem, eu acho que isso resolveria...
- Editado Mateus Bandeira domingo, 3 de fevereiro de 2013 12:56 Errei o código ^^
- Marcado como Resposta Felipe Meghi domingo, 3 de fevereiro de 2013 13:52
Todas as Respostas
-
Provavelmente você está fazendo um editor de textos né? tem códigos mais faceis de entender...
Para abrir:
Dim abreprojeto As New OpenFileDialog abreProjeto.FileName = "*" abreProjeto.DefaultExt = ".txt" abreProjeto.Filter = "Arquivos de Texto (.txt)|*.txt" abreProjeto.ShowDialog() Dim nomeArq As String = abreProjeto.FileName If System.IO.File.Exists(nomeArq) Then Dim leitor As New System.IO.StreamReader(nomeArq) RichTextBox1.Text = leitor.ReadToEnd leitor.Close() End If
Para salvar:
Dim SalvaProjeto As New SaveFileDialog 'Se o usuário ainda não colocou um nome para o documento: If salvo = False Then Try SalvaProjeto.FileName = "*" SalvaProjeto.DefaultExt = ".txt" SalvaProjeto.Filter = "Arquivos de Texto (.txt)|*.txt" SalvaProjeto.CheckFileExists = False SalvaProjeto.ShowDialog() caminho = SalvaProjeto.FileName My.Computer.FileSystem.WriteAllText(caminho, RichTextBox1.Text, False) salvo = True Catch ex As Exception End Try 'Mas se o usuário já colocou um nome para o documento: Else Try caminho = SalvaProjeto.FileName My.Computer.FileSystem.WriteAllText(caminho, RichTextBox1.Text, False) salvo = True Catch ex As Exception End Try End If
Bem, eu acho que isso resolveria...
- Editado Mateus Bandeira domingo, 3 de fevereiro de 2013 12:56 Errei o código ^^
- Marcado como Resposta Felipe Meghi domingo, 3 de fevereiro de 2013 13:52
-
-