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
    1. Public Function iFileExist(iFilepath As String) As Boolean If (Dir(iFilepath) <> &quot;&quot;) Then iFileExist = True Else iFileExist = False End IfEnd Function


    Beispiel:


    Code
    1. Private Sub Form_Load()
    2. If iFileExist("cmd.exe") = True Then
    3. MsgBox "Die Datei existiert"
    4. Else
    5. MsgBox "Die Datei existiert nicht"
    6. End If
    7. End Sub