Jump to content
Sign in to follow this  
Super Oliks

Botão salvar

Recommended Posts

Super Oliks

Desculpe por te postado esse tópico no lugar errado!

Private Sub button1_Click(sender As Object, e As System.EventArgs)
    Dim myStream As Stream
    Dim saveFileDialog1 As New SaveFileDialog()

    saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
    saveFileDialog1.FilterIndex = 2
    saveFileDialog1.RestoreDirectory = True

    If saveFileDialog1.ShowDialog() = DialogResult.OK Then
      myStream = saveFileDialog1.OpenFile()
      If (myStream IsNot Nothing) Then
        ' Code to write the stream goes here.
       myStream.Close()
      End If
    End If
  End Sub

não consegui entender esse código,poderiam me ajudar? o que eu estou querendo é aplicar um botão salvar, em um editor de texto. Para salvar arquivos de (*.txt)

Share this post


Link to post
Share on other sites
Caça

Para criares um txt, basta colocares isto depois do ShowDialog

Dim SW As StreamWriter = New StreamWriter(saveFileDialog1.FileName)
SW.WriteLine("Texto a escrever")
SW.WriteLine("Texto a escrever")
SW.Close()


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
anolsi

Atenção que falta o handler do evento.

Private Sub button1_Click(sender As Object, e As System.EventArgs) handles botao_nome.Click

Onde o botao_nome é o nome do teu botão (provavelmente button1).

Assim tu dizes ao computador que quando o botão for clicado queres que ele execute aquele método, senão do modo que fazias apenas estavas a "declarar" o método.


"Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."
Não respondo a questões por PM que possam ser colocadas no fórum!

Share this post


Link to post
Share on other sites
Super Oliks

 

 Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim myStream As Stream
        Dim saveFileDialog1 As New SaveFileDialog()

        saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
        saveFileDialog1.FilterIndex = 2
        saveFileDialog1.RestoreDirectory = True

        If saveFileDialog1.ShowDialog() = DialogResult.OK Then
            Dim SW As StreamWriter = New StreamWriter(saveFileDialog1.FileName)
            SW.WriteLine("Texto a escrever")
            SW.WriteLine("Texto a escrever")
            SW.Close()
            myStream = saveFileDialog1.OpenFile()
            If (myStream IsNot Nothing) Then
                ' Code to write the stream goes here.
                myStream.Close()
            End If
        End If
    End Sub

agora apareceu dois erros ..

type 'Stream' is not defined.

type 'StreamWrite' is not defined.

Share this post


Link to post
Share on other sites
Caça

E também não apareceu um ponto de interrogação a vermelho a dizer "Imports System.IO"?


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
Super Oliks

    Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim myStream As Stream
        Dim saveFileDialog1 As New SaveFileDialog()

        saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
        saveFileDialog1.FilterIndex = 2
        saveFileDialog1.RestoreDirectory = True

        If saveFileDialog1.ShowDialog() = DialogResult.OK Then
            Dim SW As StreamWriter = New StreamWriter(saveFileDialog1.FileName)
            SW.WriteLine("Texto a escrever")
            SW.WriteLine("Texto a escrever")
            SW.Close()
            myStream = saveFileDialog1.OpenFile()
            If (myStream IsNot Nothing) Then
                ' Code to write the stream goes here.
                myStream.Close()
            End If
        End If
    End Sub

ta acontecendo um problema, eu clico em salvar, e o salvo normalmente, só que quando eu abro o arquivo que eu salvei, não aparece nenhum texto, é como se tivesse salvando em branco.

Share this post


Link to post
Share on other sites
Caça

Estranho :(

Mas criou o ficheiro?

Isto está a mais no teu bloco de código, retira

        Dim myStream As Stream

            myStream = saveFileDialog1.OpenFile()
            If (myStream IsNot Nothing) Then
                ' Code to write the stream goes here.
               myStream.Close()
            End If


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
Super Oliks

sim está criando um ficheiro, mas agora está com outro problema.

    Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim saveFileDialog1 As New SaveFileDialog()

        saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
        saveFileDialog1.FilterIndex = 2
        saveFileDialog1.RestoreDirectory = True

        If saveFileDialog1.ShowDialog() = DialogResult.OK Then
            Dim SW As StreamWriter = New StreamWriter(saveFileDialog1.FileName)
            SW.WriteLine("Texto a escrever")
            SW.WriteLine("Texto a escrever")
            SW.Close()
        End If
    End Sub

quando abro o arquivo que salvei, aparece o texto "texto a escrever" , igual o texto que está na ......SW.WriteLine("Texto a escrever")

Share this post


Link to post
Share on other sites
Super Oliks

E então, não deveria aparecer é?

sim deveria, mas não a frase "texto a escrever", e sim o texto que está escrito no richtextbox

Share this post


Link to post
Share on other sites
Caça

😲

Não estás à espera que te façam tudo pois não?

Ou vais-me dizer que não sabes fazer isso?


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
Super Oliks

😲

Não estás à espera que te façam tudo pois não?

Ou vais-me dizer que não sabes fazer isso?

SW.WriteLine(RichTextBox1.Text)

isto eu sei, mas quando eu salva e abro o arquivo aparece assim sem quebra de linha, ou seja aparece aparece todo o texto em uma unica linha, só que entre elas aparece um quadrado com um ponto de interrogação, indicando qu a frase termina ali.

Share this post


Link to post
Share on other sites
Caça

Bom, então explora melhor a classe "StreamWriter"

Lá tem uma função que te faz isso

Coloca "SW." e ve o que te aparece no intelisense e testa :(

Tava a brincar, toma lá

SW.Write(RichTextBox1.Text)


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
Super Oliks

Tópico resolvido, e muito obrigado pela paciência e pela boa vontade de ajudar as pessoas  :(

Share this post


Link to post
Share on other sites

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
Sign in to follow this  

×
×
  • 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.