Text in .txt schreiben wenn Checkbox aktiviert ist

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von Rolle85.

    Text in .txt schreiben wenn Checkbox aktiviert ist

    Hallo zusammen, bin absoluter forum-Neuling,
    habe ein Problem und finde nichts passendes über die SuFu.
    Ich will ein Programm bauen, welches mir die eine gewisse Art an Texten in einer .txt, anhand der Ausgewählten Checkboxen, vorgibt.

    Die .txt bekomme ich hin, aber es Schreibt sich kein Text in die Datei?! bzw es soll auch mehrzeilig in die txt geschrieben werden z.b.
    wenn CBNotAus.checked dann soll der Text: " Schaltet die Anlage Komplett aus?" nächste zeile " Sind Alle Sicherheitseinrichtungen Aktiv?" usw

    Wenn mehrere Checkboxen checked sind sollen alle individualtexte in die txt geschrieben werden.

    Danke im Vorraus für die Antworten.

    Folgende Formel habe ich eingebaut:

    Public Class Maschinen_Checkliste
    Private Sub BGenerieren_Click(sender As Object, e As EventArgs) Handles BGenerieren.Click
    Dim Pfad As String = Application.ExecutablePath
    Dim Dateiname As String = TBMaschine.Text & "_" & DateAndTime.Today & "_" & TimeOfDay.Hour & TimeOfDay.Minute & ".txt"
    Dim streami As System.IO.FileStream
    streami = System.IO.File.Create(Dateiname)
    Dim cfile As System.IO.StreamWriter = New System.IO.StreamWriter(streami, System.Text.Encoding.Default)
    If CBSteckverbindung.Checked Then
    cfile.WriteLine("Sind beschädigungen vorhanden?")
    cfile.Close()
    End If
    End Sub
    End Class
    Bilder
    • Checkliste_Form.jpg

      30,4 kB, 344×282, 34 mal angesehen
    @Rolle85 Willkommen im Forum. :thumbup:
    Besser wäre es, wenn Du die Strings in einen StringBuilder packst, da brauchst Du kein solch Dateihandling.
    Außerdem musst Du alle CheckBoxen in der richtigen Reihenfolge abfragen.
    Falls keine gecheckt ist, wäre in diesem Beispiel hier die Datei leer.

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. Dim sb = New StringBuilder
    3. If CheckBox1.Checked Then
    4. sb.AppendLine("CheckBox1.Checked")
    5. End If
    6. If CheckBox2.Checked Then
    7. sb.AppendLine("CheckBox2.Checked")
    8. End If
    9. If CheckBox3.Checked Then
    10. sb.AppendLine("CheckBox3.Checked")
    11. End If
    12. If CheckBox4.Checked Then
    13. sb.AppendLine("CheckBox4.Checked")
    14. End If
    15. Dim pfad = "c:\Temp\Test.txt"
    16. IO.File.WriteAllText(pfad, sb.ToString())
    17. End Sub
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    VB-Fragen über PN / Konversation werden ignoriert!
    Hey super, danke für die Schnelle Antwort. Hab jetzt schlauer Weise meinen Lappi auf der Arbeit gelassen weil ich nicht mit so einer schnellen Antwort gerechnet habe :D werde ich morgen früh direkt mal ausprobieren und danke schonmal. Klasse so ein Forum (y)
    Hat Funktioniert! Danke

    Hab es mir allerdings doch noch ein bisschen umgebaut :D


    Imports System.Text

    Public Class Maschinen_Checkliste
    Private Sub Maschinen_Checkliste_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Label1.Text = "Lizensiert für " + My.Settings.Nutzervorname + " " + My.Settings.Nutzername
    Label5.Text = "C:\Firmenname\Kunde\PrüfID.txt"
    End Sub
    Private Sub BGenerieren_Click(sender As Object, e As EventArgs) Handles BGenerieren.Click
    If Not IO.Directory.Exists("C:\" & My.Settings.Nutzerfirma & "\" & TBwo.Text & "\Maschinen\" & TBprüfid.Text) Then
    ' Nein! Jetzt erstellen...
    Try
    IO.Directory.CreateDirectory("C:\" & My.Settings.Nutzerfirma & "\" & TBwo.Text & "\Maschinen\" & TBprüfid.Text)
    ' Ordner wurde korrekt erstellt!
    Catch ex As Exception
    ' Ordner wurde nich erstellt
    End Try
    Dim sb = New StringBuilder
    If CheckBox1.Checked Then
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    End If
    If CheckBox2.Checked Then
    sb.AppendLine("CheckBox2.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    End If
    If CheckBox3.Checked Then
    sb.AppendLine("CheckBox3.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    End If
    If CheckBox4.Checked Then
    sb.AppendLine("CheckBox4.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    End If
    If Checkbox5.Checked Then
    sb.AppendLine("CheckBox5.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    End If
    If CheckBox6.Checked Then
    sb.AppendLine("CheckBox6.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    End If
    If CheckBox7.Checked Then
    sb.AppendLine("CheckBox7.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    End If
    If CheckBox8.Checked Then
    sb.AppendLine("CheckBox8.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    End If
    If CheckBox9.Checked Then
    sb.AppendLine("CheckBox9.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    End If
    If CheckBox10.Checked Then
    sb.AppendLine("CheckBox10.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    sb.AppendLine("CheckBox1.Checked")
    End If
    Dim pfad = "C:\" & My.Settings.Nutzerfirma & "\" & TBwo.Text & "\Maschinen\" & TBprüfid.Text & "\" & TBwas.Text & "_" & TBprüfid.Text & ".txt"
    IO.File.WriteAllText(pfad, sb.ToString())
    Process.Start("C:\" & My.Settings.Nutzerfirma & "\" & TBwo.Text & "\Maschinen\" & TBprüfid.Text)
    Me.Close()
    End If
    End Sub
    End Class
    @Rolle85 Ich sehe, dass Du die C&P-Funktionalität beherrschst. :D
    Editiere Deinen Post, markiere den Quelltext und formatiere ihn als solchen (unmittelbar über dem Post-Editor der zweite Button von rechts).
    Was soll passieren, wenn der Ordner nicht erstellt wurde? Weiter im Text?
    Du rechnest ziemlich oft Namen von Verzeichnissen und Dateien aus. Lässt sich da was vereinfachen?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    VB-Fragen über PN / Konversation werden ignoriert!
    Ja C&P beherrsche ich PERFEKT! :D aber wenn ich dann mal eine passende Formel finde weiss ich sie auch ein zu setzen, auch teilweise um zu schreiben auf meine Bedürfnisse. Bin bisher wunderbar für alles mit der SuFu klar gekommen. Aber nun musste ich dann doch tatsächlich mich auch mal im Forum anmelden um weiter zu kommen . Ja, das mit dem Quelltext hier einbetten muss ich noch üben hab da noch nicht so den Durchblick hier aber hab da noch zwei drei Sachen im Ärmel wo ich wahrscheinlich noch Hilfe brauchen werde so, Schluss!

    Rolle85 schrieb:

    Ja C&P beherrsche ich PERFEKT!
    Je 4 Mal

    VB.NET-Quellcode

    1. sb.AppendLine("CheckBox1.Checked")

    Code formatieren geht so:
    Quelltext markieren und

    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    VB-Fragen über PN / Konversation werden ignoriert!

    VB.NET-Quellcode

    1. If CheckBox1.Checked Then
    2. sbm.AppendLine("Aufschrift vorhanden")
    3. sbm.AppendLine("Aufschrift leserlich und dauerhaft ausgeführt mit Angaben über:")
    4. sbm.AppendLine("Hersteller / Lieferant")
    5. sbm.AppendLine("Fabr.-Nr. / Serien-Nr.")
    6. sbm.AppendLine("Bemessungsspannung, Phasenzahl, Frequenz")
    7. sbm.AppendLine("Volllaststrom für jede Einspeisung")
    8. sbm.AppendLine("Kurzschluss-Auslegung der Ausrüstung")
    9. sbm.AppendLine("Nr. der Hauptdokumentation")
    10. sbm.AppendLine("Prüfzeichen")
    11. End If


    hier ein auszug, es sollen halt mehrere zeilen geschrieben werden, deswegen 4mal oder mehr :D
    ist mittlerweile ein bisschen umfangreicher geworden :D
    Bilder
    • Unbenannt.png

      38,41 kB, 805×611, 31 mal angesehen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Rolle85“ ()