Datein mit der endung PDF bei Klick löschen....

  • VB.NET

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

    Datein mit der endung PDF bei Klick löschen....

    Hey Leute,

    Sorry das ich das Thema nochmal öffen muss ....
    Habe hier schon einiges per SUFU gefuden aber irgendiwie klappt es bei mir nicht.

    Ich möchte, wenn ich meine Form verlasse so:

    VB.NET-Quellcode

    1. Private Sub btn_zurück_Click(sender As Object, e As EventArgs) Handles btn_zurück.Click
    2. Internes.Show()
    3. Hide()
    4. End Sub


    Das automatisch die PDFs gelöscht werden in meinen verzeichnis.

    So sieht es bei mir aus:

    VB.NET-Quellcode

    1. Private Sub btn_zurück_Click(sender As Object, e As EventArgs) Handles btn_zurück.Click
    2. Internes.Show()
    3. PDFLöschen()
    4. Hide()
    5. End Sub
    6. Private Sub PDFLöschen()
    7. Dim P As String = Environment.GetFolderPath(Application.StartupPath)
    8. Try
    9. For Each f As String In IO.Directory.EnumerateFiles(P, "*.pdf", SearchOption.TopDirectoryOnly)
    10. File.Delete(f)
    11. Next
    12. Catch ex As UnauthorizedAccessException
    13. MessageBox.Show("Fehler", "Error", MessageBoxButtons.OK)
    14. End Try
    15. End Sub


    -------------------------
    Ergänzung:
    Ich habe meine PDFs in mein "Resources" ordner hochgeladen und möchte gerne das sie In ein Sepperaten ordner sind z.b. Application.Startpath & "\Dokumente" wie bekomm ich das hin das er diesen path läd, hier ein beispiel:

    PS: Ich nutze Adobe Reader in meinen Programm. (AxAcroPDF)

    VB.NET-Quellcode

    1. Dim file As String = Application.StartupPath & "\100_Linienspinne.pdf"
    2. IO.File.WriteAllBytes(Application.StartupPath & "100_Linienspinne.pdf", My.Resources._100_Linienspinne)
    3. AxAcroPDF1.Visible = True
    4. AxAcroPDF1.src = file
    @VBHunter So lange die Dateien im Adobe geöffnet sind, kannst Du sie nicht löschen.
    Du musst also erst die Adobe-Reader schließen, bevor Du die Dateien löschen kannst.
    Die entsprechende Prozedur musst Du dann halt in Deiner Zurück-Prozedur aufrufen.
    Oder hast Du da ein PDF-Reader-Control? AxAcroPDF kenne ich nicht. Was ist das genau?
    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!
    Genau danke @RodFromGermany ich habs jetzt so fertig gebaut

    VB.NET-Quellcode

    1. Private Sub btn_zurück_Click(sender As Object, e As EventArgs) Handles btn_zurück.Click
    2. Internes.Show()
    3. PDFLöschen()
    4. Hide()
    5. End Sub
    6. Private Sub PDFLöschen()
    7. Dim fis() = New IO.DirectoryInfo(Application.StartupPath & "\Dokumente\").GetFiles("*.pdf", IO.SearchOption.TopDirectoryOnly)
    8. For Each fi In fis
    9. fi.Delete()
    10. Next
    11. End Sub


    Erläuterung:
    Die PDFs werden per klick ja in mein Ordner Dokumente gepackt ....

    VB.NET-Quellcode

    1. Dim file As String = Application.StartupPath & "\Dokumente\100_Linienspinne.pdf"
    2. IO.File.WriteAllBytes(Application.StartupPath & "\Dokumente\100_Linienspinne.pdf", My.Resources._100_Linienspinne)
    3. AxAcroPDF1.Visible = True
    4. AxAcroPDF1.src = file


    und dann wird die (alle) PDF einfach wieder gelöscht aus den Ordner sobald ich die Aktive Form beende.