FREEFILE

FreeBASIC-Referenz » Alphabetische Befehlsreferenz » F » FREEFILE

Syntax: FREEFILE
Typ: Funktion
Kategorie: Dateien

FREEFILE gibt die nächste unbenutzte Dateinummer zurück.

Beispiel:

Dim buffer As String, ff As Integer
buffer = "Hello World in einer Datei."

' Die erste freie Dateinummer zuweisen
ff = FreeFile

' Die Datei "file.txt" mit der Nummer "ff" öffnen
Open "file.txt" For Binary As #ff

' Den String in die Datei laden
Put #ff, , buffer

' Die Datei schließen
Close #ff

' Das Programm beenden; die Ausgabe befindet sich in der Datei "file.txt"
End

FREEFILE sollte immer vor jedem OPEN aufgerufen werden:

'So ist es richtig:
Dim fr As Integer, fs As Integer

fr = FreeFile
Open "File1" For Input As #fr
fs = FreeFile
Open "file2" For Input As #fs
Close #fs
Close #fr


'So ist es falsch:
Dim fr As Integer, fs As Integer

fr = FreeFile
fs = FreeFile    ' fs enthält nun dieselbe Nummer wie fr
Open "File1" For Input As #fr
Open "file2" For Input As #fs
Close #fs
Close #fr

FREEFILE gibt Nummern zwischen 1 und 255 zurück. Sollten alle Dateinummern vergeben sein, da so viele Dateien geöffnet sind oder das CLOSE vergessen wurde, so gibt FREEFILE 0 zurück. Dies zeigt an, dass keine weiteren Dateien geöffnet werden können.

Hinweis: Wenn man FREEFILE aus einer DLL aus aufruft, ergibt das nicht die gleichen Nummern wie im Hauptprogramm. Dateinummern können also nicht beliebig zwischen Hauptprogramm und DLL übertragen werden.

Siehe auch:
OPEN, Dateien (Files)