none
[urgente] Botão abrir e salvar RRS feed

  • 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 Try

    Abrir 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
    domingo, 3 de fevereiro de 2013 11:56

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
    domingo, 3 de fevereiro de 2013 12:53

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
    domingo, 3 de fevereiro de 2013 12:53
  • O de abrir funcionou ^^

    O problema foi no salvar.

    Nas palavras salvo, caminho

    domingo, 3 de fevereiro de 2013 13:45
  • Ja resolvi o problema vlw aew
    domingo, 3 de fevereiro de 2013 13:52