Neuling hat eine Frage zum Auslesen von Dateinamen aus txt und dem Löschen dieser Namen

  • VB.NET
  • .NET (FX) 3.0–3.5

Es gibt 55 Antworten in diesem Thema. Der letzte Beitrag () ist von Julius_xD.

    War in der Verzweiflung meine Idee,ja. Könnt Ihr aber wieder vergessen :)

    Bin wieder weitergekommen!

    Wenn ich mit den Breakpoints arbeite löscht er mir die Datei auch, jedoch wenn ich denn die Datei über "Create Soloution" erstelle und diese Starte, Löscht er diese nicht?

    Der Abschnitt des Codes:

    VB.NET-Quellcode

    1. Private Sub FlatButton1_Click(sender As Object, e As EventArgs) Handles FlatButton1.Click
    2. Dim Modsloeschen As String() = File.ReadAllLines(appdata & deletepack)
    3. For Each item In Modsloeschen
    4. If IO.File.Exists(item) Then My.Computer.FileSystem.DeleteFile(darma3 & modsname & "\addons\" & item)
    5. Next

    Julius_xD schrieb:

    Wenn ich mit den Breakpoints arbeite löscht er mir die Datei auch, jedoch wenn ich denn die Datei über "Create Soloution" erstelle und diese Starte, Löscht er diese nicht?
    Das ist mir nicht so ganz verständlich.
    Kannst Du das ein bissel mehr erklären?
    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!
    Also:

    Ich kann ja um die Items anzuschauen was in denen Steht "Breakpoints" Erstellen wo er halt anhält damit ich alles sehen kann.
    Wenn ich damit die Codezeilen "durchfahre" Löscht er mir die Datei(en) die ich in der .txt eingestellt habe, soweit so gut!

    Jedoch wenn ich jetzt die Exe erstelle und diese Starte, Löscht er diese Datei(en) nicht!


    Hoffe es ist so verständlicher :)
    Anscheinend nimmt er den ganzen Pfad nicht mit... weil nichts passiert... hmm...

    Habe das folgenderweise eingebaut:

    VB.NET-Quellcode

    1. Private Sub FlatButton1_Click(sender As Object, e As EventArgs) Handles FlatButton1.Click
    2. Dim Modsloeschen As String() = File.ReadAllLines(appdata & deletepack)
    3. For Each item In Modsloeschen
    4. If IO.File.Exists(item) Then My.Computer.FileSystem.DeleteFile(darma3 & modsname & "\addons\" & item)
    5. Next
    6. If finish = "false" Then
    7. FlatButton1.Visible = False
    8. FlatButton5.Visible = False
    9. MsgBox("Bitte warten Sie einige Sekunden, während der Launcher alles was er braucht herunterlädt!")
    10. Exit Sub
    11. End If
    12. If My.Computer.FileSystem.FileExists(darma3 & "arma3.exe") Then
    13. If dfinish = "false" Then
    14. 'Crée le dossier dans lequel les mods vont se télécharger
    15. My.Computer.FileSystem.CreateDirectory(darma3 & modsname)
    16. 'lance le téléchargement des mods
    17. Downloadmods.RunWorkerAsync()
    18. 'bloque le bouton
    19. PictureBox2.Visible = False
    20. 'télécharge les trucs .cpp
    21. DownloadCpp.RunWorkerAsync()
    22. Else
    23. StartArma.RunWorkerAsync()
    24. End If
    25. Else
    26. MsgBox("Der angegebene Pfad ist ungültig!" & vbNewLine & "Vor dem Herunterladen bitte den Arma3 Pfad angeben!")
    27. Exit Sub
    28. End If
    29. End Sub


    Das komische, der Launcher stürzt ab?!?

    Julius_xD schrieb:

    verständlicher
    Ja, allerdings schlecht vorstellbar, da stimmen wohl einige Pfade nicht.

    Julius_xD schrieb:

    stürzt ab
    Gibt es dazu eine Codezeile bzw. einen StackTrace?
    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!
    Es wäre sehr hilfreich wenn man wüsste was in den ganzen Variablen die du da verbaust, aber nicht befüllst, steht...
    Bzw. wie du diese befüllst...
    Als Beispiel:
    appdata, deletepack, darma3 und modsname
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Huhu :)
    Die ganzen Variablen werden beim Start des Launchers befüllt ;)

    Soweit funktioniert das Löschen nun auch!

    Jedoch stürzt der Launcher nach dem Überprüfen ab!

    Ausschnitt aus dem Sourcecode der für den Absturz verantwortlich ist:

    VB.NET-Quellcode

    1. If FlatProgressBar2.Value = 100 Then
    2. 'Start arma 3
    3. dfinish = "true"
    4. PictureBox2.Visible = True
    5. StartArma.RunWorkerAsync()
    6. Dim Modsloeschen As String() = File.ReadAllLines(appdata & deletepack)
    7. For Each item In Modsloeschen
    8. If IO.File.Exists(item) Then
    9. End If
    10. My.Computer.FileSystem.DeleteFile(darma3 & modsname & "\addons\" & item)
    11. Next
    12. Else
    13. Downloadmods.Dispose()
    14. Pont.RunWorkerAsync()
    15. End If
    16. End Sub

    Julius_xD schrieb:

    das Abstürzen
    Verfolge zunächst genau, was da ühaupt passiert.
    Setze einen Haltepunkt in die Schleife und sieh Dir das Argument Item an und den zusammengesetztren Pfad.
    Gugst Du hier.
    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!

    Julius_xD schrieb:

    Die ganzen Variablen werden beim Start des Launchers befüllt


    Ich hoffe das war keine ernstgemeinte Antwort.
    Ich gehe davon aus dass da schon von Anfang an das Befüllen falsch läuft und sich das durch zieht. Und du anscheinend nicht wirklich weißt, sondern nur denkst zu wissen, was in den Variablen steht.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Problem gelöst :)

    Poste es hier einfach mal damit auch andere die eventuell das gleiche Problem haben diese beheben können ;)


    VB.NET-Quellcode

    1. Dim Modsloeschen As String() = File.ReadAllLines(appdata & deletepack)
    2. For Each item In Modsloeschen
    3. If My.Computer.FileSystem.FileExists(darma3 & modsname & "\addons\" & item) Then
    4. My.Computer.FileSystem.DeleteFile(darma3 & modsname & "\addons\" & item)
    5. End If
    6. Next