Winput()

Reads a number of wide-characters from console or file

Syntax
   Declare Function WInput( ByVal num As Integer ) As WString
   Declare Function WInput( ByVal num As Integer, ByVal filenum As Long = 0 
   ) As WString

Usage
   result = WInput( num [, [#]filenum } )

Parameters
   num
      Number of characters to read.
   filenum
      File number of bound file or device.

Return Value
   Returns a WString of the characters read.

Description
   Reads a number of wide-characters from the console, or a bound 
   file/device specified by filenum.

   The first version waits for and reads n wide characters from the 
   keyboard buffer. Extended keys are not read. The characters are not 
   echoed to the screen.

   The second version waits for and reads n wide characters from a file or 
   device. The file position is updated.

   Note: FreeBASIC does not currently support reading wide-characters from 
   the console.

   Note: Using Winput() is dedicated to Input Access file mode, but it is 
   also allowed in Binary/Random Access file mode with some restrictions on 
   the values of num (for random mode, num must be equal to the record 
   length set by the LEN clause (or implicit value) in the OPEN statement).

Example
   Dim char As WString * 2

   Dim filename As String, enc As String
   Dim f As Long

   Line Input "Please enter a file name: ", filename
   Line Input "Please enter an encoding type (optional): ", enc
   If enc = "" Then enc = "ascii"

   f = FreeFile
   If Open(filename For Input Encoding enc As #f) = 0 Then
      
      Print "Press space to read a character from the file, or escape to exit."
      
      Do
         
         Select Case Input(1)
         
         Case " " 'Space
            
            If EOF(f) Then
               
               Print "You have reached the end of the file."
               Exit Do
               
            End If
            
            char = WInput(1, f)
            Print char & " (char no " & Asc(char) & ")"
            
         Case Chr(27) 'Escape
            
            Exit Do
            
         End Select
         
      Loop
      
      Close #f
      
   Else
      
      Print "There was an error opening the file."
      
   End If

Dialect Differences
   * Not available in the -lang qb dialect.

Differences from QB
   * QB does not support Unicode

See also
   * Input()
   * Open

