Output commands: Difference between revisions
Created page with "Programming Features - <strong>Output Commands</strong> 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..." |
No edit summary |
||
| (One intermediate revision by the same user not shown) | |||
| Line 1: | Line 1: | ||
[[programming features|Programming Features]] - <strong>Output Commands</strong> | [[programming features|Programming Features]] - <strong>Output Commands</strong> | ||
The Color 64 output commands differ from the BASIC PRINT statement | The Color 64 output commands differ from the standard BASIC PRINT statement. These commands send output both to the local screen and to the remote user. A regular PRINT statement only displays text on the Sysop’s screen when a caller is online. | ||
{| class="wikitable | Additionally, the Color 64 output commands automatically convert output to ASCII or ANSI when the remote user is operating in those text modes. | ||
{| class="wikitable" | |||
|- | |- | ||
|+Text Output Commands | |+ Text Output Commands | ||
! Cmd | ! Cmd | ||
! Details | ! Details | ||
|- | |- | ||
| # | | # | ||
| Format: #[<expression list>] | | Format: #[<expression list>] | ||
Example: | |||
[[File:poundsign.jpeg|center|260px]] | Example: | ||
[[File:poundsign.jpeg|center|260px]] | |||
Output: | Output: | ||
[[File:poundsignoutput.jpeg|center|260px]] | [[File:poundsignoutput.jpeg|center|260px]] | ||
<expression list> | <expression list> may be a single expression or multiple expressions separated by semicolons (similar to PRINT). | ||
If nothing follows the "#" command, the contents of A$ will be printed. This shortcut is commonly used when A$ contains data read from disk or keyboard input and must also be recorded in the caller log. | |||
The "#" command automatically appends a carriage return unless a trailing semicolon is included. | |||
|- | |- | ||
| $ | | $ | ||
| Same rules as | | Same usage rules as "#", except no carriage return is appended. This makes it suitable for prompts. | ||
Example: | Example: | ||
[[File:dollarsignoutput.jpeg|center|260px]] | [[File:dollarsignoutput.jpeg|center|260px]] | ||
|- | |- | ||
| % and & | | % and & | ||
| | | "%" and "&" function like "#" and "$" respectively, but automatically adjust alphabetic characters (A–Z) to remain readable if Uppercase/Graphics mode is enabled. | ||
If the system is in Uppercase/Graphics mode and shifted letters are present, these commands automatically convert them back to readable letters instead of Commodore graphic symbols. | |||
These commands are commonly used in text editor routines where uppercase and lowercase modes may be switched dynamically. | |||
|- | |- | ||
| | | ' and ( | ||
| | | These commands operate similarly to "#" and "$", but output is sent only to the modem and not displayed on the Sysop’s local screen. | ||
They are primarily used when sending AT modem commands or when transmitting data that must not be processed by the normal output formatting routines. The CTRL/Y character does not function with these commands. | |||
The | The apostrophe (') command: | ||
* Uses the same format as "#". | |||
* Sends output directly to the modem. | |||
* Performs no ASCII/ANSI conversion. | |||
* Appends a carriage return unless a trailing semicolon is included. | |||
The " ( " | The open parenthesis "(" command: | ||
* Functions like the apostrophe command. | |||
* Never appends a carriage return. | |||
|} | |} | ||
Important Note on Logging | |||
When output must also be recorded in the caller log, you must use the format: | |||
A$=<text>:# | |||
If you do not assign the text to A$ first, incorrect information may be written to the caller log because these output commands do not modify A$. | |||
This caution applies to any situation where printed data is later reused elsewhere in the program. | |||
<strong>Control-Y Command in Quotes</strong> | |||
A special control character, CTRL/Y, has been added to the output routines. It functions like a carriage return but may be embedded directly inside quoted text. | |||
In BASIC, CTRL/Y can be typed within quotation marks. On the BBS, it may be entered without terminating the current input line. | |||
Key characteristics: | |||
* Behaves like a carriage return. | |||
* Can be recorded within text. | |||
* Does not cancel the velocity MCI command (£v), allowing long formatted output without interruption. | |||
Restrictions: | |||
* CTRL/Y cannot replace CR$ when writing structured data to disk (such as message headers or system parameter files). | |||
* It should only be used when output is intended strictly for screen display and not later read by BASIC’s INPUT routine. | |||
* BASIC’s INPUT command does not recognize CTRL/Y as a valid end-of-line character. | |||
An exception exists when CTRL/Y is intended to be stored as part of the data itself. In that case, it must still be followed by a standard carriage return. | |||
See the customizable message headers section for an example of proper usage. | |||
Next Section: [[enhanced if statement|The Enhanced If/Then Statement]] | Next Section: [[enhanced if statement|The Enhanced If/Then Statement]] | ||
[[programming features|Programming Features]] | [[programming features|Programming Features]] | ||
Latest revision as of 23:03, 27 February 2026
Programming Features - Output Commands
The Color 64 output commands differ from the standard BASIC PRINT statement. These commands send output both to the local screen and to the remote user. A regular PRINT statement only displays text on the Sysop’s screen when a caller is online.
Additionally, the Color 64 output commands automatically convert output to ASCII or ANSI when the remote user is operating in those text modes.
Important Note on Logging
When output must also be recorded in the caller log, you must use the format:
A$=<text>:#
If you do not assign the text to A$ first, incorrect information may be written to the caller log because these output commands do not modify A$.
This caution applies to any situation where printed data is later reused elsewhere in the program.
Control-Y Command in Quotes
A special control character, CTRL/Y, has been added to the output routines. It functions like a carriage return but may be embedded directly inside quoted text.
In BASIC, CTRL/Y can be typed within quotation marks. On the BBS, it may be entered without terminating the current input line.
Key characteristics:
- Behaves like a carriage return.
- Can be recorded within text.
- Does not cancel the velocity MCI command (£v), allowing long formatted output without interruption.
Restrictions:
- CTRL/Y cannot replace CR$ when writing structured data to disk (such as message headers or system parameter files).
- It should only be used when output is intended strictly for screen display and not later read by BASIC’s INPUT routine.
- BASIC’s INPUT command does not recognize CTRL/Y as a valid end-of-line character.
An exception exists when CTRL/Y is intended to be stored as part of the data itself. In that case, it must still be followed by a standard carriage return.
See the customizable message headers section for an example of proper usage.
Next Section: The Enhanced If/Then Statement


