Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
custom:javascript [2019/07/26 17:08] – old revision restored (2019/07/06 02:41) - @-codes really don't work with console.print() digital mancustom:javascript [2020/05/02 15:48] – [Input] Add notes and console.inkey() method digital man
Line 146: Line 146:
 === Carriage Returns === === Carriage Returns ===
 If you wish to send a traditional "carriage return" character to the client terminal (i.e. move the cursor to the far left column without advancing to the next line) it is recommended that you use an output method/function that supports [[custom:Ctrl-A codes]] and you send the Ctrl-A ''[''  sequences //instead of// an ASCII 13 (''\r'') character. This is required for PETSCII terminal compatibility, where an ASCII 13 character performs a complete "newline" sequence (the equivalent of ''\r\n'') on the client terminal. If you wish to send a traditional "carriage return" character to the client terminal (i.e. move the cursor to the far left column without advancing to the next line) it is recommended that you use an output method/function that supports [[custom:Ctrl-A codes]] and you send the Ctrl-A ''[''  sequences //instead of// an ASCII 13 (''\r'') character. This is required for PETSCII terminal compatibility, where an ASCII 13 character performs a complete "newline" sequence (the equivalent of ''\r\n'') on the client terminal.
 +
 +==== Input ==== 
 +
 +^ Method                    ^ BBS((Terminal Server)) ^ JSexec ^ Notes ^
 +| ''read()''                | Yes                    | Yes    | Read up to maxlen (default 128) characters of input  |
 +| ''readln()''              | Yes                    | Yes    | Read a string (line of input) from user, up to maxlen chars (default: 128) |
 +| ''console.inkey()''       | Yes                    | No     | Wait for a key-press or an elapsed timeout duration |
 +| ''console.getstr()''      | Yes                    | No     | Get a string of characters from user  |
 +| ''console.getkey()''      | Yes                    | No     | Get a single key-press       |
 +| ''console.getbyte()''     | Yes                    | No     | Get a unprocessed input byte from remote terminal |
 +| ''console.getnum()''      | Yes                    | No     | Get a number (between 1 and maxnum) from user     |
 +| ''console.getkeys()''     | Yes                    | No     | Get a key from a list of valid keys, or a number  |
 +| ''console.gettemplate()'' | Yes                    | No     | Get a string conforming to a provided input template  |
 +
 +==== Prompt ==== 
 +
 +Often you'll want your script to prompt the user for some input (e.g. a string of text or a single key). A prompt involves both //output//  (first, from the BBS) and //input// (from the user):
 +
 +^ Method              ^ BBS((Terminal Server)) ^ JSexec ^ Notes ^
 +| ''prompt()''        | Yes                    | Yes    |       |
 +| ''confirm()''       | Yes                    | Yes    |       |
 +| ''deny()''          | Yes                    | Yes    |       |
 +| ''console.yesno()'' | Yes                    | No           |
 +| ''console.noyes()'' | Yes                    | No           |
 +| ''console.mnemonics()'' | Yes                    | No           |
 +
 ===== See Also ===== ===== See Also =====
   * [[http://synchro.net/docs/jsobjs.html|Synchronet JavaScript Object Model]]   * [[http://synchro.net/docs/jsobjs.html|Synchronet JavaScript Object Model]]
custom/javascript.txt · Last modified: 2023/08/04 19:24 by digital man
Back to top
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0