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.

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


Dialect Differences

  • Not available in the -lang qb dialect.

Differences from QB

  • QB does not support Unicode

See also