Revision [16078]

This is an old revision of KeyPgInput made by CountingPine on 2012-02-04 21:45:56.



Reads a list of values from the keyboard

Input [;] ["prompt" separator] variable_list

an optional string literal that is written to the screen.
a semicolon (;), which appends "? " to the prompt, or comma (,), which appends nothing.
a list of comma-separated variables used to hold the values read from the user.

Reads a list values from the keyboard up until the first carriage return. Numerical values are converted from their string representation into the corresponding types in the variable list. Characters are echoed to the screen as they are typed.

If there is more than one value in the input list, the user must be instructed to type commas or whitespace to separate each value. Surrounding whitespace will be trimmed from string values. If an input string has a comma in it, it must be wrapped in quotes ("...") to prevent it being split up.
Alternatively, KeyPgLineinput Line Input maybe used to input an entire line to a single string without delimiting.

The prompt - if any - is written to the screen at the current cursor location, and characters read are echoed to the screen immediately following the prompt. If no prompt is specified, characters are echoed at the current cursor location.
The optional leading semicolon after Input is similar to the optional trailing semicolon in a KeyPgPrint Print statement: the cursor will remain on the same line after all of the characters have been echoed, otherwise, the cursor will move to the beginning of the next line.
If more values are read than are listed in the variable list, extra values will be ignored; if fewer values are read (i.e. the user presses enter before inputting all values), the remaining variables will be initialized - numeric variables to zero (0), and string variables to the null string ("").
Numeric values are converted similar to the procedures KeyPgVal Val and KeyPgVallng ValLng, using the most appropriate function for the number format, converting as many numeric characters as possible.
Input has a limited edit capacity: it allows to erase characters using the backspace key. If a better user interface is needed, a custom input routine should be used.

Example #1
Dim n As String, a As Integer
Input "Enter [Name, Age]: ", n, a
Print n
Print a

Example #2
Dim As Double a, b
Dim As String yn

    Input   "Please enter a number: ", a
    Input ; "And another: ", b
    Print , "Thank you"
    Sleep 500
    Print "The total is "; a + b
        Input "Would you like to enter some more numbers"; yn
        yn = LCase(yn)
    Loop Until yn = "y" Or yn = "n"
Loop While LCase(yn) = "y"

Differences from QB:
See also:
Back to User Input
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki phatcode