Problem mit dem Auslesen/Schreiben von Textdateien

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Easly.

    Problem mit dem Auslesen/Schreiben von Textdateien

    Hi,

    da unser Internet immer wieder abschmiert und der Anbieter auch nicht wirklich eine Ahnung hat, woran das liegen könnte, sollen wir die Zeiten, in denen das Internet weg ist, aufschreiben. Da wird das nicht selbst machen wollen, dachte ich mir, dass ein schlichtes Programm helfen kann! Soweit so gut. Ich habe das Programm gemacht und es funktioniert auch. Aber, da ich meinen Rechner auch nicht 24/7 die Woche anhabe, lasse ich mir bei jedem Start und bei jedem Schließen des Programmes die Zeiten in/aus eine/r Textdatei schreiben/lesen lassen. Nur, immer wenn ich das Programm dann starte wird der Inhalt der Datei mehrfach ausgegeben. Beim ersten Öffnen steht der Text dort nur einmal, beim nächsten Öffnen zweimal, dann viermal, achtmal, sechzehnmal, etc... Könnt ihr mir helfen dieses Problem zu fixen?
    Der Code:


    VB.NET-Quellcode

    1. Imports System
    2. Imports System.IO
    3. Imports System.Text
    4. Public Class Form1
    5. Dim Path As String = "C:\Users\***\Desktop\Internet.log"
    6. Dim 2Path As String = "C:\Users\***\SicherheitsDatei"
    7. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    8. If Connection() = 1 Then
    9. Else
    10. ListBox1.Items.Add("kein Internet: " & Date.Now & "Uhr")
    11. End If
    12. End Sub
    13. Function Connection()
    14. Try
    15. My.Computer.Network.Ping("www.google.de")
    16. Return 1
    17. Catch ex As Exception
    18. Return 0
    19. End Try
    20. End Function
    21. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    22. Dim Text As String
    23. Text = My.Computer.FileSystem.ReadAllText(Path)
    24. RichTextBox1.Text = Text
    25. My.Computer.FileSystem.WriteAllText(Path, "", True)
    26. ListBox1.Items.Clear()
    27. For Each Item As String In RichTextBox1.Text.Split(CChar("; "))
    28. ListBox1.Items.Add(Item)
    29. Next
    30. RichTextBox1.Text = ""
    31. ListBox1.Items.Add(" ")
    32. ListBox1.Items.Add("Programm gestartet: " & Date.Now & "Uhr")
    33. RichTextBox1.Text = ""
    34. End Sub
    35. Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
    36. Dim File2 As String = Save & Date.Today & ".log"
    37. Dim FileStream As FileStream = File.Create(File2)
    38. Dim fText As Byte() = New UTF8Encoding(True).GetBytes("")
    39. RichTextBox1.Text = ""
    40. For Each Item In ListBox1.Items
    41. RichTextBox1.AppendText(Item & "; ")
    42. Next
    43. FileStream.Write(fText, 0, fText.Length)
    44. FileStream.Close()
    45. My.Computer.FileSystem.WriteAllText(Path, RichTextBox1.Text, True)
    46. My.Computer.FileSystem.WriteAllText(File2, RichTextBox1.Text, True)
    47. End Sub
    48. End Class



    Die 2. Datei, die angelegt ist, ist dafür da, falls mein Programm oder mein Computer irgendwie herunterfährt. Dann habe ich die Daten vom letzten Mal noch...

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Easly“ ()