From QB64 Wiki
The FREEFILE function returns an INTEGER value that is an unused file access number.
- file1% = FREEFILE
- FREEFILE values should be given to unique variables so that each file has a specific variable value assigned to it.
- Once the number is assigned in an OPEN statement, the file number can later be used to read, write or CLOSE that file.
- Files numbers CLOSEd are made available to FREEFILE for reuse immediately.
- FREEFILE returns are normally sequential starting with 1. Only file numbers in use will not be returned.
- OPEN each file number after each FREEFILE return or the values returned may be the same!
- OPEN COM statements cannot use any number assigned to files already OPEN!