Output

Specifies text file to be opened for output mode

Syntax
   Open filename for Output [Encoding encoding_type] [Lock lock_type] as 
   [#]filenum 

Parameters
   filename
      file name to open for output
   encoding_type
      indicates encoding type for the file
   lock_type
      locking to be used while the file is open
   filenum
      unused file number to associate with the open file

Description
   A file mode used with Open to open a text file for writing.

   This mode is used to write text with Print #, or comma separated values 
   with Write #. 

   Text files can't be simultaneously read and written in FreeBASIC, so if 
   both functions are required on the same file, it must be opened twice.

   filename must be a string expression resulting in a legal file name in 
   the target OS, without wildcards. The file will be sought for in the 
   present directory, unless the filename contains a path . If the file 
   does not exist, it is created. The pointer is set at the first character 
   of the file.

   Encoding_type indicates the Unicode Encoding of the file, so characters 
   are correctly read. If omitted, "ascii" encoding is defaulted. Only 
   little endian character encodings are supported at the moment. 
      *"utf8"
      *"utf16"
      *"utf32" 
      *"ascii" (the default)

   Lock_type indicates the way the file is locked  for other processes, it 
   is one of:
      * Read - the file can be opened simultaneously by other processes, 
        but not for reading
      * Write - the file can be opened simultaneously by other processes, 
        but not for writing
      * Read Write - the file cannot be opened simultaneously by other 
        processes (the default)

   filenum Is a valid FreeBASIC file number (in the range 1..255) not being 
   used for any other file presently open. The file number identifies the 
   file for the rest of file operations. A free file number can be found 
   using the FreeFile function.

Example
   Dim ff As UByte
   Dim randomvar As Integer
   Dim name_str As String
   Dim age_ubyte As UByte

   ff = FreeFile
   Input "What is your name? ",name_str
   Input "What is your age? ",age_ubyte
   Open "testfile" For Output As #ff
   Write #ff, Int(Rnd(0)*42),name_str,age_ubyte
   Close #ff
   randomvar=0
   name_str=""
   age_ubyte=0

   Open "testfile" For Input As #ff
   Input #ff, randomvar,name_str,age_ubyte
   Close #ff

   Print "Random Number was: ", randomvar
   Print "Your name is: " + name_str
   Print "Your age is: " + Str(age_ubyte)

   'File outputted by this sample will look like this,
   'minus the comment of course:
   '23,"Your Name",19 

Differences from QB

See also
   * Append
   * Input (File Mode)
   * Open

