Domanda

can you help me with that code ?

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

Dim x As String = "C:\Users\Andy\Documents\Visual Studio 2008\Projects\minecraft srv\"

    For Each app As Process In Process.GetProcesses
        If app.ProcessName = "notepad" Then
            app.Kill()
        End If
    Next

    Dim result As String
    Dim servprop() As String
    servprop = System.IO.Directory.GetFiles(x, "server.*")

    For Each file In servprop
        result = Path.GetFileName(file)
    Next

    Dim z As String = "C:\Users\Andy\Documents\Visual Studio 2008\Projects\minecraft srv\" & result.ToString
    Dim t As StreamWriter = New StreamWriter(z)
    t.WriteLine(TextBox1.Text.ToString)
    t.Close()
End Sub

so... I got a button (button1) that finds if notepad is opened and kills it. Then it searches for "server.Properties" in "x" location if server.properties is found , then "result" will get his name (server) "z" is the file location where streamwriter must write the text from textbox1 .

And it doesn't work... streamwirter is not writing on server.properties ... why ? mention : I'm just a kid :D and i'm trying to learn by myself visual basic .

È stato utile?

Soluzione

If you have only one file called "server.properties" then you could remove all the code that search for this file and write it directly.

Dim z As String
z = System.IO.Path.Combine(x, "server.properties")

Using t = New StreamWriter(z)
    t.WriteLine(TextBox1.Text.ToString)
    t.Flush()
End Using

Regarding the error, encapsulating the writing code with a proper using statement ensures a complete clean-up. Also adding a call to Flush() is probably not necessary, but doesn't hurt.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top