Input (File Mode)

Specifies text file to be opened for input mode

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

Parameters
   filename
      file name to open for input
   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 reading.

   This mode allows to read sequentially lines of text with Line Input #, 
   or to read comma separated values with Input #. 

   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, an error is issued. 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 As Integer

   '' collect the test data and output to file with Write #
   Input "What is your name? ", name_str
   Input "What is your age? ", age
   Randomize
   Print

   ff = FreeFile
   Open "testfile" For Output As #ff
   Write #ff, Int(Rnd*42), name_str, age
   Close #ff

   '' clear variables
   randomvar = 0
   name_str = ""
   age = 0

   '' input the variables, using Input #
   ff = FreeFile
   Open "testfile" For Input As #ff
   Input #ff, randomvar, name_str, age
   Close #ff

   Print "Random Number was: " & randomvar
   Print "Your name is: " & name_str
   Print "Your age is: " & age

   'File outputted by this sample will look something like this
   '(not including the leading comment marker):
   '23,"Your Name",19

Differences from QB

See also
   * Input (Console I/O)
   * Input #
   * Input()
   * Append
   * Open
   * Output

