Winput()
Reads a number of wide-characters from console or file
Declare Function WInput( ByVal num As Integer ) As WString
Declare Function WInput( ByVal num As Integer, ByVal filenum As Long = 0 ) As WString
result = WInput( num [, [#]filenum } )
num
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.
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.
filenumFile number of bound file or device.
Return Value
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.
Example
Dim char As WString * 2
Dim filename As String, enc As String
Dim f As Integer
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
Dim filename As String, enc As String
Dim f As Integer
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