Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Save Data to text tile using SaveFileDialog?

I have already viewed the MSDN Example but I am still having problems.

I created a super-simple program to multiply two numbers, and display the output in the textbox. Now I need to be able to read that text box value and put the value in a text file, bringing up the save to file dialog when the "Save To File" button is clicked.

Private Sub MutiplyBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MutiplyBtn.Click
    Dim FirstNum As Double = Num1.Text
    Dim SecondNum As Double = Num2.Text
    Dim Answer2 As Double = FirstNum * SecondNum
    Answerbox.Text = Answer2
End Sub

Private Sub SaveResultToFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveResultToFile.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
        myStream = saveFileDialog1.OpenFile()
        If (myStream IsNot Nothing) Then
            System.IO.File.WriteAllText(Answerbox.Text)
            myStream.Close()
        End If
    End If
End Sub

Currently, Visual Studio is giving me an error: Overload resolution failed because no accessible 'WriteAllText' accepts this number of arguments.

like image 976
Matt Avatar asked Oct 21 '25 21:10

Matt


1 Answers

WriteAllText static method requires the name of the file where the data should be written to.
You could use directly the name selected in the saveFileDialog1

If saveFileDialog1.ShowDialog() = DialogResult.OK Then
    System.IO.File.WriteAllText(saveFiledialog1.FileName, Answerbox.Text)
End If

instead if you really want to use the stream opened by OpenFile() method your code should be

   If saveFileDialog1.ShowDialog() = DialogResult.OK Then
        Dim sw As StreamWriter = new StreamWriter(saveFileDialog1.OpenFile())
        If (sw IsNot Nothing) Then 
            sw.WriteLine(Answerbox.Text)
            sw.Close()
        End If 
    End If 

The code is an example, you need to add a bit of error handling

like image 65
Steve Avatar answered Oct 23 '25 15:10

Steve



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!