Hi zusammen,
hab ein kleines Problem und bräuchte bitte eure Hilfe
Mach grad ein "Suchprogramm" für meine Filmesammlung:
1. Ich suche per FolderBrowserDialog einen Ordner aus (FolderBrowser)
2. Ich wähle per ComboBox eine Dateiendung fest (*.avi, *.mkv, *.mpg)
3. Ich drücke auf einen Button und er Listet mir z.B. alle AVI-Filmdateien in meinem DataGridView1.
Soweit klappt auch alles! ABER:
Wie mache ich es nun, dass das Programm auch gleich überprüft, ob sich eine JPG im Ordner der AVI befindet?
Also quasi, ob bei jedem gelisteten Film ein Cover dabei ist?!
Hier der Code für's Ordner wählen:
Spoiler anzeigen
Hier der Code, bei dem ich Hilfe brauche wegen "Coversuche":
Spoiler anzeigen
Hier mal der komplette Code bisher:
Spoiler anzeigen
hab ein kleines Problem und bräuchte bitte eure Hilfe
Mach grad ein "Suchprogramm" für meine Filmesammlung:
1. Ich suche per FolderBrowserDialog einen Ordner aus (FolderBrowser)
2. Ich wähle per ComboBox eine Dateiendung fest (*.avi, *.mkv, *.mpg)
3. Ich drücke auf einen Button und er Listet mir z.B. alle AVI-Filmdateien in meinem DataGridView1.
Soweit klappt auch alles! ABER:
Wie mache ich es nun, dass das Programm auch gleich überprüft, ob sich eine JPG im Ordner der AVI befindet?
Also quasi, ob bei jedem gelisteten Film ein Cover dabei ist?!
Hier der Code für's Ordner wählen:
VB.NET-Quellcode
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- Dim FolderBrowser As New FolderBrowserDialog
- FolderBrowser.Description = "Bitte wählen ..."
- FolderBrowser.ShowNewFolderButton = True
- FolderBrowser.RootFolder = System.Environment.SpecialFolder.Desktop
- FolderBrowser.SelectedPath = My.Computer.FileSystem.SpecialDirectories.Desktop
- If FolderBrowser.ShowDialog = Windows.Forms.DialogResult.OK Then
- Me.Label1.Text = FolderBrowser.SelectedPath
- End If
- pfad = Me.Label1.Text
- If Not pfad.EndsWith("\") Then
- pfad &= "\"
- End If
- End Sub
Hier der Code, bei dem ich Hilfe brauche wegen "Coversuche":
VB.NET-Quellcode
- Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
- DataGridView1.Rows.Clear()
- Dim Datei As String
- Dim cover As String = True
- Dim nocover As String = False
- If ComboBox1.SelectedItem Is Nothing Then
- ElseIf Label1.Text = "" Then
- MsgBox("Bitte erst Ordner wählen und Endung zuweisen!")
- Else
- For Each Datei In My.Computer.FileSystem.GetFiles(pfad, FileIO.SearchOption.SearchAllSubDirectories, ComboBox1.SelectedItem)
- 'Hier ist Frage Nr. 1: Wie überprüfe ich, ob in dem Ziellaufwerk auch ein Bild ist?
- If Datei.Verzeichnis.hat.auch.Jpg.drin Then
- DataGridView1.Rows.Add(System.IO.Path.GetFileNameWithoutExtension(Datei), System.IO.Path.GetDirectoryName(Datei) & "\", cover)
- Else
- DataGridView1.Rows.Add(System.IO.Path.GetFileNameWithoutExtension(Datei), System.IO.Path.GetDirectoryName(Datei) & "\", nocover)
- End If
- Next
- 'Hier wird jedes Feld eingefärbt, welches 'Cover = "True"' ist
- Dim CellWert As String
- Dim CellFarbe As Color
- For I As Integer = 0 To DataGridView1.Rows.Count - 1
- CellWert = DataGridView1.Rows(I).Cells(2).Value
- If CellWert = cover Then
- CellFarbe = Color.Green
- Else
- CellFarbe = Color.Red
- End If
- DataGridView1.Rows(I).Cells(2).Style.BackColor = CellFarbe
- Next
- End If
- End Sub
Hier mal der komplette Code bisher:
VB.NET-Quellcode
- Imports System.IO
- Public Class Form1
- Dim pfad As String
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- pfad = ""
- DataGridView1.Columns.Add("1", "Name")
- DataGridView1.Columns.Add("2", "Pfad")
- DataGridView1.Columns.Add("3", "Cover")
- ComboBox1.Items.Add("*.avi")
- ComboBox1.Items.Add("*.mkv")
- ComboBox1.Items.Add("*.mpg")
- ComboBox1.SelectedIndex = 0
- End Sub
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- Dim FolderBrowser As New FolderBrowserDialog
- FolderBrowser.Description = "Bitte wählen ..."
- FolderBrowser.ShowNewFolderButton = True
- FolderBrowser.RootFolder = System.Environment.SpecialFolder.Desktop
- FolderBrowser.SelectedPath = My.Computer.FileSystem.SpecialDirectories.Desktop
- If FolderBrowser.ShowDialog = Windows.Forms.DialogResult.OK Then
- Me.Label1.Text = FolderBrowser.SelectedPath
- End If
- pfad = Me.Label1.Text
- If Not pfad.EndsWith("\") Then
- pfad &= "\"
- End If
- End Sub
- Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
- DataGridView1.Rows.Clear()
- Dim Datei As String
- Dim cover As String = True
- Dim nocover As String = False
- If ComboBox1.SelectedItem Is Nothing Then
- ElseIf Label1.Text = "" Then
- MsgBox("Bitte erst Ordner wählen und Endung zuweisen!")
- Else
- For Each Datei In My.Computer.FileSystem.GetFiles(pfad, FileIO.SearchOption.SearchAllSubDirectories, ComboBox1.SelectedItem)
- 'Hier ist Frage Nr. 1: Wie überprüfe ich, ob in dem Ziellaufwerk auch ein Bild ist?
- If Datei.Verzeichnis.hat.auch.Jpg.drin Then
- DataGridView1.Rows.Add(System.IO.Path.GetFileNameWithoutExtension(Datei), System.IO.Path.GetDirectoryName(Datei) & "\", cover)
- Else
- DataGridView1.Rows.Add(System.IO.Path.GetFileNameWithoutExtension(Datei), System.IO.Path.GetDirectoryName(Datei) & "\", nocover)
- End If
- Next
- 'Hier wird jedes Feld eingefärbt, welches 'Cover = "True"' ist
- Dim CellWert As String
- Dim CellFarbe As Color
- For I As Integer = 0 To DataGridView1.Rows.Count - 1
- CellWert = DataGridView1.Rows(I).Cells(2).Value
- If CellWert = cover Then
- CellFarbe = Color.Green
- Else
- CellFarbe = Color.Red
- End If
- DataGridView1.Rows(I).Cells(2).Style.BackColor = CellFarbe
- Next
- End If
- End Sub
- End Class