[vb.net] Zwingende Auswahl einer bestimmten Datei

Gepostet am: Apr 28, 2011 4:39:58 PM

Mal angenommen, die benötigen für Ihre Programm eine externe Datei, die sie - beispielsweise aus urheberrechtlichen Gründen - nicht zur Verfügung stellen können. Da Ihr Programm aber auf diese Datei angewiesen ist, soll der Code solange angehalten werden, bis die entsprechende Datei ausgewählt wurde. 

mustSelectFile

Public Function mustSelectFile(ByVal iniFile As String, ByVal Sektion As String, ByVal Eintrag As String, ByVal strFileName As String) As String         Try             Dim ini As New INIDatei(iniFile) 'verwendet die Ini-Klasse von http://dotnet-snippets.de/dns/neu-klasse-fuer-verwendung-von-ini-dateien-SID1076.aspx             Dim FilePath As String = ini.WertLesen(Sektion, Eintrag)             'Prüfen, ob es einen solchen Eintrag in der ini gibt, bzw. ob die Datei existiert und ob es überhaupt die richtige ist             If (FilePath = "") OrElse (System.IO.File.Exists(FilePath) = False) OrElse (LCase(New System.IO.FileInfo(FilePath).Name) <> LCase(strFileName)) Then                 Dim myOpenFileDialog As New OpenFileDialog                 Dim myFileName As String = ""                 Dim myFile As System.IO.FileInfo                 Do                     With myOpenFileDialog                         .InitialDirectory = My.Application.Info.DirectoryPath                         .CheckFileExists = True                         .Multiselect = False                         .Filter = strFileName & "|" & strFileName 'damit nur diese eine Datei angezeigt wird                         .FilterIndex = 1                         .Title = "Wählen Sie bitte die Datei " & strFileName & " aus"                         If .ShowDialog() = DialogResult.OK Then                             myFileName = .FileName                         End If                     End With                     myFile = New System.IO.FileInfo(myFileName)                 Loop Until (System.IO.File.Exists(myFileName)) And (LCase(myFile.Name) = LCase(strFileName))                 ini.WertSchreiben(Sektion, Eintrag, myFileName) 'damit der Pfad zurkünftig zur Verfügung steht                 Return myFileName             Else                 Return FilePath 'den Pfad zurückgeben             End If         Catch ex As Exception             LogMessage(5, "Fehler in mustSelectFile -" & iniFile & "|" & Sektion & "|" & Eintrag & "|" & strFileName & " - " & ex.Message)             Return "#FEHLER"         End TryEnd Function