At certain situation you do not know a number which is sure available to be associated with a file. In that case you can use the function FreeFile() to get a file number usable in the next open statement.
The following code demonstrates the usage of the function FREEFILE:
fn = FREEFILE
Open "myfile.txt" for input as fn
The first line of the code stores a number in the variable fn, which can be used in the next line as a file number. You can print out the actual value, store it in one or more variables.
To be absolutely safe you can also check if there is any available file number. If there is no available file number then the function FREEFILE returns undef.
open "myfile.txt" for input as fn
else
' do whatever you have to do
' when you can not open the file
end if
fn = FREEFILE
if IsDefined(fn) then
There is another way to automatically get the first free file number in an OPEN statement.
In case the file number is specified using a single variable initialized to zero the interpreter will find automatically the first available file number and will put this value into the variable. This way you can also write:
' do whatever you want with the file
STOP
ERROR$FILE$NOT$OPENED:
' do whatever you have to do
' when you can not open the file
fn = 0
ON ERROR GOTO ERROR$FILE$NOT$OPENED
open "myfile.txt" for input as fn