Code-Beispiel
Prüfen, ob Datei existiert
Lizenz: | Erster Autor: | Letzte Bearbeitung: |
k. A. | ![]() | ![]() |
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 OPEN als Funktion verwendet und liefert einen Status-Code (
INTEGER) zurück. Ist der Rückgabewert 0, konnte die Datei erfolgreich geöffnet werden. Wird ein Wert größer 0 zurückgeliefert, ...
- existiert die Datei nicht (Rückgabe = 2) oder
- es konnte aus anderen Gründen nicht darauf zugegriffen werden (Rückgabe ist weder 0 noch 2).
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 | |||||||
---|---|---|---|---|---|---|---|
|