1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-06-29 11:40:38 +00:00
QB64-PE/internal/help/LINE_INPUT.txt
SteveMcNeill 33adc04fc4 Add temp folder to repo. It's necessary as well!
Just more initial setting on... nothing much to see here.
2022-04-28 13:39:56 -04:00

54 lines
2.6 KiB
Plaintext

The [[LINE INPUT]] statement requests a [[STRING]] keyboard entry from a program user.
{{PageSyntax}}
: [[LINE INPUT]] [;] "[text prompt or question]"{,|;} {{Parameter|stringVariable$}}
: [[LINE INPUT]] ; {{Parameter|stringVariable$}}
{{Parameters}}
* 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 {{Parameter|stringVariable$}}.
* Requires only one [[STRING|string]] variable to hold the entire text entry.
{{PageDescription}}
* Cannot use numerical [[type]] variables or [[comma]] separated variable lists for multiple entries.
* Allows [[comma]]s and [[quotation mark]]s 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|console]] window.
* '''Note: QB64''' will not remove CHR$(0) from the end of LINE INPUT string return values like QBasic did.
{{PageExamples}}
''Example:'' Preventing screen roll after an input entry on the bottom 2 screen rows.
{{CodeStart}} '' ''
{{Cl|SCREEN}} 12
{{Cl|COLOR}} 14: {{Cl|LOCATE}} 29, 2 ' place dursor at beginning of prompt liine
{{Cl|PRINT}} "Enter a name to search for... "; 'print prompt on screen
{{Cl|COLOR}} 15: {{Cl|LINE INPUT}} {{text|;|red}} "", name$ ' get search name from user
{{Cl|LOCATE}} 29, 2: {{Cl|PRINT}} {{Cl|SPC}}(78); ' erase previous prompt
n$ = {{Cl|UCASE$}}(name$) ' convert search name to upper case
{{Cl|COLOR}} 14' change foreground color to yellow
{{Cl|LOCATE}} 29, 2: {{Cl|PRINT}} "Searching..."; 'print message
{{Cl|SLEEP}}
{{CodeEnd}}
{{OutputStart}}{{text|Enter a name to search for...|#FFFF00}} █
{{OutputEnd}}
: ''Explanation:'' The {{text|red|red}} [[semicolon]] after LINE INPUT acts like a semicolon after a [[PRINT]], which keeps the print cursor on the same row.
''See also:''
* [[INPUT (file mode)]], [[INPUT (file statement)|INPUT #]], [[LINE INPUT (file statement)|LINE INPUT #]]
* [[INPUT]], [[INPUT$]] {{text|(keyboard input)}}
* [[COLOR]], [[LOCATE]]
* [[INKEY$]]
* [[_KEYHIT]], [[_KEYDOWN]]
{{PageNavigation}}
<