Keine Meldung von Event

  • VB.NET
  • .NET (FX) 4.5–4.8

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

    Keine Meldung von Event

    Hey,

    Aktuell habe ich hier ein Button_Click event aber Irgendwie funktioniert das nicht ganz...
    Wie im Code zu sehen habe ich 5x Textbox und wenn eine davon Leer ist Kommt eine Meldung, dass Funktioniert auch.
    Aber sobald alle Voll sind bekomme ich nichts mehr...kein Ordner wird Erstellt oder sonst was.
    hab auch Schon breakpoints gesetzte aber auch kein Ergebnis...

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. If TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox3.Text = "" Or TextBox4.Text = "" Or TextBox5.Text = "" Then
    3. MessageBox.Show("Fülle alle Felder aus!")
    4. Else
    5. For Each s As String In IO.Directory.GetDirectories(My.Application.Info.DirectoryPath & "/data/")
    6. Try
    7. If s.Substring(s.IndexOf("/")).Split("/"c)(2) = TextBox5.Text Then
    8. MessageBox.Show("Das Projekt existiert Bereits!")
    9. Exit For
    10. Else
    11. Try
    12. IO.Directory.CreateDirectory(My.Application.Info.DirectoryPath & "/data/" & TextBox5.Text)
    13. IO.File.WriteAllText(My.Application.Info.DirectoryPath & "/data/" & TextBox5.Text & "/" & TextBox5.Text & ".btid", "CPU:" & TextBox1.Text & vbNewLine & "RAM:" & TextBox2.Text & vbNewLine & "W/R_C:" & TextBox3.Text & vbNewLine & "Graph:" & TextBox4.Text)
    14. MessageBox.Show("Erstellen von " & TextBox5.Text & " war Erfolgreich!")
    15. Form2.Show()
    16. Exit For
    17. Catch ex As Exception
    18. MessageBox.Show(ex.ToString)
    19. End Try
    20. End If
    21. Catch ex As Exception
    22. MessageBox.Show("Fehler!")
    23. End Try
    24. Next
    25. End If
    26. End Sub
    27. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    28. If IO.Directory.GetDirectories(My.Application.Info.DirectoryPath & "/data/").Count = 0 Then
    29. MessageBox.Show("test")
    30. Else
    31. Me.Hide()
    32. Me.ShowInTaskbar = False
    33. Form2.Show()
    34. End If
    35. End Sub


    Wo ist der Fehler? ich find ihn einfach nicht...

    LG
    Edit
    @Keybladmaster

    Edit!! vergiss das :D

    deine abfrage stimmt auch so nicht ganz

    If TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox3.Text = "" Or TextBox4.Text = "" Or TextBox5.Text = "" Then

    Um das mal auf Dumm-Deutsch zu übersetzen heisst so sowas wie

    Wenn Textbox1 = kein Text hat
    ODER Textbox2 = kein Text hat
    ODER Textbox3 = kein Text hat
    ODER Textbox4 = kein Text hat
    ODER Textbox5 = kein Text hat
    dann tue etwas.

    Ich glaube dieses Oder/OR macht da nicht so viel Sinn oder?
    Versuche es mal so

    If TextBox1.Text = "" AND TextBox2.Text = "" AND TextBox3.Text = "" AND TextBox4.Text = "" AND TextBox5.Text = "" Then // bitte alle Felder ausfüllen Else //Alle Felder ausgefüllt

    Man kann auch in einer If abfrage ein ! benutzen. das setzt die gesammte ifabfrage auf false (oder irgentwie so ähnlich)



    For Each s As String In IO.Directory.GetDirectories(My.Application.Info.DirectoryPath & "/data/")

    diesen Ordner gibt es ja auch garnicht. der phat sieht so aus
    C:\ordner\vom\programm/data/
    achte auf das / \

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „MVN050“ ()

    @Keybladmaster
    ich hatte meinen Beitrag nochmal editiert da er totaler blödsinn war. muss an der dauerhitze liegen... tut mir leid
    aber hier

    For Each s As String In IO.Directory.GetDirectories(My.Application.Info.DirectoryPath & "/data/")

    diesen Ordner gibt es ja auch garnicht. der phat sieht so aus
    C:\ordner\vom\programm/data/
    achte auf das / \

    bau mal nach dem else das hier ein
    messagebox.show(IO.Directory.GetDirectories(My.Application.Info.DirectoryPath & "/data/")
    dan merkst du was ich meine.
    Dadurch wird deine For Ech Schleife garnicht durchlaufen.
    @Keybladmaster Mach Dir mal nen Plan, was passieren soll, wenn dies oder jenes in den Textboxen drin steht und verfolge dann den Ablauf Deines Codes mit diesen Randbedingungen.
    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).
    Programmierfragen über PN / Konversation werden ignoriert!