Buchempfehlung
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
"Der" Petzold, das über 1000 Seiten starke Standardwerk zum Win32-API - besonders nützlich u. a. bei der GUI-Programmierung in FreeBASIC! [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Code-Beispiel

Code-Beispiele » Dateien und Laufwerke

Prüfen, ob Datei existiert

Lizenz:Erster Autor:Letzte Bearbeitung:
k. A.RedakteurJojo 23.01.2011

Methode 1

Mit dem folgenden Code kann man überprüfen, ob eine bestimmte Datei existiert.

#Include "file.bi"  'oder "vbcompat.bi"

Dim filename AS STRING

Print "Bitte geben Sie einen Dateinamen ein: "
Line Input filename

If FileExists(filename) Then
  Print "Datei gefunden: " & filename
Else
  Print "Datei nicht gefunden: " & filename
EndIf

Methode 2

Alternativ ist auch das testweise Öffnen der Datei möglich. Dabei wird BefehlsreferenzeintragOPEN als Funktion verwendet und liefert einen Status-Code (BefehlsreferenzeintragINTEGER) zurück. Ist der Rückgabewert 0, konnte die Datei erfolgreich geöffnet werden. Wird ein Wert größer 0 zurückgeliefert, ...

Im folgenden Beispiel werden nacheinander zwei Dateien auf ihr Vorhandensein hin überprüft. In der Variable result wird dabei der erwähnte Status-Code gespeichert.
Der Folgende Code kommt ohne Einbindung von BI-Dateien aus.

Dim As Integer result, f
Dim As String Datei(1 To 2) = { "fbc.exe", "fbc123.exe" }  'Zwei Dateien zum Ueberpruefen

For i As Integer = LBound(Datei) To UBound(Datei)  'Mit der Schleife beide Dateinamen testen
    f = FreeFile  'Freies Dateihandle ermitteln
    result = Open(Datei(i) For Input As #f)  'OPEN als Funktion benutzen
    Close #f  'Datei gleich wieder schliessen
    Print Datei(i); " ";  'Dateiname ausgeben und anschliessend das Ergebnis:
    If result = 0 Then
        Print " existiert."
    ElseIf result = 2 Then
        Print " existiert nicht."
    Else
        Print " konnte nicht geoeffnet werden (anderer Fehler)."
    End If
Next i

Sleep
End

Ist ein Verzeichnis komplett leer?

Übrigens... Mit dem folgenden Code kann man auch testen, ob im angegebenen Verzeichnis irgendeine Datei liegt.

#ifdef __FB_LINUX__
  #define delim "/"
#else
  #define delim "\"
#endif
'Der Präprozessor bestimmt das richtige Zeichen für das System

Dim Verz As STRING
Line Input "Bitte geben Sie einen Verzeichnisnamen ein: ", Verz
If Right(Verz, 1) <> delim Then Verz &= delim

If Dir(Verz & "*") <> "" Then
  Print Verz & " enthält Dateien!"
Else
  Print Verz & " ist leer.."
End If
GetKey

Zusätzliche Informationen und Funktionen
  • Das Code-Beispiel wurde am 23.02.2008 von RedakteurJojo angelegt.
  • Die aktuellste Version wurde am 23.01.2011 von Redakteurytwinky gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen