Hilfestellung bei Fehlersuche ... (Zeichenkonvertierung)

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Nofear23m.

    Hilfestellung bei Fehlersuche ... (Zeichenkonvertierung)

    Moin!

    ich habe eigentlich ein ganz einfaches Stück Code:

    VB.NET-Quellcode

    1. Dim _Err_IllegalFilesPositions As Integer ' Anzahl Datei die
    2. ...
    3. Private Sub SearchIllegalFilesInFolder(Folder As String)
    4. Console.WriteLine("* SearchIllegalFilesInFolder")
    5. Console.WriteLine(" + Folder:= " & Folder)
    6. If System.IO.Directory.Exists(Folder) = False Then Exit Sub
    7. 'suche nach Dateien
    8. Dim CountFiles As Integer = My.Computer.FileSystem.GetFiles(Folder, FileIO.SearchOption.SearchTopLevelOnly, "*.*").Count
    9. Console.WriteLine(" + Count:= " & CountFiles)
    10. If CountFiles > 0 Then
    11. Console.WriteLine(" + _Err_IllegalFilesPositions:= " & _Err_IllegalFilesPositions.ToString)
    12. Console.WriteLine(" + CountFiles:= " & CountFiles.ToString)
    13. _Err_IllegalFilesPositions = _Err_IllegalFilesPositions + CountFiles 'Anzahl fehlerhafter Dateien ' <<<<<<-----------------------------ZEILE 293
    14. Dim Verzeichnisse() As String = Directory.GetDirectories(Folder, FileIO.SearchOption.SearchTopLevelOnly, "*.*")
    15. Dim ListOfFiles As String = " + Files:= "
    16. Try
    17. For j As Integer = 0 To Verzeichnisse.Count - 1
    18. If j > 0 Then ListOfFiles += ", "
    19. ListOfFiles += System.IO.Path.GetFileName(Verzeichnisse(j))
    20. Next 'j
    21. Console.WriteLine(ListOfFiles)
    22. Catch ex As Exception
    23. Console.WriteLine("Fehler:= " & ex.ToString)
    24. End Try
    25. ' ggf. Namen des Verzeichnis in die Liste aufnehmen
    26. If _Folder2CheckFilePosition.Contains(Folder) = False Then
    27. _Folder2CheckFilePosition.Add(Folder)
    28. End If
    29. End If
    30. End Sub



    Unbehandelte Ausnahme: System.InvalidCastException: Ungültige Konvertierung von der Zeichenfolge *.* in Typ Integer. ---> System.FormatException: Die Eingabezeichenfolge hat das falsche Format.
    bei Microsoft.VisualBasic.CompilerServices.Conversions.ParseDouble(String Value, NumberFormatInfo NumberFormat)
    bei Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger(String Value)
    --- Ende der internen Ausnahmestapelüberwachung ---
    bei Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger(String Value)
    bei EBL_Crawler_DigGrundAkte.main.SearchIllegalFilesInFolder(String Folder) in C:\VSProjects\Konsolenanwendungen\EBL_Crawler_DigGrundAkte\EBL_Crawler_DigGrundAkte\EBL_Crawler_DigGrundAkte\main.vb:Zeile 293.
    bei EBL_Crawler_DigGrundAkte.main.WrongFolderInLetterRoot() in C:\VSProjects\Konsolenanwendungen\EBL_Crawler_DigGrundAkte\EBL_Crawler_DigGrundAkte\EBL_Crawler_DigGrundAkte\main.vb:Zeile 324.
    bei EBL_Crawler_DigGrundAkte.main.Main() in C:\VSProjects\Konsolenanwendungen\EBL_Crawler_DigGrundAkte\EBL_Crawler_DigGrundAkte\EBL_Crawler_DigGrundAkte\main.vb:Zeile 184.


    Die Kontrollausgabe sieht wie folgt aus:


    * SearchIllegalFilesInFolder
    + Folder:= \\ms-FileSrv-1\abteilung$\EBL\PLNB\GKG\Grundstcke
    + Count:= 2
    + _Err_IllegalFilesPositions:= 0
    + CountFiles:= 2


    Hat einer von Euch eine Idee warum es dazu kommt?

    Gruß Jan
    1. Hast Du "Option Strict On" nicht gesetzt.
    2. Würdest Du dann sehen, dass das Searchpattern vor die SearchOption gehört, du hast es falsch herum.
    3. Gibt es nur die SearchOption.AllDirectories oder SearchOption.TopDirectoryOnly

    VB.NET-Quellcode

    1. Dim Verzeichnisse() As String = Directory.GetDirectories(Folder, "*.*", SearchOption.TopDirectoryOnly)
    @jan99 Sieh Dir die betreffende Zeichenfolge an und stell fest, was da falsch gelaufen ist..
    Mit 750 Posts im Forum solltest Du das allein können.
    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).
    VB-Fragen über PN / Konversation werden ignoriert!
    @jan99
    Sei doch bitte so gut, nach so vielen Jahren in diesem Forum und so vielen Beiträgen solltest du es bewerstelligen auch mal einen Thread abzuschliessen. (Oben einen Doppelklick auf das rote Kästchen.)
    Sowas gehört einfach "zum guten Ton".

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##