Please enable JavaScript to view this site.

A-Shell Reference

Navigation: » No topics above this level «

Tab Functions

Scroll Prev Top Next More

Rewritten December 2023

Tab() functions serve to convert high-level commands related to terminal/workstation display (cursor positioning, clear screen, set colors, etc.) into the cryptic character sequences (aka "ESCAPE sequences") used by the terminal/workstation/display device. Aside from making these operations human-intelligible, Tab() commands work with the terminal drivers built in to A-Shell, or OS-level terminal support packages like TERMINFO, to provide a uniform set of commands at the application level even though the character sequences may vary among terminal or emulator types. For example, TAB(6,9) generates the ESCAPE sequence to position the cursor at row 6, column 9, even though the actual character sequence required may vary between, say, workstations using the AM75G and WYSE50 emulations.

Since all Tab() commands are meant to be seen by the terminal/client/workstation, they must be provided as an argument to a statement that sends characters to the device. The most typical such command is PRINT (or ?), which is why these commands are often referred to as "Print Tab Functions". But it should be noted that WRITECD (a variation for outputting delimited lists) and potentially other statements which output character sequences may work as well, or better, depending on the situation.

The two general classes of Tab functions are:

Terminal Functions, by which we mean functions that are used with traditional or "dumb" terminals. These were originally known as "TCRT" calls, although the origin of that acronym is unknown.
ATE Functions which are used only with "smart" terminals, also known as "clients" or "workstations." In A-Shell environments, the usual smart client is a PC running A-Shell's terminal emulator software ATE.