Hallo, ich bin absoluter Anfänger, aber ich will unbendingt ein kleines Programm erstellen womit man aus bestimmten Ordnern (mit Bildern gefüllt) per Zufall ein Bild angezeigt bekommt per Klick auf einen Button.
Ich hab auch schon ein Code dafür gefunden aber ich bekomme es nicht hin in richtig einzubauen, hiermal der Code (Ist nicht von mir):
---------------------------------------------------------------------------------------------------------------------------------
Functions to get random images from a folder
Dim Pics(3) As Image
Private Function RandomImageFromFolder(ByVal DirectoryName As System.String, ByVal SearchOption As System.IO.SearchOption) As System.Drawing.Image
Dim Directory As New System.IO.DirectoryInfo(DirectoryName)
Dim Files() As System.IO.FileInfo = Directory.GetFiles("*.jpg", SearchOption)
If Files.Length > 0 Then
Dim Random As New System.Random
Return System.Drawing.Image.FromFile(Files(Random.Next(0, Files.Length)).FullName)
Else
Return Nothing
End If
End Function
eg... pic(0) = RandomImageFromFolder(My.Computer.FileSystem.SpecialDirectories.MyPictures, System.IO.SearchOption.AllDirectories)
or
Private Function GetRandomImagePath() As String
'========================
'It is possible to call this function so fast that myRnd
'will have the same seed and appear to return non-random
'results. You might want to move this to a class member
'rather than local to this function
'========================
Dim myRnd As New Random()
'========================
Dim myDir As New System.IO.DirectoryInfo(My.Computer.FileSystem.SpecialDirectories.MyPictures)
Dim myFiles() As System.IO.FileInfo = myDir.GetFiles("*.jpg; *.gif")
Dim myRandomFile As String
If Not myFiles.Length.Equals(0) Then
myRandomFile = myFiles(myRnd.Next(myFiles.Length)).FullName
End If
---------------------------------------------------------------------------------------------------------------------------------
Welche Variante is leichter einzubauen für einen Anfänger, und wie verbinde ich diese Funktion mit einem Buttonclick und einer Picturebox wo das Bild dann angezeigt wird?
Und wo gebe ich in diesem Code überhaupt das jeweilige Verzeichniss an (Es sollen mehrere Verzeichnisse werden und jeweils ein anderer Button)
Hoffe einer sieht da durch oder hat eventuell eine bessere Lösung, danke.
Ich hab auch schon ein Code dafür gefunden aber ich bekomme es nicht hin in richtig einzubauen, hiermal der Code (Ist nicht von mir):
---------------------------------------------------------------------------------------------------------------------------------
Functions to get random images from a folder
Dim Pics(3) As Image
Private Function RandomImageFromFolder(ByVal DirectoryName As System.String, ByVal SearchOption As System.IO.SearchOption) As System.Drawing.Image
Dim Directory As New System.IO.DirectoryInfo(DirectoryName)
Dim Files() As System.IO.FileInfo = Directory.GetFiles("*.jpg", SearchOption)
If Files.Length > 0 Then
Dim Random As New System.Random
Return System.Drawing.Image.FromFile(Files(Random.Next(0, Files.Length)).FullName)
Else
Return Nothing
End If
End Function
eg... pic(0) = RandomImageFromFolder(My.Computer.FileSystem.SpecialDirectories.MyPictures, System.IO.SearchOption.AllDirectories)
or
Private Function GetRandomImagePath() As String
'========================
'It is possible to call this function so fast that myRnd
'will have the same seed and appear to return non-random
'results. You might want to move this to a class member
'rather than local to this function
'========================
Dim myRnd As New Random()
'========================
Dim myDir As New System.IO.DirectoryInfo(My.Computer.FileSystem.SpecialDirectories.MyPictures)
Dim myFiles() As System.IO.FileInfo = myDir.GetFiles("*.jpg; *.gif")
Dim myRandomFile As String
If Not myFiles.Length.Equals(0) Then
myRandomFile = myFiles(myRnd.Next(myFiles.Length)).FullName
End If
---------------------------------------------------------------------------------------------------------------------------------
Welche Variante is leichter einzubauen für einen Anfänger, und wie verbinde ich diese Funktion mit einem Buttonclick und einer Picturebox wo das Bild dann angezeigt wird?
Und wo gebe ich in diesem Code überhaupt das jeweilige Verzeichniss an (Es sollen mehrere Verzeichnisse werden und jeweils ein anderer Button)
Hoffe einer sieht da durch oder hat eventuell eine bessere Lösung, danke.