WINPUT()
- Source: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgWinput
- Last revised: 2025-06-03
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 wstringUsage
` 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).
Examples
start GeSHi
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 Ifend GeSHi
Dialect Differences
- Not available in the -lang qb dialect.
Differences from QB
- QB does not support Unicode
See also
Input()Open
Back to DocToc