Bild Programm aus Datei

  • VB.NET

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

    Bild Programm aus Datei

    Hallo,
    Ich arbeite gerade an einem Programm dass Bildpfade aus einer Datei (z.B. *.txt) ausliest und sie mir dann in einer Picturebox ausgiebt.
    Wie krieg ich das hin das nach jedem Mausklick die nächste zeile ausgelesen wird. Als hier mal wie es in der Datei aussehen soll:

    C:\Bilder\1.png
    C:\Bilder\2.png
    C:\Bilder\3.png
    C:\Bilder\4.png
    C:\Bilder\5.png
    end ---> Hier wird angezeigt dass es vorbei ist und das Programm schließt sich danach

    Also kann mir einer helfen?
    Alles auslesen mit IO.File.ReadAllLines(path) und in einem IEnumarable(Of String) (eine Subklasse davon) speichern. Dann einen globalen Integer index haben, der sich bei jedem Mausclick inkremntiert. Außerdem bei Mausclick nächstes Item als ImageLocation der PB zuweisen.
    »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais
    @ThePlexian Jou.
    @PSYCHO3399 so etwa? ButtonClick statt MouseClick sollte Dich nicht stören.
    Wichtig ist, dass Du beim Runklickern ohne Daten keine Exception auslöst.
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private myFiles() As String
    3. Private myIndex As Integer
    4. ' Dateien einlesen
    5. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    6. Using dlg As New OpenFileDialog
    7. dlg.Filter = "Bilder|*.png;*.jpg;*.bmp|alle Dateien|*.*"
    8. dlg.Multiselect = True
    9. If dlg.ShowDialog <> Windows.Forms.DialogResult.OK Then
    10. Return
    11. End If
    12. myFiles = dlg.FileNames
    13. myIndex = 0
    14. End Using
    15. End Sub
    16. ' nächstes Bild anzeigen
    17. Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
    18. ' Test auf Daten vorhanden
    19. If myFiles Is Nothing OrElse myFiles.Length = 0 Then
    20. MessageBox.Show("nix da")
    21. Return
    22. End If
    23. ' Test auf letzten Index
    24. If myIndex = myFiles.Length Then
    25. MessageBox.Show("alle")
    26. Me.Close()
    27. Return
    28. End If
    29. PictureBox1.ImageLocation = myFiles(myIndex)
    30. myIndex += 1
    31. End Sub
    32. End Class
    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!