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`