Hallo Leberkas
Ich denke , mit "Format" ist der Inhalt gemeint, denn das Format ist hier Textfile (.txt).
Zu deinem code oben, zwei Anmerkungen.
Zum einen; Finger weg von Try Catch, es sei denn, es ist an der stelle nicht vermeidbar und du weist was du tust.
Exeptions sind dafür da fehler aufzuzeigen, wenn du sie unterdrückst, bekommst du früher, oder spähter Probleme.
Gut gecodet wirft keine Exeptions!
Zum anderen; Vermeide den My Namespace, das ist olles kompatiblitätsgerümpell aus vb6 Zeiten.
Am besten schmeist du den Namespase gleich ganz aus dem (allen) Projekt(en)
@ Manfred X
Es ist nicht sinnvoll, alles in eine Methode zu stopfen, das ist wenig flexibel.
Ich versuche Methoden immer möglicht nativ zu gestallten, in etwa so:
Private Sub VerifyFile(ByVal targetFile As String)
If FileExist(targetFile) Then
If Not FileEmty(targetFile) Then
Dim Lines As List(Of String) = ReadFile(targetFile, _
System.Text.Encoding.UTF8, True)
If Lines(0).Contains("otto") AndAlso Lines.Last.Contains("end") _
Then
' Do something
Else
If MessageBox.Show("Invalid file.", "Error", _
MessageBoxButtons.OK) = Windows.Forms.DialogResult.Yes _
Then
Application.Exit()
End If
End If
Else
If MessageBox.Show("File is empty.", "Error", _
MessageBoxButtons.OK) = Windows.Forms.DialogResult.Yes Then
Application.Exit()
End If
End If
Else
If MessageBox.Show("File don't exist.", "Error", _
MessageBoxButtons.OK) = Windows.Forms.DialogResult.Yes Then
Application.Exit()
End If
End If
End Sub
Private Function FileExist(ByVal filePath As String) As Boolean
Return IO.File.Exists(filePath)
End Function
Private Function FileEmty(ByVal filePath As String) As Boolean
Dim fi As IO.FileInfo = New IO.FileInfo(filePath)
If fi.Length = 0 Then
Return True
Else
Return False
End If
End Function
Private Function ReadFile(ByVal filePath As String, ByVal encoding As _
System.Text.Encoding, ByVal detectEncoding As Boolean) As List(Of String)
Return IO.File.ReadAllLines(filePath).ToList
End Function
Private Function Verify(ByVal value As String, ByVal searchPattern As _
String) As Boolean
Return value.Contains(searchPattern)
End Function VerifyFile kann jetz natürlich auch ganz anders aussehen, der Rest kann aber unangetastet bleiben.
z.B kann man die Liste auch global iniziieren und dann belibig weiter verwursten.
Dim gruß As New Gruß("Mit freundlichen Grüßen, FormFollowsFunction :) ")
gruß.Schow() https://msdn.microsoft.com/de-de/library <- Mal rein schauen! ;)
Beitrag wurde zuletzt am 05.09.17 um 02:57:41 editiert. |