FileExistsCheck?

  • Hey, ich habe hier 2 fileexistschecks:


    Zitat

    Public Function fileexists(ByVal sFilename As String) As Boolean
    Dim Fl As Integer: Fl = Len(Dir$(sFilename))
    On Local Error Resume Next
    fileexists = IIf(Err Or Fl = 0, False, True)
    End Function


    UND:



    Nun meine Frage:
    Welcher von den ist sinnvoller/besser/bugfreier/whatever ??

  • Gibt es nicht schon einen derartigen Check? Bei VB2008 My.Computer.FileSystem.FileExists. Aber bei der 2. solltest du auf jeden Fall GoTo vermeiden, in höheren Sprachen gibt es das nicht mehr und auch in VB ist es vermeidbar.

  • Zitat von ShockerZz;14430

    Gibt es nicht schon einen derartigen Check? Bei VB2008 My.Computer.FileSystem.FileExists. Aber bei der 2. solltest du auf jeden Fall GoTo vermeiden, in höheren Sprachen gibt es das nicht mehr und auch in VB ist es vermeidbar.


    Ja, aber das ist nicht .NET sondern VB6, da weiss ich nicht so genau :p


    GOTO ist immer böse, da es zu nem Spaghetti code führen kann, aber in so einem kleinen Modul stört es ja keinen^^


  • Du kannsts auch ganz simple mit Dir(pfad) machen.
    Da hast dann kein GoTo mehr ;)

  • Ich würde es eher so machen ( ^^)
    Somit können auch Ordner abgefragt werden


    Code
    Public Function iFileExist(iFilepath As String) As Boolean    If (Dir(iFilepath) <> &quot;&quot;) Then        iFileExist = True    Else        iFileExist = False    End IfEnd Function


    Beispiel:


    Code
    Private Sub Form_Load()
        If iFileExist("cmd.exe") = True Then
            MsgBox "Die Datei existiert"
        Else
            MsgBox "Die Datei existiert nicht"
        End If
    End Sub