forked from QB64-Phoenix-Edition/QB64pe
-
Notifications
You must be signed in to change notification settings - Fork 0
LINE INPUT
Samuel Gomes edited this page Nov 8, 2022
·
1 revision
The LINE INPUT statement requests a STRING keyboard entry from a program user.
LINE INPUT [;] "[text prompt or question]"{,|;} stringVariable$ LINE INPUT ; stringVariable$
- A semicolon immediately after LINE INPUT stops the cursor after the entry and prevents screen roll on the lowest two screen rows.
- text prompt or question is optional, but quotes are necessary unless just a semicolon is used before the stringVariable$.
- Requires only one STRING variable to hold the entire text entry.
- Cannot use numerical Variable Types variables or comma separated variable lists for multiple entries.
- Allows commas and quotation marks in the user input, unlike INPUT where commas denote extra input values and quotes delimit strings.
- The statement halts the program until an entry is made. Pressing Enter ends the entry and code execution resumes.
- LINE INPUT does not trim off leading or trailing spaces in the string entry like INPUT string returns.
- Use VAL to convert string numbers and &O (octal), &H (hexadecimal) or &B (binary) prefixed entries into numerical values.
- Use _DEST _CONSOLE before LINE INPUT statements to receive input from a $CONSOLE window.
- Note: QB64 will not remove CHR$(0) from the end of LINE INPUT string return values like QBasic did.
Preventing screen roll after an input entry on the bottom 2 screen rows.
SCREEN 12
COLOR 14: LOCATE 29, 2 ' place dursor at beginning of prompt liine
PRINT "Enter a name to search for... "; 'print prompt on screen
COLOR 15: LINE INPUT ; "", name$ ' get search name from user
LOCATE 29, 2: PRINT SPC(78); ' erase previous prompt
n$ = UCASE$(name$) ' convert search name to upper case
COLOR 14' change foreground color to yellow
LOCATE 29, 2: PRINT "Searching..."; 'print message
SLEEP
Enter a name to search for... █
Explanation: The red semicolon after LINE INPUT acts like a semicolon after a PRINT, which keeps the print cursor on the same row.
- INPUT (file mode), INPUT (file statement), LINE INPUT (file statement)
- INPUT, INPUT$ (keyboard input)
- COLOR, LOCATE
- INKEY$
- _KEYHIT, _KEYDOWN