Help Center
Help CenterFreeBASIC

Winput()function

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

Parameters

NameDescription
numNumber of characters to read.
filenumFile 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).

Remarks

Usage


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

Dialect Differences


  • Not available in the -lang qb dialect.

Differences from QB


  • QB does not support Unicode

See also


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

Reference

  • Documented in KeyPgWinput.html