Output commands

From Color 64 BBS Wiki

Programming Features - Output Commands

The Color 64 output commands differ from the BASIC PRINT statement because they not only print the information to the screen, but they also print the output to the user that is online. If you use a regular PRINT statement while a user is online, then the text will only be printed on your own screen. Another thing that the output commands do is automatically convert the output to ASCII or ANSI, if the user online is using one of those two text modes.

Text Output Commands
Cmd Details
# Format: #[<expression list>]

Example:

Output:

<expression list>: A single or list of expressions that may be separated by semicolons (just like the PRINT statement). If you do not include anything after the "#" command, then the contents of A$ will be printed. This shortcut is often used in routines where A$ is read in from disk or from the keyboard and must be used if you wish to put the information in the caller log as well. The "#" command will print a carriage return at the end of the line unless you put a ";" semicolon at the end of the command.

$ Same rules as above, only the output will not include a carriage return. Useful for prompts.

Example:

% and & The "%" and "&" commands are substitutes for the "#" and "$" commands, respectively. Their difference is that they will automatically adjust alphabetic text (A through Z) so that it will always be readable in the case that Uppercase/Graphics mode has been turned on. If the computer is in Uppercase/Graphics mode and the text line to be printed contains shifted letters, then the line will "unshift" them so that they will be letters (and not Commodore graphics characters) when printed. These commands are used in the text editor routines, where the uppercase and lowercase modes can be changed at will.
‘ and ( Similar to “#” and “$” output commands, except that these would go out to the modem only and would not be visible on the local screen of the Sysop.

Primarily used when "AT" commands are to be sent or information needs to be transmitted "unformatted" by the regular output commands. The CTRL/Y character does NOT work with these two commands.

The " ' " apostrophe command follows the same format as the '#' command. This command outputs the text directly to the modem, without doing any conversion and without printing anything to the screen. A carriage return will be printed at the end of the output line, unless a ";" semicolon is included at the end of the command.

The " ( " open parenthesis command works much the same as the " ' " command, except that a carriage return will never be printed at the end of the output line.

A warning about using the single character commands: If the text to be printed is also intended to be put in the caller log, then you must make sure that you use the A$=<text>:# version. Otherwise, the wrong information may be put in the caller log because A$ will never be changed to the correct string. The above commands do not alter A$. This same warning also applies to any other situation where the information to be printed may be used elsewhere.


Control-Y Command in Quotes

A special control character has been added to the output routines that allows you to print carriage returns without using the CR$ and C2$ variables. CTRL/Y behaves exactly like a carriage return, except it can be “recorded". This means that in BASIC you can type it inside quotes, and on the BBS, you type it without ending the current input line. CTRL/Y does not cancel the velocity MCI command (£v) either, which enables you to type a long message without having the carriage return cancel the velocity command. Please note that CTRL/Y CANNOT replace CR$ when data is being printed to disk files (data such as a message header or system parms). The only times CTRL/Y should be used is if you know that the output is going to be printed only to the screen, and not read in from a file as data. The reason for this is that CTRL/Y is not recognized by BASIC's INPUT routine as a valid end-of-line character. An exception to this restriction is if the CTRL/Y is intended to be read in as part of the data, in which case it would still have to be followed by a normal carriage return. See the section on customizable message headers for an example of this.

Next Section: The Enhanced If/Then Statement

Programming Features