Foreword

Display Manager" , a productivity tool from Digital Research, is a
quick, easy-to-use, efficient tool to help you design and use
display screens in your application programs.

For system designers, Display Manager offers the ability to design
display screens exactly as they appear to the end-user of a program.
Display design takes place on a computer terminal screen, not on
paper worksheets.

For programmers, Display* Manager simplifies programming tasks,
reduces the size and complexity of programs, and makes it possible
for a program to work on many different computer terminals with
virtually no changes required in the program code. In many ways,
Display manager is an automatic programming tool.

Your Display Manager documentation includes the following:

e		Display Manager Productivity Tool Reference Manual (hereafter
7ited as Reference Manual)

o		D'
.,j%laiL1a,n,a,qer Productivity Tool Programmer's Guide (hereafter
1 d s ogrammer's Guide)

Your Reference Manual describes how to create displays and use them
in your application programs. Your Programmer's Guide contains
information specific to using Display manager with a particular
operating system and programming languages. You need both the
Reference Manual and Programmer's Guide to make proper use of
Display Manager.

Note: Due to limitations of 8-bit microprocessors, the Help and
Color facilities in Display manager are not available to computers
based on these chips. If you are implementing Display Manager on
such equipment, disregard all references in your documentation to
these facilities.
Table of Contents

1		Introduction to Display Manager

Major Components . . . . . . . . . . . . . .

Benefits . . . . . . . . . . . . . . . . . .

.What You See Is What You Get . . . . . .
Reduced Program Size ... . . . . . . . .
Easier Program Maintenance . . . . . . .
Simplified Display Designing Methods
Automatic Documentation . . . . . .
Uses the Features of any Computer Termina
Separates Designing and Programming Tasks
Optimum Response Times . . . . . . . . . . . .

2		How Display Manager Works

Terminal Setup Environment . . . . . . . .

Editor Environment . . . . . . . . .

Applications Programming Environment

Run-time Environment . . . . . . . . . . . . . . . . .

Summary . . . . . . . .

3		Terminal Setup Program

Starting the Terminal Setup Program . . . . . . . . . . 3-1

Overview of Terminal Setup Program Options . . . ... . . 3-2

Option E--Create Editor Program for Design Terminal 3-2
Option W--Write Terminal Control Codes to Disk File 3-2
Option C--Custom Terminal Setup . . . . . . . . . . 3-2
Option T--Test Terminal Control Codes . . . . . . . 3-2
Option ESC--Stop Terminal Setup Program . . . . . . 3-2

Option E--Create Editor for Design Terminal . . . . . . 3-3

Option W--Write Terminal Control Codes to Disk File 		3-6

Option C--Custom Terminal Setup . . . . . . . . . . . . 3-8

Option T--Test Terminal Control Codes . . . . . . . . . 3-8

v
Table of Contents
	(continued)

4	Display Design Concepts

Displays . . . . . . . . . . . . ..

Display Files .

Display Fields . . . . . . . . . . . . . . . .. . . . . .	4-4
	Literal Fields . . . . . . . . . . . . . . . . . .	4-5
Input Fields . . . . . . . . . . . . . . . . . . .	4-5
	Output Field 	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.	4-7

Video Attributes . . . . . . . . . . . . . . . . . . . .	4-8
Color Attributes . . . . . . . . . . . . . . . . . . . .	4-10
Status Window . . . . . . . . . . . . . . . . . . . . .	4-12

Status Window Elements	. . . . . . . . . . . . . .4-13
Status Window Video Attributes . . . . . . . . . . 4-19
Status Window Color Attributes . . . . . . . . . . 4-20

5 Editor options

Starting the Editor . . . . . . . . . . . . . . . . . . 5-1

Editor main menu . . . . . . . . . . . . . . .

Option E--Edit A Display . . . . . . . . . . . . . . . . 5-6

Creating New Displays . . . . . . . . . . . . . . . 5-6
Global Values . . . . . . . . . . . . . . . . . . . 5-7
Copying Existing Displays . . . . . . . . . . . . . 5-9
Editing Existing Displays . . . . . . . . . . . . . 5-10

Option D--Delete a Display . . . . . . . . . . . . . . . 5-11

Option R--Renumber The Displays

Renumbering Groups of Displays . . . . .	5-13
Renumbering Individual Displays . . . . . . . . 	5-14

Option O-Open A Display File . . . . . . . . . . . . . 5-15

Option Q--Help and Instructions

Option X--Exit From the Editior

vi
Table of Contents
	(continued)

6		Editor Commands

Cursor Movement Commands . . . . . . . . .

Beginning of Field: CTRL-US or CTRL-UH . . . . . . 6-4
Beginning of Next Line: RETURN . . . . . . . . . . 6-4
Down Half Screen: CTRL-QX or CTRL-QJ . . . . . . . 6-4
Down One Line: CTRL-X or CTRL-J . . . . . . . . . 6-4
End of Field: CTRL-UD or CTRL-UL . . . . . . . . . 6-4
Left Half Screen: CTRL-QS or CTRL-QH . . . . . . . 6-4
Left One Space:		CTRL-S or CTRL-H . . . . . . . . .	6-4
Next Field: CTRL-UF . . . . . . . . . . . . . . .		6-5
Next Word: CTRL-F . . . . . . . . . . . . . . . .		6-5
Previous Field:		CTRL-UA . . . . . . . . .	6-5
Previous Word:		CTRL-A . . . . . . . . . .	6-5
Right Half Screen: CTRL-QD or CTRL-QL . . . . . . 6-5
Right One Space: CTRL-D or CTRL-L . . . . . . . . 6-5
Tab: CTRL-I . . . . . . . . . . . . . . . . . . . 6-5
Up Half Screen: CTRL-QE or CTRL-QK . . . . . . . . 6-6
Up One Line: CTRL-E or CTRL-K . . . . . . . . . . 6-6

Field Editing Commands . . . . . . . . . . . . . . . . . 6-6

Boundary Display (All Fields): CTRL-QB . . . . . .		6-6
Boundary Display (Fields on a Single Line): CTRL-B		6-6
Change Field to Literal: CTRL-UZ . . . . . . . . .		6-7
Copy Field to Cursor Location: CTRL-UC . . . . . .		6-7
Define Input Field: CTRL-UI . . . . . . . . . . .		6-7
Define Output Field: CTRL-UO . . . . . . . . . . .		6-9
Delete Field: CTRL-UG . . . . . . . . . . . . . .		6-9
Move Right Field: CTRL-UV . . . . . . . . . . . .		6-9
Move Field to Cursor Location: CTRL-UM . . . . . .		6-9
Renumber Fields: CTRL-UR . . . . . . . . . . . . .		6-9
Set Status Window Values as Default: CTRL-UW . . .		6-9
Status Window Display: CTRL-W . . . . . . . . . .		6-10
Status Window Display (Constant): CTRL-QW . . . .		6-10
Template Insertion: CTRL-P . . . * ' * * ' *		6-11
Video/Color Attributes Display: C~RL-Q*Y or CTRL-Y 		6-11

Display Design Commands . . . . . . . . . . . . . . . . 6-11

Center Line: CTRL-OC . . . . . . . . . . . . . . . 6-11
Delete Character to Left: DEL or RUBOUT . . . . . 6-12
Delete Character Under Cursor: CTRL-G . . . . . . 6-12
Delete Line:		CTRL-QG . . . . . . . . . . . . . . .6-12
Delete Word to Right: CTRL-T . . . . . . . . . . . 6-12
Draw Border: CTRL-OB . . . . . . . . . . . . . . .		6- ' 12
Insert Line: CTRL-QV . . . . . . . . . . . . . . .		6-12
Insert Space: CTRL-V . . . . . . . . . . . . . . .		6-13
Print Documentation: CTRL-OUW . . . . . . . . . . 6-13

vii
Table of Contents
(continued)

Display File Commands	. . . . . . . . . . . . . . . . .6-16

Abandon Work, Do Not Save Display: CTRL-OUQ . . . 6-16
Change Global Values: CTRL-OUG . . . . . . . ... . 6-17
Save Display, Edit the Next One: CTRL-OUN . . . . 6-17
Save Display, Edit the Previous One:	CTRL-OUP	6-17
Save Display, Resume Editing Same One:		CTRL-OUS	6-17
Save Display, Return to Main Menu: CTRL-OUT . . . 6-17
Write Documentation: CTRL-OUW . . . . . . . . . . 6-17
Help Instructions: CTRL-OU? . . . . . . . . . . . 6-17

Editor Commands Summary . . . . . . . .

7 Applications Programming

Overview of Applications Programming . . . . . . . . . .	7-1

Function Categories . . . . . . . . . . . . . . . . . .	7-3
Function Descriptions . . . . . . . . . . . . . . . . .	7-4

	CLRSCR . . . . . . . . . . . . . . . . . . . . . .	7-5
	CLSDIS . . . . . . . . . . . . . . . . . . . . . .	7-6
	CURS . . . . . . . . . . . . . . . . . . . . . . .	7-7
	DISPD . . . . . . . . . . . . . . . . . . . . . . .	7-9
	ENDF . . . . . . . . . . . . . . . . . . . . . . .	7-11
	GETF . . . . . . . . . . . . . . . . . . . . . . .	7-13
	INITDM . . . . . . . . . . . . . . . . . . . . . .	7-16
	.NXTF . . . . . . . . . . . . . . . . . . . . . . .	7-21
	OPNDIS . . . . . . . . . . . . . . . . . . . . . .	7-23
POSF . . . . . . . . . . . . . . . . . . . . . . .	7-25
PUTF . . . . . . . . . . . . . . . . . . . . . . .	7-27
RESF . . . . . . . . . . . . . . . . . . . . . . .	7-29
RETDM . . . . . . . . . . . . . . . . . . . . . .	7-31
RETF . . . . . . . . . . . . . . . . . . . . . . .	7-34
SETF . . . . . . . . . . . . . . . . . . . . . . .	7-36
UPDF . . . . . . . . . . . . . . . . . . . . . . .	7-39

Run-time Environment . . . . . . . . . . . . . . . . . .	8-1

viii
Appendixes

A		Terminal Control Codes

TERMS.DM File .

Display Manager-supported Terminals
User-supported Terminals . . . . . . .

Terminal Control Code Structures . . . . .

Display Manager-supported Terminals

User-supported Terminals . . . . . . . . . . . . . .

B		Summary of Restrictions and Limitations

Terminals . . . . . . . . . . . . . . . . .

Display Files . . . . . . . . . .

Fields . . . . . . . . . .

Run-time Library . . . . . . . . . . . . . .

C		Custom Terminal Setup

Option T--Set Up Control Codes for this Terminal . . . . C-3

Option F--Set Up Control Codes for a Different Terminal 		C-5

Option C--Change Terminal Control Codes . . . . . . . . C-7

Option D--Delete Terminal Control Codes . . . . . . . . C-9

Option E--Examine Terminal Control Codes . . . . . . . . C-9

Custom Terminal Setup Questions . . . . . . . . . . . . C-10

Screen Size Questions . . . . . . . . . . . . . . . C-11
Clear Screen Questions . . . . . . . . . . . . . . C-12
Cursor Positioning Questions . . . . . . . . . . . C-12
Start-up Codes Questions . . . . . . . . . . . . . C-13
Standard Video Attributes Questions . . . . . . . . C-13
User-defined Attributes Questions . . . . . . . . . C-14
Multiple Attributes Questions . . . . . . . . . . . C-14
Cursor Arrow Keys Questions . . . . . . . . . . . . C-15
Function Keys Questions . . . . . . . . . . . . . . C-15
Cursor ON/OFF Questions . . . . . . . . . . . . . . C-15

Completing Custom Terminal Setup . . . . . . . . . . . . C-19

ix
Tables and Figures

Tables

Video Attributes . . . . . . . . . . . . . . . . . . . 4-9
Color Attributes . . . . . . . . . . . . . . . . . . . 4-11
Input Field Validation Codes . . . . . . . . . . . . . 4-15
Interpretation of Input Validation Types . . . . . . . 4-16
Field Format Codes . . . . . . . . . . . . . . . . . . 4-17
Background Color Codes . . . . . . . . . . . . . . . . 4-21
Foreground Color Codes . . . . . . . . . . . . . . . . 4-22

Editor Main Menu Options . . . . . . . . . . . . . . . 5-5

Editor Commands by Category . . . . . . . . . . . . . 6-2
Editor Commands Summary . . . . . . . . . . . . . . . 6-20

Display Manager Functions by Category . . . . . . . . 7-2
CURS Function Argument Values . . . . . . . . . . . . 7-7
ENDF Return Values . . . . . . . . . . . . . .. . . . . 7-11
Data Entry Editing Control Keys . . . . . . . . . . . 7-14
Program Attributes String . . . . . . . . . . . . . . 7-16
INITDM Run-time Errors . . . . . . . . . . . . . . . . 7-19
NXTF Argument Values . . . . . . . . . . . . . . . . . 7-21
RETDM Terminal Features . . . . . . . . . . . . . . . 7-31
Field Information from RETF . . . . . . . . . . . . . 7-34
SETF Argument Values . . . . . . . . . . . . . . . . . 7-36

Run-time Error Function Codes . . . . . . . . . . . . 8-3
Run-time Error Values . . . . . . . . . . . . . . . . 8-3

Display Manager-supported Terminals . . . . . . . . . A-3
User-supported Terminals . . . . . . . . . . . . . . . A-7

Custom Terminal Setup Options . . . . . . . . . . . . C-2
Other Display Manager Files . . . . . . . . . . . . . C-3

Figures

Basic Principles . . . . . . . . . . . . . . . . . . . 1-2

Display Manager Environments . . . . . . . . . . . . . 2-2

Terminal Setup Program Main Menu . . . . . . . . . . . 3-1
Create Editor for Design Terminal . . . . . . . . . . 3-4
Terminal Control Codes/Editor Name Screen . . . . . . 3-5
Terminal Control Code Filename Prompt . . . . . . . . 3-6
Write Terminal Control Codes to Disk File . . . . 3-7
Terminal Test Menu . . . . . . . . . . . . . . . . . . 3-9

x
Tables and Figures
(continued)

Editor Environment . . . . . . . . . . . . . . . . . .		4-2
Sample Menu Display . . . . . . . . . . . . . . . . .		4-3
Output Field Status Window . . . . . . . . . . . . . . 4-12
Input Field Status Window . . . . . . . . . . . . . . 4-13

Editor Start-up Screen . . . . . . . . . . . . . . . .		5-1
Display File Name Prompt . . . . . . . . . . . . . . .		5-2
New Display File Prompt . . . . . . . . . . . . . . .		5-3
Display File Open Message . . . . . . . . . . . . . .		5-3
	Editor Main Menu . . . . . . . . . . . . . . . . 			.	5-4
Edit a Display Screen (New Display File) . . .			. . . . 5-6
New Display Title Screen . . . . . . .			. . . .	. . . . 5-7
Global Values Prompt . . . . . . . . .			. . . .	. . . . 5-8
Copy Existing Display Prompt . . . . .			. . . .	. . . . 5-9
Copy Existing Display Options Menu . .			. . . .	. . . . 5-10
Edit a Display Screen (Existing Display File)			. . . . 5-11
Delete a Display Screen . . . . . . .			. . . .	. . . . 5-12
Renumber Displays Screen . . . . . .			. . . .	. . . . 5-13
Example of Renumbering Groups of Dispiays . .			. . . . 5-14
Example of Renumbering an Individual Display .			. . . . 5-15
Display File Closing Message . . . . .			. . . .	. . . . 5-16
Open Another Display File Prompt . . .			. . . .	. . . . 5-16
Editor Exit Screen . . . . . . . . . .			. . . .	. . . . 5-18
Documentation Options Menu . . . . . . . . . . . . . 6-13
Sample Display . . . . . . . . . . . .			. . . .	. . . . 6-14
Sample of Display Documentation . . .			. . . .	. . . . 6-15
Output Options Menu . . . . . . . . .			. . . .	. . . . 6-16
Application Programming Environment .			. . . .	. . . . 7-2
Terminal Control Code Example String .			. . . .	. . . .7-19

Run-time Environment . . . . . . . . . . . . . . . . .		8-2

Example of Terminal Control Code . .

Custom Terminal Setup Options Menu .
Set Up Control Codes for This Terminal . . .
Set Up Control Codes for a Different Terminal
Change Terminal Control Codes . . . . . . . . . . .
Custom Terminal Setup Questions Menu . . .
User-supported Terminal Setup Screen . . . . . . . . .

xi
Section I
Introduction to Display Manager

A time-consuming, tedious task in developing computer programs is
designing, creating, and maintaining the displays that show on the
screen at the time the program is run. For example, if you write a
program in CBASICO Compiler, you need a large number of PRINT and
PRINT USING statements to show displays on the screen. If the
program has many displays, it might require hundreds of such
statements. Furthermore, the displays require a large amount of
main memory and make the program difficult to debug and maintain.

Display Manager solves these and other problems by making it
possible to design displays directly on your terminal screen, as
shown in the figure on the following page. When a display looks
exactly as you want it to appear when your program is run, you can
store it in a disk file for subsequent use by the program. When the
program needs to show a display on the terminal, it reads the
display from the disk file and places it on the screen.

You can design displays on one terminal, then show them on the same
or different terminals. Display Manager makes it possible to design
displays that work properly on a wide variety of terminals.

KWOR COHMNENTS

Display Manager has three major components:

		The Terminal Setup Program makes it possible for your
application programs to work with whatever computer terminals
you require. Under most circumstances, simply run the program
and select the terminals you want to use from a list.

		The Editor Program helps you design, create, change, and delete
displays directly on your terminal screen. Many additional
options are available to you in this program.

		The Run-time Library is a library of routines that your
application programs can use to manage and manipulate the
displays created with the Editor program.

1- 1
Display Manager Reference manual	Major Components

DESIGN AND CREATE
DISPLAYS USING ANY
COMPUTER TERMINAL ...

	DISPLAY
	FILE	...		THEN STORE THEM
I
- - - - - - I	IN A DISK FILE 

		THESE CAN
	BE THE SAME OR
DIFFERENT TERMINALS

	TO BE USED LATER
RAM	YOU
BYYOURPROGRAM ...

... WHEN THEY ARE SHOWN
ON A TERMINAL AS THE
PROGRAM IS RUN.

DISPLAYS CAN BE
DESIGNED TO WORK ON
A WIDE VARIETY OF
TERMINALS.

Basic Principles

1-2
Display Manager Reference Manual 		Benefits

BENEFITS

The following sections describe the most significant benefits of
using Display Manager.

What You See Is What You Get

You design displays with Display Manager on a terminal screen to
look exactly as you want them to appear when your application
program runs. Display Manager also simplifies using available
features on a terminal, such as highlighting, inverse video,
underlining, color, and others.

Reduced Program Size

Programs written using Display Manager require fewer lines of code.
Here are the primary reasons:

e		You can virtually eliminate PRINT- and PRINT USING-type
statements, replacing them with a single statement calling a
Display Manager routine to perform the same functions.

e		Display Manager routines provide the necessary logic to check
the validity of information entered on a terminal by an end
user. Consequently, your programs do not need extensive data
validation routines. Display Manager's validation routines
provide you with several options for handling invalid input.

e		The actual image of each display in a program is stored in a
compacted file on disk, and not as part of your program. This
reduces the size of both the source and *object program;
consequently, the program requires less memory to run.

Easier Program Maintenance

Because your programs contain fewer lines of code, they are shorter,
simpler, and much easier to debug and maintain. In many programs,
PRINT or PRINT USING and data validation routines alone comprise
much of the code. Their elimination reduces the complexity and size
of your programs.

Simplified Display Designing methods

Without Display Manager, the simplest method for designing displays
is to lay them out on worksheets as a means of determining the row
and column numbers for each field. With Display Manager, you type
the information you want shown in your display on the screen of your
terminal. You reserve space in the display for entering information
and displaying information derived by your program. Row and column
numbers are no longer a major concern.

1-3
Display Manager Reference Manual 	Benefits

Also, changes in the design of a display do not require poring over
endless formatting statements, such as PRINT USING, to find and
change the correct ones. Simply use the Display Manager Editor to
place the display back on your terminal screen, make the necessary
changes, and store the modified display back in the disk file.

Automatic Documentation

By entering a single command on your terminal keyboard, you can
instruct Display Manager to prepare detailed documentation for each
display you create. You can either print the documentation or store
it ina disk file. You can then use a word processor to enhance the
information as required. This is a simple, effective method for
creating user manuals and program documentation.

Uses the Features of any Computer Terminal

Without Display Manager, creating an application program to work
with a variety of terminals is a complex task. You must determine
what codes to send to the terminal to activate its features, then
code them into your program. Because terminals vary significantly
in their features and codes, this can add a great deal of time and
difficulty to the task.

With Display Manager, creating programs to work with different
terminals requires minimum effort on your part. In most cases, you
only must enter one line of code in your source program to make it
work with different terminals. This is even true when you design
applications to work on both monochrome and color terminals.

Separates Designing and Programing Tasks

With Display Manager, designing displays is independent of coding
the program. A systems analyst can develop as a separate step all
displays for an application. A programmer can then use the
displays, specifications, and documentation created with Display
Manager to do the coding in the most efficient manner. This
separation of tasks means the user-interface for your applications
is designed and created independently of the actual program logic,
.thus making your applications more user-oriented.

1-4
Display Manager Reference Manual 		Benefits

Optimum Response Times

Display Manager handles screen display, validation of input
information, and output formatting using optimized assembly code.
This provides response times unattainable by other methods and frees
you from these basic tasks.

Many additional benefits become apparent as you begin to use Display
Manager.

End of Section 1

1-5
Section 2
How Display Manager Works

This section explains how Display Manager works by discussing the
various environments in which it functions. For this discussion,
environment refers to your computer hardware and software. Because
several terms and concepts unique to Display Manager first appear in
this section, you might want to study the Glossary before reading
this material.

You use Display Manager in four primary environments:

 Terminal Setup
 Editor
 Applications Programming
 Run-time

The fold-out figure on the following page illustrates these
environments.

A brief discussion of each environment follows. Sections 3 through
8 contain detailed descriptions of each environment and its options.

TERMINAL SETUP ENVIRWIMENT

Display Manager works with most terminals on the market today.
Because these terminals vary in their features, capabilities, and
operation, you must specify to Display Manager which terminals you
will use. The terminal setup program, named DMSET, helps you do
this.

Display Manager sends control codes to a terminal to activate it and
use its features. Therefore, to function properly with a terminal,
Display Manager must know what control codes to send. On your
distribution disks is a file named TERMS.DM, which contains the
control codes for those terminals you can use with Display Manager.

When run, the DMSET program shows you a list of the terminals in the
TERMS.DM file and asks you to pick the terminal or terminals you
want to use from that list. In most cases, that is the only step
needed to set up a terminal for use with Display manager (see
Section 3 for more detailed information) . If you want to use
Display manager with a terminal not in TERMS.DM, you must provide
the control codes for that terminal by answering a series of
questions the DMSET program asks. These questions are in common
English, but to answer them you need the manual for the terminal in
question (see Appendix C for more detailed information).

2-1
Display Manager Reference Manual
	Terminal Setup Environment
(2)
TERMINAL SETUP		(3~
ENVIRONMENT	EDITOR	APPLICATIONS PROGRAMMING
	ENVIRONMENT	ENVIRONMENT
DESIGNER/PROGRAMMER
	PROGRAMMER
PROGRAM
SOURCE
CODE
N TERMINAL
DESIG
DIGITAL FUNCTION CALLS
RESEARCH - - - - - -
	I COMPILER
THE
EDITOR	I
TERMINAL TERMS.DM
SETUP 41 11-	1 f
PROGRAM FILE	PROGRAM LINK
OBJECT RUN-TIME
	MODULE LIBRARY
	DISPLAY 250
LTERMINAL	DISPLAY N
CONTROL	DISPLAY	1
CODES
FILE
RUN-TIME
TERMINAL
DISPLAY
FILE

END-USER (4)
	_T~
,.r
RLI
UN-T
~V IME
	ENR IRONMENT
	RUN-TIME TERMINAL(S)

Display Manager Environments
Display Manager Reference Manual		Terminal Setup Environment

A terminal used with Display Manager can fall into one or both of
two categories:

e		A design terminal serves to actually create the displays for
your application program. You use this terminal with the
Editor program in the Editor environment. The Editor program
can only be set up to use one, specific design terminal, but
you can set up different versions of the Editor for use with
other design terminals.

Run-time terminals function at the time the application program
runs to present the displays created on the design terminal.
You can use run-time terminals in the run-time environment.
You can design application programs to work with any terminal
in the TERMS.DM file.

Section 3 and Appendix C describe the options available in the
terminal setup environment. Appendix A describes terminal control
codes and the TERMS.DM file.

THE EDITOR ENVIRONMENT

In this environment, you use the design terminal to create the
displays your application program uses in the run-time environment.

While using the Editor, you create a display directly on the screen
of the design terminal. When the display is exactly as you want it
to appear at run-time, you store that display in a display file on
disk. Your application program can use the displays in this file at
run-time.

Besides creating displays, you can use the Editor to change displays
after they are created, remove displays from the file when they are
no longer needed, prepare documentation for individual displays, and
more.

Sections 4 through 6 describe how to use the Editor.

APPLICATIONS PROGRANKING ENVIRONMNT

Once you have created the displays you want to use at run-time, you
can write your application program using one of the Digital Research
programming languages that works with Display Manager (refer to your
Programmer's Guide).

As you create the source code for your program, you code in function
calls to Display Manager routines. These routines are in the
Display Manager Run-time Library and provide the logic needed to do
these and other things:

2-3
Display Manager Reference Manual	Applications Environment

	Place a display on the run-time terminal screen.

	Retrieve information entered by the end-user.

	Show information on the display.

	Place the cursor in a specific location in the display.

		Activate or deactivate features on the run-time terminal, such
as inverse video, half intensity, color, and graphics.

After your application program is compiled using the appropriate
Digital Research compiler, link the resulting object module to the
Run-time Library to include the necessary routines as part of your
program. You can then use the object module, with the included
routines, in the run-time environment.

Section 7 describes the applications programming environment. It
also includes descriptions of the various Display Manager routines
(functions) that you can use in your application programs.

RUN-TIME ENVIRONMENT

Everything created and accomplished in the three preceding
environments comes together in the run-time environment. This
includes the following:

	the file of terminal control codes created with the DMSET
program

	the display file created with the Editor containing the
displays to be used by your application program

	your application program object module including the routines
linked in from the Run-time Library

In the run-time environment, the end-user runs your program using a
run-time terminal. Your program retrieves displays from the display
file and shows them on the run-time terminal screen.

Section 8 describes the run-time environment. It also lists and
describes possible run-time errors.

2-4
Display Manager Reference Manual 		Summary

SUMMARY

To summarize, here are the steps usually required to use Display
Manager:

1.		Create a version of the Editor program for use with your
particular design terminal. This step need only be completed
once for a particular design terminal and is accomplished using
the DMSET program.

2.		Specify the terminals with which your application program will
be used by setting up the control codes for each. Use the
DMSET program to accomplish this step too.

3.		Create the displays you will use in your application program
using the version of the Editor program created in step 1.
Prepare documentation for your displays using an option
available in the Editor program.

4.		Write your application programs using one of the Digital
Research programming languages supported by Display Manager.
Prepare the code using whatever Display Manager functions your
program requires.

5.		Compile your programs and link to the necessary modules in the
Display Manager Run-time Library.

End of Section 2

2-5
Section 3
Terminal Setup Program

You can use DMSET, the terminal setup program, to tell Display
Manager the characteristics of a terminal. You can also use it to
create the Editor program for use with a design terminal and to set
up one or more run-time terminals for use with your application
program.

The only requirements of a terminal used with Display Manager are
that it have an addressable cursor, a clear screen command, and a
minimum screen size of 24 rows by 52 columns. All other features
are optional.

STARTING THE TERMINAL SETUP PROGRAM

To start DMSET, type the following command at your operating system
prompt:

]ONSET

The screen shows the Digital Research copyright banner and a message
asks you to wait while the terminal control codes from the TERMS.DM
file load into memory. The program then asks whether you want to
run in Help or non-Help mode. Help mode provides detailed
descriptions of each procedure before it is run; non-Help mode
bypasses most of these descriptions and permits the program to run
faster. After you make this selection, the main Menu appears on
your screen, as shown in the next figure.

M A I N M E N U
Option 		Function
	E		Create EDITOR Program f orDesign Terminal
	W		WRITETerminal Control Codes to disK file
	C		CUSTOM Terminal Setup
	T		TESTTerminal Control Codes
	ESC		Stop Terminal Setup Program (press ESC Key)
Please enter Your selection -->

Terminal Setup Program Main Menu

3-1
Display Manager Reference Manual	Overview of Terminal Setup

OVERVIEW OF TERMINAL SETUP PROGRAM OPTIONS

Here is a brief explanation of each option. Detailed explanations
of these options occur later in this section, except for option C,
which is explained in Appendix C.

Option E--Create Editor Program for Design Terminal

Before you can use the Editor program to design and create displays,
you must create a version of it for a specific design terminal.
Completing this option provides you with a version of the Editor
tailored for use with a specific terminal.

Option W--Write Terminal Control Codes to Disk File

Use this option to create or extend a disk file containing the
terminal control codes for the run-time terminals to be used with
your application program. Your application program can later use
the codes in this file to properly initialize the run-time terminal.

Option C--Custom Terminal Setup

Use this option to add, change, delete, or examine terminal control
codes in the TERMS.DM file. Appendix C contains detailed
instructions for custom terminal setups.

Option T--Test Terminal Control Codes

Use this option to verify that the control codes for a terminal in
TERMS.DM are correct.

Option ESC--Stop Terminal Setup Program

Press the ESC key to stop the program and return control to your
operating system.

3-2
Display Manager Reference Manual		Create Editor

OPTION E--CREATE EDITOR FOR DESIGN TERMINAL

DMEDU.typ is a program file found on your distribution disks. (The
"typ" is the filetype used for program files in your operating
system.)		This file contains a version of the Editor which is
nonspecific to any design terminal. Wh ' en you create the Editor for
your design terminal, you create a new version of DMEDU with a
different		name. You cannot use DMEDU as your Editor or
unpredictable results occur. Note that DMEDU, DMSET, and the
TERMS.DM file must be on the same disk when creating the Editor.

The figure "Create Editor for Design Terminal" on the next page
illustrates the environment you enter when creating the Editor for
use with a design terminal. When you select option E from the Main
Menu, a list of the terminals contained in the TERMS.DM file shows
on your screen. You can scroll through this list to find the
terminal you want to set up as the design terminal for use with the
Editor.

When you see the design terminal on the list, you also see a three
character code listed with it, such as A41 or Zll. Type this code
to select the terminal froin the list. If you type the code
correctly, the word "FOUND" appears on the screen. Press RETURN and
terminal selection is complete.

If you type an incorrect code when selecting the terminal, the words
"NOT FOUND" appear. Use the BACKSPACE key to erase your entry, then
enter a correct code. Note that you can also use the scroll
commands CTRL-W and CTRL-Z or the ESC key at this time.

If you do not see your design terminal listed, you have two options
as to how to proceed:

1.		It might be that the design terminal uses the same control
codes as another terminal already in the TERMS.DM file. if
this is the case, select the terminal from the list and then
use the test option (option T on the Main Menu) to verify that
the design terminal operates correctly.

2.		If the design terminal is neither in the displayed list nor
uses the same codes as one that is, press ESC to return to the
Main Menu. Then select option C to do a custom terminal setup.
See Appendix C for instructions.

3-3
Display Manager Reference Manual	Create Editor

	EDITOR
	PROGRAM	...	WITHOUT D9SIGN TERMINAL
	(DMEDU.TYP)

DESIGN TERMINAL

TERMINAL
	TERMS.DM
OPTION E	SETUP	CONTROL CODES	FILE
PROGRAM

	- - - - - - - - - - -	........		WITH DESIGN TERMINAL

Create Editor for Design Terminal

3-4
Display Manager Reference Manual		Create Editor

After you select a terminal from the displayed list, your selection
is displayed along with its terminal control codes. The program
then asks what name you want to assign to the version of the Editor
you are now creating. Your screen appears similar to the next
figure.

The selected terminal is: <xxxxxxxx>
Terminal Control Codes: ABCD EFG3 MNPA BCDZ FGHS
Please select a name for the Editor. Press RETURN
to name the Editor OMED# type a different name
or Press ESC to exit --> DMED
The Editor is now named OMED.typ
Press any Key to continue.

Terminal Control Codes/Editor Name Screen

Before proceeding, verify that you have selected the correct
terminal. The name of the terminal you selected replaces
<xxxxxxxx>. If you selected the wrong terminal, press ESC to make a
different selection.

If you press RETURN, the Editor you are creating is assigned the
name DMED. The program automatically appends the appropriate
filetype for your operating system, such as COM, CMD, or EXE.

To store the Editor on a disk drive other than your current one,
precede the name with a disk drive specification. For example, if
you are logged to drive A but want to store the Editor on drive B
under the name DMED, enter the following response:

B:DKED

You can assign any valid filename to the Editor except DMEDU.typ,
where "typ" is the filetype used for program files in your operating
system. For example, DMEDU.COM is an unacceptable name in a CP/M6
operating system environment.

After you have assigned a name for the Editor, press any key to
return to the Main Menu. To run the Editor, exit from the DMSET
program and type the assigned name at your operating system prompt.

3-5
Display Manager Reference Manual	Write Terminal Control Codes

OPTION W--WRITE TERKINAL, CONTROr. CODRS TO DISX PIr.E

This option allows that you to write your application programs
independent of the run-time terminals on which they are used. When
you select this option, the terminals in the TERMS.DM file list on
your screen. You can then select the terminals you want to support
in your application program from that list and have them stored in a
disk file you name. Your application program can ask the end-user
what run-time terminal is being used and then read the correct
control codes for that terminal from this file. The figure "Write
Terminal Control Codes to Disk File" on the next page illustrates
this environment.

After you select option W from the Main Menu, a prompt asks you to
enter the name of the file to which you want to write the terminal
control codes, as shown in the following figure.

... ... ... ... ... ... ... ...
WRITE TERMINAL CONTROL CODES TO DISK FILE
... ... ... ... ... .. I ... ... . . ... ... . . ... ..

STEP I-Indicate name of disk file to store code
STEP Z-Select codes to write in disk file

(Press ESC to exit this option. )
Enter f ile to write control code to:

Terminal Control Code Filename Prompt

The name you enter must be an acceptable f ilename and f iletype. If
you enter the name of an existing file, you are asked if you want to
add the codes for the terminals you select to the end of that file
or overwrite it. If the file does not exist, you have the option to
create it. Note that you cannot assign the name TERMS.DM to this
file.

To create or access a file on a disk drive other than the one to
which you are logged, precede the name with a valid disk drive
specification.

3-6
Display Manager Reference Manual		Write Terminal Control Codes

	TERMS.DM
	FILE
	TERM
OPTION W SE
	PRO
ANY TERMINAL

N~ 'M JE
RU T
(TER INAL(S) . . . . . . TERMINAL
CONTROL
CODE
FILE

APPLICATION
PROGRAM

Write Terminal Control Codes to Disk File

3-7
Display Manager Reference Manual	Write Terminal Control Codes

Next, you see the list of terminals in the TERMS.DM file. You can
scroll through this list until you find the terminal you want to
add, then enter its three-character code. If you enter a code that
is not in the list, the words "NOT FOUND" appear. Use the BACKSPACE
key to erase the code, then enter a correct one. If you enter a
code the DMSET program cannot recognize, the words "BAD ENTRY"
appear and you must press ESC to reenter the code.

When you enter an acceptable code, the word "FOUND" appears. Press
RETURN and you are shown which terminal you selected along with its
terminal control codes.

A series of prompts then ask you to do the following:

e	Ver if y that you want to use the codes you have selected as they
are shown to you one at a time.

*	Indicate whether or not you want to select any more terminal
control codes for your file.

o	Confirm whether or not you want to write the selected codes
into the file.

At the conclusion of this procedure, the program returns you to the
Main Menu.

Note: Your Display Manager distribution disks contain a CBASIC
Compiler program named INSTALL.BAS. This program is designed to
install the end-user's terminal at run-time using the control codes
in the TERMS.DM file. This is an alternate method to the one just
described for installing the run-time terminal. You can modify
INSTALL.BAS any way you want and distribute it along with the
TERMS.DM file and your application programs.

OPTION C-CUSTOK TERKINAL SETUP

The overview at the beginning of this section explains when you
might need to use this option. Because this is not a commonly used
option, it is discussed in Appendix C.

OPTION T--TEST TERMINAL CONTROL CODES

You can use this option to verify that the control codes for a
design or run-time terminal are correct. You can only conduct this
test using the actual terminal whose codes you want to verify.
Testing the control codes for one terminal while using a different
one gives unpredictable results and might hang-up your terminal,
forcing you to reboot your system.

3-8
Display Manager Reference Manual		Test Terminal Control Codes

When you select this option, the Terminal Test Menu appears on your
screen, as shown in this figure.

TERMINAL TEST MENU f a r <te rminal name>

	Option			Tests . . .
	A . . . . .			ALL f eatu res
	S . . . . .			Terminal STARTUP code
	P . . . . .			Cu rso r POSITIONING
	C . . . . .			CLEAR so reen
	Z . . . . .			So reen SIZE
	a . . . . .			CursorON/DFF
	T . . . . .			STANDARD video attributes
	U . . . . .			USER-definedattributes
	M . . . . .			MULTIPLE att ri butes
	R . . . . .			Curso r ARROW KEYS
	F . . . . . 			FUNCTIONK@Ys
Please enter Your selection -->

Terminal Test Henu

You conduct all tests interactively. Display Manager shows you a
message explaining what results to expect and asks if you want to
continue. If you do, the test is performed and the results show on
your terminal screen. The program then asks you to confirm if the
expected results happened. You then have the option to go on to the
next test or return to the Terminal Test Menu. Display Manager
cannot determine whether or not the test was successful; you must
decide on its success or failure and react accordingly. If a
particular test fails, it usually indicates you need to change the
control codes for the terminal you are testing (see Appendix C) .

Note that the Terminal Test Menu provides the option to test all
features shown on the menu (option A) or only specific ones. If you
select option A, the program conducts each of the other tests on the
menu in turn. If you select an individual test, the program
completes it and then returns you to the T6rminal Test Menu.

You can press ESC during any test to terminate the testing
procedures and return to the Main Menu.

End of Section 3

3-9
Section 4
Display Design Concepts

A concept basic to understanding display design with the Editor is
that designing the displays and creating application programs to use
those displays are two separate steps. This section explains the
fundamentals of display design. Section 5 describes the options
found on the Editor Main Menu. Section 6 lists and discusses the
Editor commmands. Section 7 explains how to use displays in your
application programs.

The figure "The Editor Environment" on the next page illustrates the
environment you enter when using the Editor. In that environment,
you design displays on the design terminal while running the Editor
program (usually named DMED). When you complete the design of the
display, you can store it in a file on one of your disks (a display
file). Your application program subsequently reads the displays
from the display file at run-time and shows them on the run-time
terminal when needed.

You can also use the Editor to keep your display files accurate and
up-to-date. You can do the following:

e		Recall displays from the display file to make corrections or
changes.

Delete a display from the file when it is no longer needed.

Copy a display from a file to use as a model when creating new
displays.

Section 5 gives detailed explanations of these and other options.

4-1
Display Manager Reftrence Manual	Display Design Concepts

DESIGN TERMINAL

DESIGNER

THE
EDITOR
(DMED)
I
NO. 250

NO. N,1
DISPLAY NO.
N		DISPLAY
	10	FILE
		(.DIS)
		YOUR
		APPLICATION
		PROGRAM

Editor Enviroment

4-2
Display Manager Reference Manual 		Displays

DISPLAYS

A display is the information shown on a terminal screen. Displays
usually cover the entire screen, but they can also cover only a
portion of it. They serve to present information or instructions to
the end-user, ask questions, present a list of options from which to
choose, establish a form for data entry, or virtually any other
purpose. The next figure is an example of a display showing a list
of options for the end-user to choose. (Displays of this type are
known as menus.)

A C C 0 U N T S P A Y A 5 L E
- - - - -- - - - - -- -- - - -- - - - - - - - - - - - - -- - - - - - - - - -- - - - - -- - - - -
MAIN MENU

	Option		Function
	I . . . . . Accounts Payable transaction maintenance
	2 . . . . . Vendormaintenance
	3 . . . . . Print Accounts Payable checKs
	4 . # . . # Print Accounts Payable reports
	X . . . . . Stop Program/ return to ope rating system
1 1 < ----- Please enter Your selection

Sample Menu Display

Each display in a display file receives a unique display reference
number ranging from 1 to 250 that you assign when creating the
display. You can assign a new number at any time. Display
reference numbers do not have to be contiguous.

Optionally, you can assign a display title in addition to the
display reference number. The title bears no relationship to any
other elements; it is strictly for your convenience in identifying
one display from another when they list on your screen. Display
titles can contain as many as thirty characters, including spaces.
For example, "APIO/Accts Pay Main Menu" is an acceptable display
title for the display shown in the preceding figure.

The Editor computes the screen size required to accommodate each
display. The display size is based on the number of rows and

4-3
Display Manager Reference Manual 	Displays

columns required for the display. If your application program
attempts to show a display on a screen with too few rows or columns,
the display appears correctly only if all fields (including literal
fields) are within the boundaries of the screen. Otherwise, the
results are unpredictable. This flexibility makes it possible to
create displays for different sized screens.

Note: You cannot use the last column of the last row on the screen
because, on many terminals, a character in this position causes the
screen to scroll upward.

You can assign each display global values specifying whether or not
to clear the run-time terminal screen before showing the display
and, if your operating system supports the use of color, the color
attributes to be applied. Section 5 discusses global values.

DISPLAY FILES

A display file contains the displays designed and saved using the
Editor. You can store up to 250 displays in a display f ile. Your
application program can use as many different display files as disk
space on the run-time computer permits. However, only one display
file can be open at any given time.

Assign your display f iles unique f ilenames that are compatible with
your operating system. Filetypes can be used, and an informal
standard of DIS is recommended. For example, a recommended name for
an accounts payable display file might be ACCTSPAY.DIS.

DISPLAY FIELDS

Each display consists of one or more display fields. A display
field is a portion of the display beginning at a particular row and
column and ending on the same row. The length of a display field
can be from one column to an entire row, but fields cannot overlap.

Primarily, display fields do the following at run-time:

	Retrieve information entered by the end-user. These are input
fields.

	Display variable information derived by your program from
computations and data files. These are output fields.

	Display constant information, such as instructions, prompts,
and field labels. These are literal*fields.

The Editor assigns each input and output field in a display a field
reference number when you create it. The Editor also provides an
option to renumber one or more fields if needed. Field reference
numbers range from 1 to 250.

4-4
Display Manager Reference Manual		Display Fields

You can assign video attributes to input and output fields. These
attributes are the special effects that may be available on the run
time terminal, such as inverse video, full/half intensity,
underlining, and color. If you assign a field a video or color
attribute, but the feature is not available on the run-time
terminal, the attribute is ignored.

Literal Fields

Literal fields contain information that is constant. For example,
literal fields can serve as labels for input and output fields,
column headings, data entry prompts, and instructions.

Literal fields cannot be changed during run-time. Infact, theend
user cannot move the cursor into a literal field.

Any field in a display not specifically defined as an input or
output field is a literal field. Literal fields are not numbered
and cannot be assigned video attributes.

Input Fields

The end-user can enter information into input fields during run
time. Your application program can use the GETF (Get Field) or UPDF
(Update Field) functions to retrieve information from input fields.
Section 7 describes these and other functions.

Here are some of the ways you can control the input f ields in your
displays:

Assign video or color attributes to the field.

Assign initial (or default) values to the field.

Place template characters in the field to aid the end-user
during data entry.

Retrieve information the end-user enters into the field.

Specify the type of data, such as alphabetic or numeric, that
can be entered in the field.

Specify what should happen if the end-user enters a special
character into the field, such as an up-arrow or function key.

Specif y what should happen if the end-user enters an illegal
character, such as the letter "a" in a numeric field.

Display information in the field.

4-5
Display Manager Reference Manual	Display Fields

You can assign video or color attributes, or both, to an input field
for special effects or increased visibility. The end of this
section discusses these attributes.

When you define an input field with the Editor, you can enter an
initial value in the field. When the display shows on the run-time
terminal, the initial value appears in the field. Initial values
can greatly simplify data entry for an end-user by showing the most
ccmmonly entered value for a field. Consider the following exapple
of a data entry prompt using an initial value:

Enter employee's hourly pay rate - 12.00

The portion of the prompt "Enter employee's hourly pay rate -->" is
a literal field. The input field begins in the column immediately
following "-->" and has been assigned an initial value of 12.00.
When the display appears on the run-time terminal, the prompt
appears exactly as shown in the example. If the end-user presses
RETURN without entering anything in the field, the value 12.00 is
returned to the application program. The UPDF (Update Field)
function retrieves information from a field containing an initial
value.

Template characters are another way to simplify data entry for an
end-user. Here is an example of a prompt using template characters:

Enter telephone number

The portion of the prompt "Enter telephone number -" and the two
colons (:) are literal fields. The input field begins immediately
following the first colon and ends at the column preceding the
second colon. The parentheses, the space immediately following the
parentheses, and the hyphen are all template characters. When the
telephone number is entered, the cursor jumps over each template
character. They cannot be typed over or erased. The input field in
our example accommodates ten characters, for example, (206) 555
1212. Template characters are never returned to the application
program.

You can combine template characters and initial values in an input
field. Here is an example prompt:

Enter Social Security Number: nnn-nn-nnnn

The hyphens are template characters; the n's are the initial value
of the f ield. This example of initial values differs from the
preceding one in that here the value is not the most common response
to the prompt; instead, each n serves as a place marker which you
expect the end-user to replace with a number. As the n's indicate,
the field accommodates nine characters, for example, 123-45-6789.
The GETF (Get Field) function retrieves information from a field
without returning its initial value.

4-6
Display Manager Reference Manual		Display Fields

You can define an input field in such a way that Display Manager
validates each character as the end-user enters it at run-time. You
can tell the Editor what type of data, such as alphabetic or
numeric, you expect to receive in a field at run-time. Display
Manager then ensures that only that type of data is returned to your
program.

The Editor provides you with several ways to specify how the end
user must terminate data entry for a field. Data entry can be
terminated when the field is full, an illegal character is entered
(such as a number in an alphabetic field) , an up or down cursor
movement key is pressed, or a function key is pressed. The ENDF
(End Field input) function can be called by your application program
to determine precisely how the end-user terminated data entry. You
can use the RESF (Resume Field entry) function to signal the end
user that he entered an illegal character without terminating data
entry for the field.

Your program can display information in an input field using the
PUTF (Put data in Field) function. You can specify a format for the
information when creating the field with the Editor. This is useful
for assigning or changing a field's initial values.

Output Fields

You can use output fields to display variable information derived by
your program. Use the PUTF (Put data in Field) function for this
purpose.

Here are some of the ways you can control output f ields in your
displays:

		Display information in the field.

		Assign the field video or color attributes.

		Specify a format for the way information should appear in the
field.

		Place template characters in the field.

		Assign the field initial values.

You can assign video or color attributes, or both, to an output
field for special effects or increased visibility. This section
explains these attributes in detail later.

When creating an output field with the Editor, you can specify a
format for the way the information should appear. The format can
specify that the information be left or right justified, a certain
number of positions follow a decimal point, and more. The table
"Field Format Codes" later in this section explains the codes that
determine the field format.

4-7
Display Manager Reference Manual	Display Fields

You can also place template characters and initial values in an
output field. Template characters can enhance the appearance of an
output field; initial values ensure the field's appearance when
initially displayed.

Your program can retrieve information from an output field using the
GETF (Get Field) or UPDF (Update Field) functions.

VIDEO ATTRIBUTES

You can assign video attributes to input and output fields to
activate any special features available on the run-time terminal.
You can assign the attributes when you create the field with the
Editor. Of course, for. the attribute to take effect, the specified
feature must be available on the terminal; otherwise, Display
Manager ignores the request.

Because video attributes cannot be assigned to literal fields, you
might want to set up some of your prompts, help messages, and error
description areas as input or output fields. For example, you might
reserve the bottom row of your display for showing error messages.
By making the row an output field, you can use video attributes to
make the messages invisible until needed and highlighted when shown.
Your application program can use the SETF function to control video
attributes during run-time.

Display Manager can accommodate up to eight different video
attributes for each display field. Each attribute has two settings,
on or off. You can assign a field two separate video attributes at
the same time, provided the terminal can handle combinations of
features and the control codes for the terminal have been set up
accordingly with the DMSET program (see Section 3 and Appendix C).
If you assign multiple attributes but the run-time terminal cannot
accommodate one or both, it ignores unsupported-attributes.

You cannot use simultaneous, multiple video attributes on some
terminals, even though the attributes might be available
individually. In such cases, Display Manager uses a priority
scheme. The following table lists video attributes in their order
of priority. Field visibility has the highest priority, followed by
intensity, inverse video, flashing, underlining, and user-defined
attributes one, two, and three.

You can assign these video attributes with the Editor. Section 7
explains which commands allow you to assign the attributes. In the
following table, each attribute's normal state appears first; its
special state shows second.

4-8
Display Manager Reference Manual		Video Attributes

Video Attributes

Attribute/Setting		Feature/Effect
VISIBILITY		Determines if a field shows when
	initially displayed at run-time. It
	is useful for suppressing initial
	values, template characters, and so
	forth.
Visible		The field's contents appear on the
	screen.
Invisible		The field's contents are suppressed.
	The field can be made visible at run
	time using the SETF (Set Field
	attributes) function.
INTENSITY		Determines how brightly the characters
	in the field are displayed.
Full		Characters in the field are displayed
	with normal brightness.
Half		Characters in the field are displayed
	with 501 brightness. This setting is
	useful for prompts and help messages.
INVERSE VIDEO		Determines if characters are displayed
	as light images on a dark background
	or dark images on a light background.
Normal		Characters in the field are displayed
	as light images on a dark background.
Inverse		Characters are displayed as dark
	images on a light background.
FLASHING		Determines if characters in the f ield
	flash on and off.
Normal		Characters in the field are displayed
	as constant images.
Flashing		Characters in the field blink on and
	off continually. Flashing can
	attract attention to a field, but it
	annoys if overused.

4-9
Display Manager Reference Manual	Video Attributes

Video Attributes (continued)

Attribute/Setting		Feature/Effect
	UNDERLINING	Determinesif the characters in the
			field	are underlined.
		Normal	Characters	in the	field are not
			underlined.
		Underline	Characters in the		f ield are
			underlined.
	USER-DEFINED	Three	user-def ined		attributes are
			available.		They are used to activate
			Special features (such as color) that
			might be available on some terminals.
			The codes to activate these features
			must be	included		in the terminal's
			control codes (see Section 3).
		Normal	The corresponding	feature is not
			activated.
		Special	The corresponding feature is activated
			for the field.

On some terminals, you must reserve a blank space on either side of
a field in order for a video attribute to take effect. This
technique of activating video attributes is the Plant method. Other
terminals do not require blank spaces. They use the Paint method.
Display Manager provides a function (RETDM) that can be called by
your application program to determine which method (Plant or Paint)
the run-time terminal uses.

If you are not sure whether the run-time terminals use the Plant or
Paint method, you can always be safe assuming the Plant method and
reserving a space on either side of every input and output field in
your displays.

COLOR ATTRIBUTES

You can assign distinct background and foreground colors to
displays. You can also assign different background and foreground
colors to the individual fields in a display. You have a* choice of
eight different colors for backgrounds and sixteen different colors
for foregrounds.

Of course, for color to take effect, the run-time terminal must have
this feature. If the terminal is monochrome (black and white),
Display Manager uses the video attributes in place of the color

4-10
Display Manager Reference Manual		Color Attributes

attributes. Consequently, it is a simple matter to design a display
that works equally well on monochrome or color terminals. Your
application program, at run-time, need not really be concerned with
which type of terminal is in use.

while it is possible with Display Manager to design displays on a
monochrome monitor for eventual use on a color monitor, do this with
considerable care. This is also true when designing displays on one
color monitor or video board for use on another. Colors vary
significantly f rom one monitor to another and do not always produce
the anticipated result. A combination of colors that sounds good or
even looks good on one monitor might wash out on another, rendering
the information on the screen almost unreadable.

If you cannot test color combinations on the terminals where they
will be used, use only those combinations of basic colors that
provide high-contrast, or always use a black background.

Also be cautious of overusing colors in your displays. Reading a
screen that is lit up like a Christmas tree can be both difficult
and annoying.

The following table lists and explains the various color attributes
you can assign with Display Manager. The "Status Window" section
explains how to set the attributes and provides more detailed
information.

Color Attributes

Attribu e				Use and Effect
Flashing				This can be set to cause the field to
	flash on			and off when the display is
	shown. Use with caution; a flashing field
	attracts			attention, but can be overly
	distracting.
Background				While there	are only three background
	color codes (RED, GREEN, and BLUE), they
	can be set in combinations to provide up
	to eight dif f erent colors. In most cases,
	these three colors can be mixed as they
	would be			on	an artist's palette. For
	example,			mixing RED and BLUE produces
	magenta.
Intensity				This applies only to the foreground color
	for the field. It can be set so that when
	the foreground color is displayed, it is
	shown in bold intensity. This has the
	effect of producing a different color.
		4-11
Display Manager Reference Manual	Color Attributes

Color Attributes (continued)

Use and Effect
Attribu

Foreground	The foreground color codes work in a
	manner identical to background codes, with
	one exception. when the intensity
	attribute is set, the result is a
	different color. For example, if red is
	selected as the foreground color and the
	intensity attribute is set, the actual
	color produced is light red. This doubles
	the number of available foreground colors
	to sixteen.

STATUS WINDOW

Every input and output field in a display has a status window
associated with it. You can make entries in the status window to
assign various characteristics to each field. To gain access to a
field's status window, place the cursor anywhere within the
boundaries of the field, then press CTRL-W. The status window
appears on your screen with the cursor positioned inside.

Status windows for input and output fields are similar, but
distinctly and logically different. This figure shows a status
window for an output field.

Fi e I d No	Row	Col	Len	Posts 	Type-OUTPUT
000	000	000	000	yy 	*rrtcc*nnn

Format	L:	L PR tN 90-9 tC FM	Comma	N., 	NtY
Video	:N:	:N:	:N.	:N:	.N:	:N:	sN.,	-N: NPY
	Invs	Halt	I n v r	Flsh	Undl	Us rl	Us r2 	Usr3
:Color	N.,	:N:	:N,	:N:	:N.,	:y.,	:y,	:Y: NtY
	f Is	RED-		GRN -	BLU -	Int -	red -	orn - 	blu

Output Field Status Window

4-12
Display Manager Reference Manual		Status Window

The next figure shows a status window for an input field. Note that
it contains everything you find in an output field's status window
(with one exception), plus two additional lines, the Validate/Beep
line and the End Input line. The exception is that Autoset replaces
the Comma element.
	Field No.					Raw	Cal	Len	Posts	Typo-OUTPUT
	000					000	000	000	yy 	r r
	Validate						:X:	X PA tC PD #F tItU	Beep :N:	N PY
	Format						:L:	LtRtNt0-9,CPM	AutoRet :N: 	N,Y
End Input --- Cursor *N:				BadC :N:	FKey :N:	N Y
Video							:N:	:N:	:N:	:N:	:N:	:N:	:N:	-N:	N,Y
	Inus							Halt		Invr	Flsh	Undl	Usrl	UsrZ 	Us r3
Color							,N:	:N:	:N:	:N:	:N:	:Y:	:Y.	:Y:	N PY
	f I s -							RED	GRN	BLU -	Int-	red -	Yrn 	b 1 u

Input Field Status Window

Status Window Elements

Because the elements within a status window are similar for input
and output fields, the following discussion of these elements
pertains to both windows. When a distinction is necessary, [INPUT]
or (OUTPUT], whichever applies, precedes the text.

Field No.		The number currently assigned to the field appears
beneath the label. The Editor assigns every input and
output field a unique number ranging from 1 to 250 when
it creates the field. You can use the renumber option
(described in Section 6) to assign new numbers to one
or more fields in your display. Note, however, that
renumbering fields does not change their relative
position within the display.

Row		This number indicates the row on your screen that
	contains the field. The top row on the screen is row
	one.
		4-13
Display Manager Reference Manual	Status Window

Col	A number indicating the column of the first position in
	the field. The lef tmost column on the screen is column
	one.
Len	Indicates the number of positions (columns) in the
	field. Any template characters are included in the
	count.
Posts	The first letter indicates if the column immediately
	preceding the field contains a space (Y=Yes, N=No).
	The second letter indicates if a space immediately
	follows the field. These indicators are significant if
	any run-time terminal uses the Plant method to activate
	video attributes. In such cases, the values here
	should be YY.
	If the run-time terminals use the Paint method, a space
	is not required on either side of the field and the
	values here are unimportant.
Type-	Indicates whether the f ield is used for INPUT or OUTPUT.
*rr,cc*	These values indicate the row (rr) and column (cc) where
	the cursor is currently located. This can be different
	from the Row and Column numbers described earlier if
	the cursor is not in the first position of the field.
nnn	The value replacing nnn indicates the number of input
	and output fields in the display.

Validate :X: X,A,C,D,I,U,F

[INPUT) The code you enter between the colons tells
Display manager how to validate information the end
user types into this field at run-time. There are
seven different forms of validation from which to
select, as explained in the following table.

4-14
Display Manager Reference Manual		Status Window

Input Field Validation Codes

CodeT		Validation Type

X		Any printable character is accepted. This
is the default for all input fields when
they are first created (unless you assign
other status window defaults using the
CTRL-UW command, see Section 6).

A		Only alphabetic characters and spaces are
accepted. A numeric entry is treated as an
illegal character.

C		Any characters, including control
characters, are accepted, though function
key input is not interpreted. Information
entered by the end-user is not echoed back
to the run-time terminal.

D		Only signed, decimal data is accepted.
Alphabetic characters and more than one
decimal point are treated as illegal
characters. Spaces are allowed, but when
the field contents are echoed, they are
truncated starting at the first embedded or
trailing space. Signs are moved next to
the number to eliminate embedded spaces.

I		Only signed, integer data is allowed.
Alphabetic characters and decimal points
are treated as illegal characters. Spaces
and signs are handled as for code D.

U		Same as type X, except that all information
entered by the end-user converts to upper
case.

F		Only function keys are accepted as valid
input for this field.

During run-time, Display Manager routines validate each
keystroke as the end-user enters it. These routines do
not pass unacceptable information to your application
program.

You can select only one input data validation type code
for each input field.

The next table shows what happens at run-time when
different keys are pressed and a specific data
validation code is in effect. Acceptable input is
marked with Y; illegal or unacceptable input is marked
N. Numbers refer to notes following the table.

4-15
Display Manager Reference Manual	Status Window

Interpretation of Input Validation Types

	Type of Data Entered		Validation Code used
	by End-user	X			A	C	D	I	U	F
Alphabetic (A-Z, a-z)	Y	Y	Y	N	N	Y	N
Period	Y	N	Y	1	N	Y	N
Plus or Minus Sign	Y	N	Y	2	2	Y	N
Number (0-9)	Y	N	Y	Y	Y	Y	N
Space	Y	Y	Y	3	3	Y	N
Other printable
character (1,",#,etc.)	Y	N	Y	N	N	Y	N
Control Key (CTRL-A
through CTRL-Z) other
than cursor movement	N	N	Y	N	N	N	N
Cursor movement
control keys and
standard cursor arrow
keys for editing	Y	Y	4	Y	Y	Y	N
Function Key	5	5	5	5	5	5 	Y

Notes:

1.		A decimal field can have only one decimal point.

2.		A single sign character can precede the digits in
the field.

3.		Spaces are allowed. When the field content is
returned, it is truncated starting at the first
embedded or trailing space. Signs are moved next to
the number to eliminate embedded spaces.

4.		The end-user cannot edit control fields because the
control keys are stored as part of the field. The
only way to terminate data entry in a control field
is by pressing the RETURN key or filling the field
when AutoRet is appropriately set.

5.		Function keys generate several, separate ASCII codes
that appear to the computer as though several keys
were pressed. Unless the FKey code is set, the
generated characters are treated as though they were
entered into the field individually. When FKey is

4-16
Display Manager Reference Manual		Status Window

set and the end-user presses a function key, Display
Manager returns (via the ENDF function) only the
appropriate negative value to indicate which
function key. This assumes the control codes passed
via the INITDM function indicated that the terminal
has function keys.

Beep :H:		[INPUT] If set to Y and the run-time terminal is
equipped with an audible beeper, the beeper sounds when
the end-user enters unacceptable information in the
field. If N, the beeper does not sound under these
same conditions.

Format :L: L,R,N,0-9,C,M

Specifies the way data should be formatted when placed
in an input or output field. The next table describes
the codes you can use to specify formatting.

Field Format Codes

Code		Resulting Format

L		Left justify. Aligns characters with the
	leftmost column of the field.

R		Right justify. Aligns characters with the
	rightmost column of the field.

N		Formats information in the field as pure,
numeric data. Numbers are right justified
in the field and leading zeros are removed.
If, at run-time, the number is too long to
fit in the field, the least significant
digits to the right of the decimal point
are truncated. If the number still does
not f it, the f ield is f illed with
asterisks.

0-9		Formats information in the field as a
decimal number. Enter a value from one to
nine to indicate tjie number of digits to
the right of the decimal point. For
example, if you enter 4, four digits follow
the decimal point. Trailing zeros are
inserted if the number contains less than
four digits after the decimal. If the
number with the specified decimal places
does not fit in the field, right truncation
occurs as in the "N" field. Leading zeros
are removed and truncation, not rounding,
eliminates extra decimal digits.

I,-
Display Manager Reference Manual	Status window

Field Format Codes (continued)
Code I	Resulting Format

C	You can use this format code to send
control keys to the screen. Information in
the field is not formatted and any number
of characters can be sent to the field. You
can use this command to go outside Display
manager and use special screen features,
but use the command with caution. For
example, this output format type is useful
if you want to use a terminal feature that
Display Manager does not support. To do
this, create an output field with format
code C, position the cursor in this field,
send the control sequence for the terminal
feature, and then make sure the cursor is
back in this field before returning control
to Display Manager.

M	Formats the field to contain money values.
This automatically inserts a dollar sign or
other currency symbol in the first space of
the field and formats it with two digits
after the decimal point.

Comma :N:	[OUTPUT] This is the numerical separator code. If Y, a
comma is inserted to the left of every third digit to
the left of the decimal point. For example, one
million displays as 1,000,000.00. If N, commas are not
inserted automatically.

AutoRet :N:		[INPUT] This code indicates whether or not data entry
ends automatically when the input field is full. If Y,
the end-user's data is returned to the program when a
character is entered in the last position of the field
or RETURN is pressed. If N, the end-user must press
RETURN to terminate data entry.

Cursor :H:	[INPUT] This is the cursor arrow code. If Y, the up or
down cursor arrow key or the up/down cursor movement
control key causes data entry termination. Note that
cursor arrows might not be supported for a particular
terminal. If N, the keys have no effect.

4-18
Display Manager Reference Manual		Status Window

BadC :N:		(INPUT] This is the illegal character code. If Y, any
illegal key entered forces data entry to end for the
input field. An illegal key is any character that does
not conform to the input format specified for the field
(see the table "Input Field Validation Codes"). Line
editing keys are exempt from this check, unless the
validation type is C (control field).

FKey :N:		[INPUT] This is the function key code. If Y, any
supported function key that is entered causes data
entry to terminate for this field. If N, any function
key that is entered is not interpreted and the
characters sent when the key is pressed are treated as
normal input for the field, unless the validation type
is F (function key field).

For any given field, more than one code for ending data
entry can be set at the same time. For example,
setting the Cursor and FKey codes to Y terminates data
entry if a cursor-positioning key or function key is
entered. In this case, these keys provide the same
functionality as the RETURN key. At run-time, the ENDF
function can be used to find out how data entry was
actually terminated (see Section 7).

Status Window Video Attributes

The next eight field characteristics relate to the video attributes
described earlier. Note that you can use the SETF function at run
time to override any of these settings. Also note that with the
exception of Invs the run-time terminal must have the designated
features available for these video attributes to take effect. Invs
functions independent of terminal features.

:N:		Set to Y to make the field	invisible so that it does
Invs		not appear on the screen.	The default, N, makes the
	field visible.
:N:		Set to Y to show the field in half	intensity (50%
Half		brightness).	The default, N, shows the field in full
	intensity.
:N:		Set to Y to show the field in inverse	video (dark
Invr		images on a light background).	The default, N, shows
	the field as light images on a dark background.,
	4-19
Display Manager Reference Manual	Status Window

:N:	Set to Y to show the characters in the field
Flsh	flashing. The default, N, causes the characters not to
	flash.
:N:	Set to Y to underline the characters in the field.
Undl	The default, N, causes underlining not to take effect
:N:	Set to Y to activate user-defined field attribute #1.
Usrl
:N:	Set to Y to activate user-defined field attribute #2.
Usr2
:N:	Set to Y to activate user-defined field attribute #3.
Usr3

User-defined attributes can activate features available on the run
time terminal that are not otherwise supported by Display Manager.
For example, if the terminal has a graphics mode capability, it can
be defined as one of the user attributes. This requires that the
control codes needed to activate this feature be included in
TERMS.DM. (Section 3 and Appendix C explain how to do this.) If,
for example, the graphics mode codes are set up as user-defined
attribute number one, and Usrl is set to Y, the corresponding field
is shown as a string of graphic symbols.

Status Window Color Attributes

The following are descriptions of the color attributes. Note that
with the exception of the "Invs" video attribute, color attributes
always take precedence over the video attributes. Display Manager
examines the control codes for the run-time terminal and, if color
is available, uses the color attributes; otherwise, it uses the
video attributes. Note that the resulting colors indicated might
vary with different color graphics boards and terminals.

:N:	Set to Y to cause the field to flash on and off when
flS	the display is shown. A flashing field attracts
	attention but can also be distracting. Use cautiously.

4-20
Display Manager Reference Manual		Status window

:N: :N: :N:
RED GRN BLU

These three codes specify the background color for the
field. Any codes specified here take precedence over
the global background color selectetd for the display.
The codes are used in combinations to produce up to
eight different colors. The following table shows the
colors normally produced by each combination.

Background Color Codes

	RED				GRN	BLU	Result
	N				N	N	Black
	N				N	Y	Blue
	N				Y	N	Green
	N				Y	Y	Cyan
	Y				N	N	Red
	Y				N	Y	Magenta
	Y				Y	N	Brown
	Y				Y	Y	white

The final four attributes serve together to specify the foreground
color for the field.

:N:		When set to Y, the foreground color appears in
Int		bright intensity. When N, it is shown in normal
	intensity.

:Y: :Y: :Y:
red grn blu

The foreground color codes function the same way as the
background codes. However, when used in conjunction
with the Intensity attribute (immediately preceding),
up to sixteen different colors are available. The next
table shows the colors normally produced by each
combination.

4-21
Display Manager Reference Manual	Status Window

Poreground Color Codes

Int	red	grn	blu	Result

N	N	N	N	Black
N	N	N	Y	Blue
N	N	Y	N	Green
N	N	Y	Y	Cyan
N	Y	N	N	Red
N	Y	N	Y	Magenta
N	Y	Y	N	Brown
N	Y	Y	Y	White
Y	N	N	N	Gray
Y	N	N	Y	Light Blue
Y	N	Y	N	Light Green
Y	N	Y	Y	Light Cyan
Y	Y	N	N	Light Red
Y	Y	N	Y	Light Magenta
Y	Y	Y	N	Yellow
Y	Y	Y	Y	Bright White

End of Section 4

4-22
1-11

	Section 5
Editor Options

You can do these things with the Editor:

Create new displays
Make changes to existing displays
Delete obsolete displays from a display file
Renumber the displays in a display file
Change the currently open display file

The latter part of this section explains the Editor options in
detail. However, before you can select an option from the Editor
Main Menu, you must complete some preliminary steps to get the menu
on your design terminal.

STARTING THE EDITOR

Unless the Editor was installed with a name other than the default,
enter the following command at your operating system prompt to start
the Editor running:

DNW

If the Editor was installed with a different name, enter that name
instead of DMED to start the Editor.

Your screen then appears similar to the next figure.

	. . . 			......	...................................................................... ..................................
Display Manager xxx		Version 1 n
Serial No. xxxx-0000-634321			All	Rights Reserved
Copyright* 1983		Digital Research	Inc.
	.. ... ... ... ... ... ... ...

Display Manager installed for <xxxxxxxx>
(Press ESC to exit)
Press RETURN to continue

Editor Start-up Screen

5-1
Display Manager Reference Manual	Starting the Editor

Before moving on from this screen, check two important things.
First, make sure the copyright banner appears with your Display
Manager version and serial number. If the banner does not appear or
has been modified, you might have an inoperable version of Display
Manager. Please contact Digital Research immediately. Second,
following the words "Editor installed for" (in place of <xxxxxxxx>)
is the name of the design terminal for which the Editor is created.
If this name does not match your terminal, your results are
unpredictable. You should press ESC to stop the Editor and return
to your operating system. See Section 3 for instructions about
creating the Editor for use with your terminal.

When you are satisfied you are using the correct Editor and terminal
combination, press RETURN to continue. A prompt then asks you to
enter the name of the display file you want to use, as shown in this
figure.

Eril.rname of display file:
(P r. r of to
(Press RETURN to exit Display Manager)

Display File Nme Prcupt

Type the name of the display file you either want to create or that
contains the displays you want to edit, or press RETURN to go back
to your operating system.

The display file name can be qualified according to your operating
system and hardware facilities. For example, enter B:ACCTSPAY.DIS
to open a display file named ACCTSPAY.DIS on disk drive B while
logged to drive A.

If you enter the name of a display f ile that does not currently
exist on the specified disk drive, an additional prompt appears on
your screen asking if this is a display file you want to create.

5-2
Display Manager Reference Manual		Starting the Editor

Enter Name of Display File:
(Press RETURN to exit Display Mana!fer)
-Do You want to create a new file (Y or N)? Y

New Display File Prompt

If you respond Y, the Editor creates the file you named. If you
respond N, a prompt asks you to enter the name of a different
display file. A message then appears to let you know the Editor is
busy opening the selected display file.

Openins display file . . .

Display File Open Message

Once the Editor Main Menu and a list of the displays in the file
appear, you can begin editing your displays.

You can include the name of the display f ile you want to use or
create on the same line as the command to start the Editor. For
example, you can type the following command at your operating system
prompt:

DKED ACCTSPAY.DIS

The Editor checks whether the named display file exists
(ACCTSPAY.DIS in this case). If it does not, you can create a file
with that name or enter a different name, as in the preceding
examples.

5-3
Display Manager Reference Manual	Editor Main Menu

EDITOR MAIN MENU

Once you have satisfactorily opened a display file, the Editor Main
Menu appears on your screen:

D I SPLAY MANAGER
by
DIGITAL RESEARCH INC.
... ... ... ... - -

Current Display File. A:ACCTSPAY.DIS
Current Display No:
Current Display Title:

M A I N M E N U

E	Edit aDisplay
D	Delete aDisplay
R	Renumber the Displays
0	Open aDisplayFile
Q	Helpand Instructions
X 	Exit0isplayManator

Enter selection

Editor Main 14enu

In addition to the available options, the Main Menu shows you
information about the display file and the display currently being
edited.

Current Display File:

The name of the display file that is currently open. A drive
specification precedes the name of the currentCy open display file.
In the preceding example, the file ACCTSPAY.DIS is on disk drive A.

5-4
Display Manager Reference Manual		Editor Main Menu

Current Display No:

Once you select a display to edit, its display reference number
appears here.

Current Display Title:

If the display being edited was assigned a display title, it appears
here.

The preceding example indicates a display file is open, but no
display is currently being edited. The Main Menu appears this way
until you select a display for editing.

The following table describes briefly the options on the Editor Main
Menu. Subsequent parts of this section describe each option in
detail.

Editor Main Menu Options
Option 7- 		Function

E			Edit a	Display. Use this	to create new
	displays or make changes to existing ones.
D			Delete	a Display. Use this	to remove an
	obsolete display from a display file.
R		Renumber Displays.		Use this to change the
	display reference numbers assigned			to the
	displays in a file.
0		Open a Display File. Use this		to close a
	display	file and open a different (or the same)
	one.
Q		Help and Instructions.		use this to activate
	the on-line help facility.			This facility
	provides	detailed instructions on your design
	terminal screen for using the Editor.
X		Exit Display Manager.		Use this to stop the
	Editor	and to return control to your operating
	system.		I

5-5
Display Manager Reference manual	Edit a Display

OPTION E--EDIT A DISPLAY

Use this option to create a new display or to copy or edit an
existing display.

Creating New Displays

To create a new display, select the E option from the Editor Main
Menu. The EDIT A DISPLAY screen then appears on your design
terminal:

EDIT A DISPLAY

Current Display File;	A:ACCTSPAY.DIS
Current Display No.:
Current Display Title:

Enter DISPLAY REF NUMBER of Display to Edit
	(Press ESC to return to Main Menu)

List of displays in f ile. (Scroll UP - ^W / DOWN ^Z)

Edit A Display Screen (New.Displby File)

This figure indicates that the display file currently being used is
on drive A and named ACCTSPAY.DIS. As shown, no display from that
file has been selected for editing; if it had been, the display
reference number and title would also be shown. This screen also
indicates that no displays are in ACCTSPAY.DIS; if there were, they
would appear below the line.

A prompt asks you to enter the reference number of the display you
want to create. You can assign any number from 1 to 250. Type the
reference number and press RETURN.

Because there is no display in the file with the reference number
you assign, the Editor assumes you want to create a new display and
shows you the NEW DISPLAY screen, as in the following figure.

5-6
Display Manager Reference Manual		Edit a Display

EDIT A DISPLAY

Current Display File:		A:ACCTSPAY.DIS
Current Display No. :
Current Display Title:

NEW D I SPLAY (PressESCAPEto begin editing display)

Enter Display Title

New Display Title Screen

A prompt directs you to enter a title for the display you are
creating. The title can be as many as thirty characters long and
does not have to be unique within the display file. The title
serves no other purpose than to help you identify it in the list
shown on the EDIT A DISPLAY screen. This is the only opportunity
you have to assign a display title.

After you enter the display title, this prompt appears on your
screen:

Do you want to COPY an existing display? (Y-Yes/N=No) :N:

The option to copy an existing display is a useful method when you
want to build displays from a prototype or a model. It is also the
recommended technique when making changes or enhancements to
existing displays as it ensures against accidental destruction of
the original version. You can find instructions for using this
option later in this section.

Global Values

If you respond N (the default response) to the preceding prompt, the
Global Values prompt appears, as shown in the following figure.

5-7
Display Manager Reference Manual	Edit a Display

GLOBAL YALUES (Press ESC to begin editing display)
Clear Screen? (Y=Yes , N=No)? :Y: ** ... ... ... ... ... Color Menu ... ... ... ...
	0 BLACK	8 Cray
Global Color Attributes
	...		...	...	...	...	...	...	...	...	...	...	...	...	...	...	...	...	...	...	. . 	...	...	...	...	...	I BLUE	9 L i g h t B 1 u e
Flashing? (Y=Yes N=No	:N:	2 GREEN	A L i 9 h t G r e e n
BACKGROUND COLOR (0-7)		;3 CYAN	B Li ght Cyan
Fo reground Colo r (0-9 or A-F)	7:	4 RED	C Li ght Red
5 MAGENTA	D Li ght Magenta
G BROWN	E Yellow
7 WHITE	F 5 ri sht Whi

Global Values Prcnpt

If you do not want to alter the Global Values for the display, press
ESC.

Clear Screen Prompt

If you respond Y to the Clear Screen prompt, Display Manager clears
the screen to all blanks before showing this display at run-time.

If you respond N, the display overlays whatever is on the screen
from a previous operation. You can use screen overlays in several
situations, such as to build screens line by line, keep help
messages and instructions.on the screen, and keep standard headings
and banners intact.

Note: when one display overlays another, only the fields in the
most recent display are accessible. Fields from any previous
displays are not available to your application program.

Three separate global values can be set for color. Each of these
values applies to the entire display, as opposed to individual
fields within the display.

5-8
Display Manager Reference Manual		Edit a Display

Flashinq

If set to Y, all literal fields in the display flash on and off when
shown. Use with caution.

BACKGROUND COLOR (0-7)

You can specify any one of eight different colors for the background
of the display. Insert one of the codes (zero through seven) from
the Color Menu shown to the right of the prompt.

Foreground Color (0-9 or A-F)

Select any one of sixteen different foreground colors for the
display by entering the appropriate code from the Color Menu.

After you press ESC or reply to the global values prompts, the
Editor clears the screen on your design -terminal and places the
cursor in the top left corner. You can now create the actual
display. Section 6 describes the various Editor commands you can
use to create the display. You can also enter CTRL-QQ at this point
to display a list of the available commands on your terminal screen.

Copying Existing Displays

To create a new display by copying an existing one, reply Y when
this prompt appears on the NEW DISPLAY screen:

F-D.		'. ~Copy an existin!l display? (Y-YES/N-No) 	:Y:

Copy Existing Display Prompt

When you indicate you want to copy an existing display, the
following menu appears on the screen:

5-9
Display Manager Reference Manual	Edit a Display

... ... ... ... ... ... ... ... ... ... ... ... ... ... . . ... ... . . . .
OPTIONS FOR COPYING AN EXISTING DISPLAY
... ... ... ... ... ... ... ... ... ... ... ... ... ... .. ... ... .. .. .. .. ... ... .. ... ... ... ... .. ... ... ... ... ... ... ... .. ... ... .. ... ... ... ... ..

I . . . . . Copy f romCURRENT display f ile
2 . . . . . Copy f rom aDIFFERENT display f ile
3 . . . . . Quit Copy Options

Please enter Your selection

Copy Existing Display Options Kenu

Use option 1 to copy the display from the currently open display
file. The Editor then asks you for the reference number of the
display to copy. If it finds the display, it copies it then places
it on your design terminal for you to make changes. The display on
your screen has the reference number you assigned to it when this
session began.

If the display you want to copy does not exist, the Editor shows you
an error message and asks you to enter another display reference
number.

Use option	2 to copy the d-isplay from a file other than the one
currently open.	The Editor asks for the name of the file containing
tl~a. f,,L'Lp- t,,ame% Rreceded a disk	drive
	VIA ISV"
bz9c*q*q
	[lit fill Coe, preceded by a disk drive
	specification if necessary. If the Editor locates the file, it
	opens it, then thS RrQnc-adlyrs is *b- ---
Ni 	741%~
-jca~xmq	11
q
, Mn-qk
Display Manager Reference Manual		Edit a Display

EDIT A DISPLAY

Current Display File:		A:ACCTSPAY.DIS
Current Display No.:
Current Display Title:

En t e r D I SPLAY REF NUMBER of Display to Edit
	(Press ESC to return to Main Menu)

List of displays in f ile. (Scroll UP 'W DOWN -Z)

I				AP01 /Accts Pay Main Menu	2	AP02/Vendor Maint Menu
35				AP35/Vendor Maint Form	42	AP42/Print ChecKs
103 				AP103/PrintReports

Edit a Display Screen (Existing Display File)

Note that the display reference number and title of each display
already in this f ile are listed below the line. If the f ile
contains more displays than the screen can show at one time, use the
CTRL-W and CTRL-Z commands to bring the others into view.

The prompt at mid-screen asks you to enter the Display Reference
Nunber of the display you want to edit. If you enter the number of
 display that does not exist, the Editor assumes you want to create
 new display (explained earlier in this section). If the Editor
locates the display you specify, it places it in memory and gives
you the opportunity to change the global values for the display.
Global values are also described earlier in this section.

Once you respond to the global values prompt, the Editor places the
display you want to edit on your design terminal screen. Use the
commands described in Section 6 to make changes to the display now
on your screen.

OPTION D--DELETE A DISPLAY

To delete a display from the current display file, select option D
from the Editor Main Menu. This causes the DELETE A DISPLAY screen
to appear on your screen, as shown in the following figure.

5-11
Display Manager Reference Manual	Delete a Display

DELETE A DISPLAY

Current Display File:	A:ACCTSPAY.DIS
Current Display No.:
Current Display Title:

Enter DISPLAY REF NUMBER of Display to Delete
	(Press ESC to return to Main Menu)

List of displays in f ile. (Scroll UP = 'W DDWN ^Z)

I	AP01/Accts PayMain Menu	2	AP02/Vendor Maint Menu
35	AP35/VendorMaint Form	42	AP42/Print ChecKs
103 	AP103/Print Reports

Delete a Display Screen

To delete a display from the current display file, enter its Display
Reference Number. Once the display is deleted from the file, the
program removes it from the list of displays shown on the screen.

If you enter a reference number for a display not in the file, an
error message appears, asking you to enter a new number.

Note: Once you delete a display f rom the f ile, it is no longer
available. If you do not have a back-up copy of the display, the
only way to recreate it is as a new display.

OPTION R--RENUMBI&R THE DISPLAYS

Select option R from the Editor Main Menu to renumber individual
displays or groups of displays in the display file. Note that
renumbering displays does not change their relative position within
the display file.

Note: Application programs use display reference numbers to place
displays on the run-time terminal at the appropriate time.
Therefore, renumbering the displays can have significant impact on
the operation of the program. The recommended practice is to make a
copy of a display file currently being used before renumbering.

5-12
Display Manager Reference Manual		Renumber the Displays

When you select the renumber option from the Main Menu, the RENUMBER
DISPLAYS screen appears on your design terminal, as shown in the
following figure.

R E N U M B E R D I S P L A Y S

Renumber a froupof displays or asingle display.
Asingle display has the same first and lastnumber.

Enter number of FIRST display in group
Enter number of LAST display in group

Enter NEW starting reference number
Enter INCREMENT value

(Press ESC to return to Main Menu)

List of displays in file. (Scroll UP ^W DOWN 'Z)

I				AP01 /Accts Pay Main Menu	2	AP02/Vendo r Maint Menu
35				A P 3 5 / V e n d o r M a i n t F o r m	42	AP42/PrintChecKs
103 				AP103/P rint Repo rts

Renumber Displays Screen

Renumbering Groups of Displays

Enter the reference numbers of the first and last displays in the
group to be renumbered. The last number must be greater than the
first.

Then enter the new starting number for the group and the value by
which you want the numbers to be incremented.

For example, assume you want to renumber displays 35, 42, and 103
shown in the preceding figure. The new reference numbers are to
start at 20 and be assigned in increments of 10. Display 35 becomes
number 20, 42 becomes number 30, and 103 becomes number 40. After
the renumbering takes place, the new numbers are listed below the
line. Here are the entries to make on the Renumber Displays screen
and the resulting renumbered list:

5-13
Display Manager Reference Manual	Renumber the Displays

R E N U M B E R D I S P L A Y S
Renumber a group of displays or a single display.
A single display has the same f irst and last number.
Enter number of FIRST display in group	:35 :
Enter number of LAST display in group 	:103:
Enter NEW starting reference number 	:20
Enter INCREMENT value 	:10
(Press ESC to return to Main Menu)
List of displays in f ile. (Scroll UP = -W / DOWN = ~Z)
... . . ... ... ... ... ... ... ... ... . . ... ... ... ... ... ... ... ... ... ... . . ... . ... ... ... ... ... ... . . ... .. : I .. ... . . ... ... ... ... . . ...
I	AP01/Accts Pay Main Menu	2	AP02/VendorMaint Menu
20	AP35/VendorMaint Form	30	AP42/Print Checks
40 	AP103/Print Reports

Example of Renmbering Groups of Displays

Renumbering Individual Displays

To renumber a single display, enter the same reference number as the
first and last in the group. Then, for the new starting reference
number enter the number you want assigned to the display. Use any
positive number for the increment value.

For example, assume you want to assign display number 103 in the
"Renumber Displays Screen" the number 75. The next f igure shows the
entries to make on the Renumber Displays Screen and the resulting
changes in the list below the line;

5-14 . I

--IN
Display Manager Reference Manual		Renumber the Displays

R E N U M B E R 0 1 S P L A Y S
Renumber a group of displays or a single display.
A single display has the same first and last number.
Enter number of FIRST display in group		103:
Enter number of LAST display in group 		:103:
Enter NEW starting reference number			75
Enter INCREMENT value 			:1
(Press ESC to return to Main Menu)
List of displays in file. (Scroll UP = 'W / DOWN = 'Z)
... . . . . ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . ... ... ... ... ... ... . . ... ... ... ... ... ... ... ... ... ... ...
1				AP01 /Accts Pay Main Menu	2	APOZ/Vendo r Mai nt Menu
35				AP35/Vendor Maint Form	42	A P42 / P r i n t C h e c K s
75 				AP103/P rint Repo rts

Example of Renumbering an Individual DiSplay

Note: You cannot assign a different number to a display that would
cause it to change its relative position in the display file. For
example, you could not assign display number 2 as number 75 as this
would require moving the display from its original position to
between numbers 42 and 103.

OPTION O-OPEN A DISPLAY FILE

Select the 0 option from the Editor Main Menu when you want to close
a currently opened display file. You can then either open a
different file or reopen the same one.

This option has two primary purposes: to move between display files
without stopping the Editor and to periodically save your displays
on disk. Display Manager works with the displays in a part of
computer memory and only writes them to the disk file when necessary
and practical. Closing the display file ensures the displays in
memory are stored on disk. Recommended practice is to close the
display file with this option at ten to fifteen minute intervals.
This prevents accidental loss of your work from power or hardware
failures.

5-15
Display Manager Reference Manual	Open a Display File

After you select this option, the Editor displays the following
message to let you know it is busy:

Now closing and Packing display files A:ACCTSPAY.DIS
	Please wait . . .

j

Display File Closing Message

The Editor packs a display file each time it is closed to reclaim
any wasted space and update the index. If the display file contains
many displays, packing may take several seconds to complete,
especially on a floppy disk.

After the display file is packed and saved, the Editor shows you the
following prompt:

FEnter Name of Dicsp.lay File:
me of
(P,ess RETURN to exit Display Manager)
'Ve r)

Open Another Display File Prompt

Enter the name of the display file you now want to open. If you
enter the name of a file that is not on the current disk drive, the
Editor asks if you want to create the file. You can create a new
display file by replying Y, or enter a different name by replying N.
A disk drive specification can precede the file name.

Finally, the Editor opens the display f ile and shows you the
following message to let you know what is happening:

Opening display file ...

5-16
Display Manager Reference Manual		Open a Display File

Af ter the display f ile is opened, the program returns you to the
Main Menu.

OPTION Q--HRT, AND INSTRUCTIONS

The Editor provides an on-line Help facility. The facility is
available in two forms, extended and limited. You can select the
form you want by the way you configure your Display Manager disk.

		Extended Help enables you to display complete descriptions of
options on the Editor Main Menu and the Editor commands on your
design terminal screen while using the Editor. It requires
that the overlay file DMEDHLP.OVR be on the same disk as the
Editor program.

		Limited Help provides only a list of the Editor commands when
you press CTRL-()Q, CTRL-Q?, or CTRL-OU? while editing a
display. To run the Editor with limited help, make sure the
alternate overlay file DMEDOVR.OVR is on the disk, then remove
or rename the overlay file DMEDHLP.OVR from your Display
Manager disk.

Note that one of the above mentioned overlay files (DMEDHLP.OVR or
DMEDOVR.OVR) must be on the same disk as the Editor program while it
is running. If neither overlay is present, the Editor program
cannot run. If DMEDHLP.OVR is present, Display Manager provides
extended help; if DMEDHLP.OVR is not present, Display Manager
provides only limited help.

You can activate the Help facility from any of three different
places while using the Editor:

o		Editor Main Menu: Select the Q option.
o		Display Editing Screen: Enter CTRL-QQ or CTRL-Q?.
o		Output Options Menu: Select the ? option.

OPTION X--EXIT FROM THE EDITOR

To stop the Editor and return to your operating system prompt,
select option X from the Main Menu. When you select this option,
the Editor automatically closes the current display file before
stopping. The following message appears to let you know the program
is busy:

5-17
Display Manager Reference Manual	Exit from the Editor

Now closins and Packins display file., A*ACCTSPAY.DIS
->Number of times file has been edited- 25
Display repacKin!f timer --> 0

Editor Exit Screen

The message tells you the display file is being closed and packed.
It also tells you how many times editing has been performed on the
file. You might want to use this figure as an audit trail to
determine how current your back-up files are or if unauthorized
changes have been made to the file.

The message also shows a "Display repacking timer -->n. This timer
counts down to zero simply as a way of indicating the status of the
repacking process. When the timer reaches zero, packing is
complete.

End of Section 5

5-18
Section 6
Editor Commands

This section describes the various commands you can use with the
Editor to create and make changes to your displays. You can use
most of the commands in conjunction with the control key (labeled
CTRL on most keyboards). To enter these commands, hold down the
CTRL key while pressing the indicated letter key(s). For example,
CTRL-E means press the E key while holding down CTRL.

The ESC key does the following:

		Ends certain commands and returns you to the normal editing
mode.

		Removes error messages, allowing you to continue processing.

		Functions as a general-purpose escape valve. If you do not
know what to do next, press ESC several times to resume normal
editing.

This section explains the Editor Commands by separating them into
four categories, based on the type of function the command performs:

Cursor Movement Commands
Field Editing Commands
Display Design Commands
Display File Commands

The table on the next page lists the Editor commands by category.
The remainder of this section provides a more detailed explanation
of each command.

6-1
Display Manager Reference Manual	Editor Commands

Editor Commands by Category

Function	Command
CURSOR MOVEMENT COMMANDS
Beginning of field	CTRL-US
Beginning of next line	RETURN
Down half screen	CTRL-QX
Down one line	CTRL-X
End of field	CTRL-UD
Left half screen	CTRL-QS
Left one space	CTRL-S
Next field	CTRL-UF
Next word	CTRL-F
Previous field	CTRL-UA
Previous word	CTRL-A
Right half screen	CTRL-QD
Right one space	CTRL-D
Tab	CTRL-I
Up half screen	CTRL-QE
Up one line	CTRL-E
FIELD EDITING COMMANDS
Boundary display (all fields)		CTRL-QB
Boundary display (single line)		CTRL-B
Change field to literal	CTRL-UZ
Copy field to cursor location		CTRL-UC
Define input field	CTRL-UI
Define output field	CTRL-UO
Delete field	CTRL-UG
Move field right	CTRL-UV
Move field to cursor location		CTRL-UM
Renumber fields	CTRL-UR
Set Status Window as default	CTRL-UW
Status Window display	CTRL-W
Status Window display (constant)		CTRL-QW
Template insertion .	CTRL-P
Video/Color attributes display		CTRL-QY
Video/Color attributes display		CTRL-Y
DISPLAY DESIGN COMMANDS
Center line	CTRL-OC
Delete character,to left	DEL
Delete character under cursor		CTRL-G
Delete line	CTRL-QG
Delete word to right	CTRL-T
Draw border	CTRL-OB
Insert line	CTRL-QV
Insert space	CTRL-V
Print documentation	CTRL-OUW

6-2
Display Manager Reference Manual		Editor Commands

Editor Comands by Category (continued)

Function		Command-

DISPLAY FILE COMMANDS

Abandon without saving display		CTRL-OUQ
Change global values for display		CTRL-OUG
Save display, edit next one		CTRL-OUN
Save display, edit previous one		CTRL-OUP
Save display, edit same one		CTRL-OUS
Save display, return-to Main Menu		CTRL-OUT
Write documentation		CTRL-OUW
Help Instruction		CTRL-OU?

Note: Alternate commands exist for many of those shown in this
table. For example, you can use CTRL-UH instead of CTRL-US to move
the cursor to the beginning of a field. The individual command
descriptions in this section show the alternate commands when
available.

cuRsm YA)vzm=r conmms

The cursor movement commands are listed in the preceding table. You
can use these commands to move th4 cursor around on the screen.
Most of the commands center around what is known as the "Cursor
Movement Diamond" on your keyboard. This diamond is formed by the
relative position of the E, S, D, and X keys, as shown:

/E
S 		D
\X/

The relative position of the key in the diamond indicates the
direction of cursor movement. CTRL-E moves the cursor vertically up
one line, CTRL-S moves it one space to the left, CTRL-D moves it one
space to the right, and CTRL-X moves it down one line.

If the cursor is in the far right column of a line and you press
CTRL-D ' the cursor moves to the f irst column on the next line.
Similarly, if the'cursor is in the first column and you press CTRL
S, the cursor moves to the last column of the previous line.

Note that the Editor does not allow you to position the cursor in
the last column of the last row because on many terminals this
causes an automatic scroll that disrupts the screen.

6-3
Display Manager Reference Manual	Cursor Movement Commands

You can also control cursor movement with the standard ASCII cursor
movement characters (CTRL-H, CTRL-J, CTRL-K, and CTRL-L) , and by the
cursor arrow keys if they generate the standard ASCII cursor codes
shown previously. However, if the cursor arrow keys generate other
control characters or escape sequences, the Editor might not be able
to use these keys to move the cursor.

Beginning of Field: CTRL-US or CTRL-UH

Moves the cursor to the first column of the field. If the cursor is
not in a field, an error message appears.

Beginning of Nezt Line: RETURN

Moves the cursor to the beginning of the next line in your display.

Down Half Screen: CTRL-QX or CTRL-QJ

If the cursor is in the top-half of the screen, it moves to the
middle raw. If it is in the bottom-half of the screen, it moves to
the bottom row.

Down One Line: CTRL-X or CTRL-J

Moves the cursor downward to the next line in the display.

End of Field: CTRL-UD or CTRL-UL

moves the cursor to the last column of the field. If the cursor is
not in a field, an error message appears.

Left Half Screen: CTRL-QS or CTRL-QH

If the cursor is in the left-half of the screen, it moves to the
leftmost column. If it is in right-half of the screen, it moves to
the center column.

Left One Space: CTRL-S or CTRL-H

Moves the cursor to the left, one space at a time. If the cursor is
in the leftmost column, it moves up to the end of the preceding
line.

6-4
Display Manager Reference Manual		Cursor movement Commands

Next Field: CTRL-UF

moves the cursor to the next input or output field in the display.
The cursor stops in the first column of the receiving field. The
cursor moves from field-to-field in screen order without regard to
field numbers.

Next Word: CTRL-F

Moves the cursor to the beginning of the next word. The next word
is always to the right of the current word on the same row or is the
first word on the next row. The last character of the last word on
a line is also treated as a "stop" point for this command.

Previous Field: CTRL-UA

Moves the cursor to the previous input or output field in the
display. The cursor stops in the first. column of the receiving
f ield. The cursor moves f rom f ield to f ield in screen order without
regard to field numbers.

Previous Word: CTRL-A

Moves the cursor to the beginning of the previous word. The
previous word is always to the left of the current word on the same
row or is the last word on the previous row. The last character of
the last word on the previous line is also treated as a "stop" point
for this command.

Right Half Screen: CTRL-QD or CTRL-QL

If the cursor is in the right-half of the screen, it moves to the
rightmost column. If it is in the left-half of the screen, it moves
to the center column.

Right One Space: CTRL-D or CTRL-L

Moves the cursor to the right, one space at a time. If the cursor
is in the rightmost column, it moves down to the beginning of the
next line.

Tab: CTRL-I

Moves the cursor eight columns to the right. The Editor does not
use tabs in the normal way. CTRL-I has the effect of pressing the
space bar eight times. For example, if you press CTRL-I while
defining an input or output field (CTRL-UI or CTRL-UO commands), the
field is extended by eight columns. On many terminals, CTRL-I and
the TAB key have the same effect.

6-5
Display Manager Reference Manual	Cursor Movement Commands

Up Half Screen: CTRL-QE or CTRL-QK

If the cursor is in the top-half of the screen, it moves to the top
row. If it is in the bottom-half of the screen, it moves to the
middle row.

Up One Line: CTRL-E or CTRL-K

Moves the cursor up to the next line in the display.

FIELD EDITING COMMANDS

The field editing commands are listed in the table at the beginning
of this section. Use these commands to establish the location,
boundaries, and characteristics of input and output fields in a
display.

To establish the location and boundaries of a field in your display,
position the cursor where you want the field to begin and press
CTRL-UI (for an input field) or CTRL-UO (for an output field).
Press the SPACE bar to reserve each position in the field. Press
ESC to end the field definition. Detailed descriptions of these and
other commands follow.

Boundary Display (All Fields): CTRL-QB

Displays the boundaries for all fields in the display. The next
command description (CTRL-B) explains field boundaries in detail.

While the boundaries are being displayed, you can move the cursor
and still use most editing commands. However, you cannot use some
commands while boundaries are shown for the entire screen and
attempts to use these commands result in error messages.

To remove the boundary display, press CTRL-QB again.

Boundary Display (Fields on a Single Line): CTRL-B

Displays the boundaries of all fields on the ling containing the
cursor. If there are no fields on the line, a message appears at
the top of your screen. Field boundaries for output-fields are
indicated by the letters 0 and o; the letters I and i mark input
fields. You can identify adjacent fields because the letters shown
alternate from upper- to lowercase, as in the following example:

IIiiii 00000 0000 1111111111 Code = 00

6-6
Display Manager Reference Manual		Field Editing Commands

The example has seven f ields. The f irst f ield is an input f ield two
columns long (II). Adjacent to this field is another input field;
it is four columns long (iiii) . Next are two output fields and one
input field, followed by the literal field "Code -0 and, an output
field two columns in length.

Pressing any key makes the boundaries disappear.

Change Field to Literal: CTRL-UZ

This command deletes a f ield but leaves its initial value unchanged.
You can use this command in conjunction with the Move Field to
Cursor command, CTRL-UM, to move literals around the display. To do
this, make the literal an output field, move the output field with.
the CTRL-UM command, then use CTRL-UZ to delete the field, making
the text once again a literal. Often it is more ef f icient simply to
retype the literal where you want it.

Copy Field to Cursor Location: CTRL-UC

This command copies an input or output f ield to the current cursor
position. Place the cursor in the row and column where you want the
new field to begin and press CTRL-UC. The Editor asks you for the
field number of the field to be copied. Enter the number and the
field is copied to the new location. The new field has the same
attributes as the original field and is assigned the next available
field number. The command never overwrites an existing field in the
display. In such instances, the Editor presents an error message
and the field does not copy.

Define Input Field: CTRL-UI

This command reserves space in the display for an input field. To
reserve the space, place the cursor in the row and column where you
want the field to begin and press CTRL-UI. The Editor assigns the
next available field reference number to this new field.

After you press CTRL-UI, an @ symbol appears under the cursor and
all other fields on the same row show their boundaries. Expand the
field you are creating by pressing the space bar. As each space is
entered, another @ symbol reserves the column for this field (thus
indicating the location and boundaries of the field).

Here is a recommended technique for creating and defining an input
field into which you want the end-user to enter a social security
number:

1.		Place the cursor where you want the prompt for the field to
begin and type the prompt as a literal field. For example,

Enter Soc. Sec. Number:

6-7
Display Manager Reference Manual	Field Editing Commands

2.		Move the cursor to where you want the input field to begin and
type the f ield ' s initial value (with template characters) . The
line might now look like this:

Enter Soc. Sec. Number: nnn-nn-nnnn

3.		Move the cursor back to the beginning of the field (to the
first "n") and press CTRL-UI. An @ symbol replaces the n under
the cursor.

4.		Press the space bar ten times to reserve space for the field.
Your screen should now look like this:

Enter Soc. Sec. Number: @@@@@@@@@@@

5.		Press ESC and the original, initial value you typed for the
field returns.

6.		Move the cursor right three spaces to the first hyphen (-) and
press CTRL-P. Then type the hyphen on your keyboard. Move the
cursor two spaces to the right (to the next hyphen) and repeat
the process. You have now defined the template characters for
the field.

7.		At this point you can press CTRL-W to display the field's
status window.

To reserve eight spaces for the field, press CTRL-I. To delete a
position from the field (thereby shortening it), press CTRL-G. To
add a position to the field, press CTRL-V. Press ESC to signal the
end of the input field; the boundaries for any other fields on the
same line disappear.

When creating input or output fields, remember to reserve a space
before and after the field if any run-time terminal uses the Plant
method to activate video attributes. If the Plant method is used,
do not use these spaces for another field or a literal. You can
find out whether these spaces have been used by checking the Posts
element in the field's status window. The first post indicates
whether the character position immediately preceding the field is
available to Display Manager at run-time for the Plant method of
setting attributes. A Y means it is available; an N indicates it is
not. The second post indicates whether the space immediately after
the field is available. Your application program can also determine
(at run-time) which method the terminal uses with the RETDM
function.

If you attempt to create a field on top of an existing field, an
error message appears and the new field cannot be created.

6-8
Display Manager Reference Manual		Field Editing Commands

Define Output Field: CTRL-UO

This command reserves space in the display for an output field. The
same rules, methods, and restrictions apply when creating output
fields as when creating input fields. See the preceding command
description.

Delete Field: CTRL-UG

Deletes the field containing the cursor.

Move Field Right: CTRL-UV

Moves the field containing the cursor one column to the right and
adds a space preceding the field. All fields to the right of the
current field shift right one column. Any field positions pushed
beyond the right edge of the screen are lost from the display.

Move Field to Cursor Location: CTRL-U14

This command moves an input or output field to the current cursor
location. Place the cursor in the row and column where you want the
field to be located and press CTRL-UM. The Editor asks for the
number of the field to be moved. Enter the number and the field is
moved. If the f ield you are moving must overwrite an existing input
or output field, an error message appears and the move does not take
place.

Renumber Fields: CTRL-UR

Use this command to renumber all fields or a single field in the
display. After you press CTRL-UR, the Editor asks whether you want
to renumber a single field or all fields. If you enter a number,
that number is assigned to the current field and all subsequently
created f ields are numbered sequentially starting with the new
number. If you respond with an A, all f ields are renumbered in
screen order sequentially from left to right, top to bottom,
starting with field number one. Note that numbering rotates from
250 back to 1.

Press ESC to exit the renumbering mode.

Set Status Window Values as Default: CTRL-UW

Sets the values in the current status window as the default for all
subsequently created fields. It is not necessary for the status
window to be displayed for this command to-work. Place the cursor
in the field whose status window attributes are to serve as the
defaults, then press CTRL-UW.

6-9
Display Manager Reference Manual	Field Editing Commands

As an example, assume you want all output fields in your display to
have a certain set of attributes. Here are the suggested steps:

1.	Create the first output field and assign the attributes for
	that field in its status window (use the CTRL-W camand).

2.	with the cursor in the output field, press CTRL-UW to establish
the current status window values as the defaults for all future
fields.

3.	Create the other output fields; they automatically have the
same attributes ~is the field created in the first step.

Status Window Display: CTRL-W

Displays the status window for the field containing the cursor and
gives you the opportunity to review or change the attributes
assigned for that field. After you press CTRL-W, the status window
appears with the cursor positioned in the first attribute. Use the
cursor movement commands (CTRL-S, CTRL-D, CTRL-E, or CTRL-X), the
RETURN key, or the space bar to move the cursor around inside the
window.

If the cursor is in the top-half of the screen when you enter CTRL
W, the status window appears in the bottom-half, and vice versa. If
the cursor is not in a field when you press CTRL-W, an error message
appears.

After you have made all your changes in the status window, press
CTRL-W or press ESC to resume editing.

Section 4 contains a complete description of the status window.

Status Window Display (Constant): CTRL-QW

This command displays the status window and leaves it on the screen
while the cursor is moved around the display.

With this command, the cursor is not placed inside the status
window. To make changes to the field's attributes, you must use the
CTRL-W command (as described earlier).

To remove the status window from your screen, press CTRL-QW again

Note: When the status window is on and the cursor is in an input or
output f ield, the f ield's boundaries appear either immediately above
or below it and the remainder of the row showing the boundaries is
set to blanks. Template characters appear as pluses and minuses.

6-10
Display Manager Reference Manual		Field Editing Commands

Template Insertion: CTRL-P

Use this command to place a template character in the input field.
You can use template characters to simplify data entry for the end
user. See the Define Input Field command description for an example
of how to insert template characters.

During run-time, the cursor does not come to rest on a template
character, so the end-user cannot remove or alter them. Template
characters are not returned to the application program.

To insert a template character in the field, move the cursor to the
column where you want the character to appear, then press CTRL-P.
This reserves a space under the cursor for the character. Now type
the actual template character.

If the status window is being displayed, you see the field boundary
for that column position marked with a.plus sign. This means the
position contains a template character.

To remove a template character, place the cursor on the character
and press CTRL-P.

Video/Color Attributes Display: CTRL-QY or CTRL-Y

(Note that CTRL-Y is inoperable with some operating systems.) Use
these commands to see how your display would appear to the end-user
during run-time. When either command is pressed, all color or video
attributes assigned to the display and available on the current
design terminal are shown. Note that color attributes take
precedence over video attributes and that you cannot edit while the
attributes are being displayed. Use CTRL-Y to display the
attributes while the cursor is inside the status window.

Press any key to return to normal editing mode.

DISPLAY DESIGN COMANDS

The display design commands are listed in the table at the beginning
of this section. These are general purpose commands to aid in the
designing of displays.

Center Line: CTRL-M

Centers the line containing the cursor. All literals and fields
shift appropriately to center the line. The command centers
literals fields, initial field values, and template characters. If
a field has no initial value or template characters, it is not
centered.

6-11
Display Manager Reference Manual	Display Design Commands

Delete Character to Left: DEL or RUBOUT

Deletes the character immediately to the left of the cursor. All
characters to the right on the same row are shifted left one space.
If you remove all positions f rom a field with the DEL or RUBOUT key,
that field is deleted from the display.

Typing over characters already on the screen replaces those
characters with the typed ones.

Delete Character Under Cursor: CTRL-G

Deletes the character under the cursor. All characters to the right
on the same row shif t left one space. If you remove all positions
from a field using CTRL-G, the field is deleted from the display.

If border-mode is on (CTRL-B command), CTRL-G reduces the size of
the field containing the cursor without affecting the initial value
of the field (if present).

Delete Line: CTRL-OG

Deletes the line containing the cursor. The line is removed from
the display and all lines below the cursor move up one row.

Delete Word to Right: CTRL-T

The word or string of spaces immediately to the right of the cursor
position is removed from the display. All remaining characters to
the right of the cursor on the same row are shifted left to fill the
vacated spaces.

Draw Border: CTRL-OB

This command provides an easy way to draw borders or other figures
in your displays. Press CTRL-OB and the Editor asks for the
character you want to use for drawing. Press this character and
then proceed to draw using the cursor movement commands.

To change to another character for drawing, just type the new
character while border-mode is on. To end border-mode, press ESC

Insert Line: CTRL-QV

Inserts a carriage return at the current cursor position, creating a
blank line. To use this command, put the cursor at the space where
you want the new line and press CTRL-QV. The line to the right of
the cursor moves down one row, and the newly inserted row to the
right of the cursor is blank. The last row on the screen is pushed
off the screen and is lost.

6-12
Display Manager Reference Manual		Display Design Commands

Insert Space: CTRL-V

inserts a character between two existing characters in a literal
field or expands an input or output field. To use this command,
place the cursor where you want the space inserted and press CTRL-V.
The Editor inserts a blank space under the cursor. The characters
to the right of the cursor and on the same row (including the one
previously under the cursor) shift one space to the right.
Characters on other lines are not affected. Literals or field
positions pushed beyond the right margin of the screen are lost.

If boundary mode is on (CTRL-QB command) , CTRL-V expands the size of
the field containing the cursor without affecting the initial value
of the field (if present).

Print Documentation: CTRL-OUW

Prints documentation for the current display or, alternately, places
it in a separate ASCII-type disk file for subsequent processing.

The resulting documentation accounts for every field in the display,
whether visible or invisible. It documents literal fields and
template characters as well.

After you press CTRL-OUW, the following message appears to explain
your options:

Hit P f a r document to Printer
Hit D f o r add to end of file (DISPLAY.DOC)
Output Option: Enter letter or ESC -->

Documentation Options Menu

If you select option D, the Editor adds the documentation to the end
of a disk file named DISPLAY.DOC, if the file exists. If it does
not exist, the Editor creates it on the same disk containing the
current display file. DISPLAY.DOC is an ASCII file that can be
edited with a word processor or other program that reads standard
ASCII files. Each line is terminated with a carriage return/line
feed sequence, and the end-of-file is marked with the standard CTRL
Z character. This facility is provided as an aid for creating user
manuals and program documentation. It is also an efficient method
when documenting several displays for printing at a later time.

6-13
Display Manager Reference Manual	Display Design Commands

Press ESC at any time to abandon the documentation process.

The next two f igures illustrate the documentation created by
pre-ssing CTRL-OUW. The first figure is a sample display. The
second is a partial example of the documentation created by the
Editor for that display. (An image of the display is also produced
as part of the documentation.) Note in the first figure that fields
have been numbered to correspond to those in the second (this is not
a normal function of the documentation process). Also note in the
second figure that fields are listed by row and column. All
information found in the field's status window is shown. if
assigned, initial values are shown just below the field number.

Several fields in the sample display have the INVISIBLE attribute
turned on. These fields do not appear when the display is initially
shown; they must be activated using the SETF function in the
application program. Field 75, for example, is made visible only
after the end-user enters all required customer information and
begins to enter information in the QTY field. The initial value in
field 75 tells the end-user to complete the CUSTOMER PHONE ORDER by
setting the QTY field to zero.

CUSTOMER PHONE ORDER

.. .. .. - -- - --- -- -- - - --- -- - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	Customer:	Address: --- - - - - - -- - - - - - - - - - - - - - 		1
	city:		state- z_ zips z~ - - - Phoner ( -	) - - - - - - -
1- Payment:	A-Account, B-Bank Card-, C-C.O.D -- - - - - No.
- - - - ---- ---- - - - - - - - - - - - - - - - -	- - - - - - - - - - - -- - - - - -
	Press ESC to exit. .-Set QTY-0 to send order.
	Press CTRL Z for Part No. Reference
			--- - ---- - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - -
1		QTY	DESCRIPTION	:		PARTNO. 1 PRICEEA 1 1 	TOTAL

	.....	.....
			TOTAL SALE	i

INCORRECT PART NO. ENTERED (PRESS CTRL Z FOR HELP)
MUST BE A , 5 , OR C
ORDER SENT, PRESS RETURN TO CONTINUE

Sample Display

6-14
Display Manager Reference Manual		Display Design Commands

	V														5	F	A	C	C	B	F	I	H	I	F	U	U	U	U
	A														E	0	U	0	U	A .	N	A	N	L	N	S	S	S
	L														E	R	T	M	R	0	K	V	L	V	A	D	E	E	E
	I														P	M	0	M	S	K	E	I	F	E	S	L	R	R	R
Num Type Row Col Lon Post													0		T	R	A	R	Y	Y	5	.	R	H	N	1	2 	3
---							----	---	---	--- ----	-------------	-------	---------------------
50							IN	4	13	21	YY	X N L Y	N Y N	Y N N N N N N N
--------------------
---							----	---	---	---	----	-------------	------- 	----------------------
Si							IN	4	45	23	YY	X N L Y	N Y N Y N N N N N N N
-----------------------

---						----	---	---	--- ----	-------------	------- 	----------------------
52							IN	5	9	16	YY	X N L Y	N Y N Y N N N N N N N
----------------

---									----		---	---	---	----	-------------	-------	---------------------
54									IN	5	33	2	YY	A	N L	Y	N	Y N	Y N N N N N N N
---									----		---	---	---	----	-------------	-------	---------------------
55									IN	5	41	5	yy	I	N L	Y	N	Y N	Y N N N N N N N
---									----		---	---	7 --	----	-------------	-------	---------------------
56									IN	5	54	14	YY	I	N L	Y	N	Y N	Y N N N N N N N
---									----		---	---	---	----	-------------	-------	---------------------
57									IN	6	12	1	YY	U	N L	Y	N	Y N	Y N N N N N N N

---								----	---	---	--- ----	-------------	-------	---------------------
103								IN	6	54	14	YY	I	N L Y	N Y N	Y N N N N N N N
No - ----------

---							----	---	---	---		----	-------------			-------	---------------------
77							OUT	8	2	18-	YN		L			N	N	Y	N	N	N	N	N	N
Press ESC to exit.
---							----	---	---	---		----	-------------			-------	---------------------
75							OUT	8	21	26	NY		L			N	Y	Y	N	N	N	N	N	N
Set OTY - 0 to send order.
---							----	---	---	---		----	-------------			-------	---------------------
76							OUT	9	2	35	YY		L			N	Y	Y	N	N	N	N	N 	N
Press CTRL Z for Part No. Reference

---						----	---	---	--- ----	-------------	-------	----------------------
I								IN	13	3	3	YY	I	N L Y	N Y N N N N N N N N N

---								----	---	---	--- ----	-------------	--------	---------------------
2								IN	13	9	17	YY	X N	L Y	N Y N	N N N N N N N N
---								----	---	---	--- ----	-------------	-------	---------------------
4								IN	13	30	5	YY	I N	L Y	N Y N	N N N N N N N N
---								----	---	---	--- ----	-------------	-------	---------------------
Is								IN	13	41	7	YY	D N	L Y	N Y N	N N N N N N N N
---								----	---	---	--- ----	-------------	-------	---------------------
24								OUT	13	51	9	NN	M N	N N N N N N N N

Smple of Display Documentation

6-15
Display Manager Reference Manual	Display File Commands

DIsPLAY r3iLE commms

The display file commands are listed in the table at the beginning
of this section. Use these commands to save a display you have been
creating or changing with the Editor. All of these commands have a
prefix of OU. When you press CTRL-OU, the Editor shows you the
following menu:

Enter letter or ESC

G	-	Global Changes	N	-	Save&EditNext
P	-	Save&EditPrior	0	-	Abandon t No save
S	-	Save&EditSame	T	-	Save&MainMenu
W	-	Write Documentation	?	- 	HELP Instructions

Output Options Menu

Press ESC to resume editing the current display.

Options N, P, S, and T save whatever work you have done on the
display in an area of memory called a buffer. These options. do not
necessarily cause the changes to be stored in the display file on
disk. To ensure that your displays are stored on disk, select the T
option here to return to the Main Menu. Select the 0 option at that
menu, which closes the display f ile. Closing the file flushes
everything from the buffer area and writes it to the disk. You
should do this periodically to make sure your work is not lost in
the event of hardware or power failures.

Abandon Work, Do Not Save Display: CTRL-(MQ

Abandons editing of the current display and loses any changes made
since the last time the file was saved using one of the options on
the Output Options Menu. When you select this option, the Editor
asks you to confirm your choice before actually abandoning your
work. If you do confirm, you are returned to the Main Menu;
otherwise, editing resumes.

6-16
Display Manager Reference Manual		Display File Commands

Change Global Values: CTRL-4DUG

This option provides you the opportunity to change the current
global values for the display. "Global Values" in Section 5
describes the changes you can make.

Save Display, Edit the Next One: CTRL-0UN

Saves the current display, locates the next one in the display file
(according to the display reference numbers), and places it on your
design terminal screen for you to edit.

If the current display is the last one in the file, an error message
appears and you are returned to the Main Menu.

Save Display, Edit the Previous One: CTRL-OUP

Saves the current display, locates the previous one in the display
file (according to the display reference numbers), and places it on
your design terminal screen for you to edit.

If there is no previous display in the file, an error message
appears and you are returned to the Main Menu.

Save Display, Resume Editing Same One: CTRL-OUS

Saves the current display, then makes it available again for
editing.

Save Display, Return to Main Menu: CTRL-<=

Saves the current display and returns you to the Main Menu.

Write Documentation: CTRL-OW

This option is explained under "Display Design Commands" earlier in
this section.

Help Instructions: CTRL-OU?

This option displays a list of the Editor commands on your design
terminal screen.

6-17
Display Manager Reference Manual	Editor Commands Summary

EDITOR COPOIANDS SUM14ARY

This section summarizes the Editor commands by listing them
alphabetically by commands. Use the following to interpret 'the
Category column:

CM	Cursor Movement
DD	Display Design
DF	Display File
FE	Field Editing

Editor Commands Sumary

Command	Category		Description
CTRL-A	CM	Cursor to previous word
CTRL-B	FE	Boundary display (single line)
CTRL-D	CM	Right one space
CTRL-E	Cm	Up one line
CTRL-F	CM	Right to next word
CTRL-G	DD	Delete character under cursor
CTRL-H*	CM	Left one space
CTRL-I	Cm	Moves to the next tab stop. If
		used while defining a field,
		reserves eight spaces.
CTRL-J*	DM	Down one line
CTRL-K*	CM	Up one line
CTRL-L*	CM	Right one space
CTRL-P	FE	Insert template character
CTRL-S	DD	Left one space
CTRL-T	DD	Delete word to right
CTRL-V	DD	Insert space
CTRL-W	FE	Display/Change status window
CTRL-X	CM	Down one line
CTRL-Y	FE	Show video/color attributes
CTRL-OB	DD	Draw border
CTRL-OC	DD	Center line
CTRL-OUG	DF	Change global values
CTRL-OUN	DF	Save display-edit next one
CTRL-OUP	DF	Save display-edit previous one
CTRL-OUQ	DF	Abandon without saving display
CTRL-OUS	DF	Save display-edit same one
CTRL-OUT	DF	Save display-go to Main Menu
CTRL-OUW	DD	Write display documentation
CTRL-OU?	DF	Display Editor commands list

6-18
Display Manager Reference Manual		Editor Commands Summary

Editor Comands Su=ary (continued)
Comman ~_F Category		Description

CTRL-QB			FE	Boundary display (all fields)
CTRL-()D			Cm	Right half screen
CTRL-QE			CM	Up half screen
CTRL-QG			DD	Delete line
CTRL-QH*			Cm	Left half screen
CTRL-QJ*			CM	Down half screen
CTRL-QK*			Cm	Up half screen
CTRL-QL*			CM	Right half screen
CTRL-QS			CM	Left half screen
CTRL-QV			DD	Insert Line
CTRL-()W			FE	Leave status window ON
CTRL-QX			CM	Down half screen
CTRL-QY			FE	Video attributes display
CTRL-UA			CM	Previous field
CTRL-UC			FE	Copy field to cursor
CTRL-UD			Cm	End of field
CTRL-UF			CM	Next input/output field
CTRL-UG			FE	Delete field
CTRL-UH*			CM	Beginning of field
CTRL-UI			FE	Define input field
CTRL-UL*			Cm	End of field
CTRL-UM			FE	Move field to cursor
CTRL-UO			FE	Define output field
CTRL-UR			FE	Renumber fields
CTRL-US			Cm	Beginning of field
CTRL-UV			FE	Move field right
CTRL-UW			FE	Set status window as default
CTRL-UZ			FE	Change field to literal
DEL key			DD	Delete character to left
ESC key			Terminates some commands
RETURN			CM	Beginning of next line down
RUB key			DD	Delete character to left
TAB key			Cm	Moves to next tab stop. If
		used while defining a field,
		reserves eight spaces.

Alternate command

End of Section 6

6-19

1~
Section 7
Applications Programming

This section explains how to design and code application programs to
use displays designed with the Editor.

OVERVIEW OF APPLICATIONS PROGRAMMING

The Display Manager Run-time Library contains the functions you need
to manage displays created with the Editor. When you write your
application program source code using one of the Digital Research
languages, you code in the necessary calls to these functions. Your
source program is then compiled using the appropriate Digital
Research compiler, thus producing a program object module. The
object module is linked to the Run-time Library and the resulting
component is distributed for use on the end-user's run-time
computer.

Your Display Manager Productivity Tool Programmer's Guide contains
instructions for compiling and linking your application program
source code. The remainder of this section provides instructions
for constructing calls to the various Display Manager functions in
your source code.

The figure "Application Programming Environment" on the next page
illustrates the applications programming environment.
Display Manager Reference Manual	Applications Programming

PROGRAMMER

	PROGRAM
- - - - - - 	SOURCE
CODE

FUNCTION
CALLS

A
	DIGITAL
RESEARCH
COMPILER

	DISPLAY	PROGRAM
	MANAGER	OBJECT
	RUN-TIME	MODULE
	LIBRARY

END-USER

Application Progra~ing Envirorment

7-2
Display Manager Reference Manual		Function Categories

FUNCTION CATEGORIES

Display Manager has three categories of functions. These categories
serve only to aid your understanding of the functions, not to
restrict their use.

		The Initialization Category consists of only one function.
Use it to initialize your application program and the run-time
terminal for use with Display Manager.

		The Display Management Category contains functions that find
out what features are available on the run-time terminal, open
and close display f iles, clear the terminal screen, show a
display on the screen, and (if the terminal has the capability)
turn the cursor on or off.

		The Field Management Category has functions that you can use
to determine the characteristics of a field in a display,
retrieve and validate information entered into a field by an
end-user, determine how the end-user stopped entering
information into a field, and much more.

The following table lists the functions by category and shows the
mnemonic name assigned to each. The remainder of this section
describes each function in detail. The descriptions are
alphabetized according to the. mnemonic function name.

Display Manager Functions by Category

Function Description		Mnemonic
	INITIALIZATION
Initialize run-time terminal and program		INITDM
	DISPLAY MANAGEMENT
Clear screen		CLRSCR
Close display file		CLSDIS
open display file		OPNDIS
Place display on screen		DISPD
Return run-time terminal attributes		RETDM
Set cursor visible/invisible		CURS
	FIELD MANAGEMENT
Determine data entry termination method.		ENDF
Determine field position, length, type.		RETF
Display data in field.		PUTF
Modify field attributes		SETF
Place cursor in specific field.		POSF
Place cursor in relative field.		NXTF
Resume data entry.		RESF
Retrieve/validate field input.		GETF
Retrieve/validate field input/initial value UPDF

7-3
Display Manager Reference Manual	Function Descriptions

FUNCTION DESCRIPTIONS

This section contains detailed descriptions of the Display Manager
functions and explains how to use them in your application programs.
The following information about each function is provided when
appropriate:

Syntax explains the way the various elements in the function call
must be arranged when coded in your application program language.
Pascal users please note that function calls are assignment
statements and not logical compares.

Function Category indicates the general category to which the
function belongs, and is shown in a box.

Explanation provides a brief description of what the function is
designed to do.

Cursor Disposition indicates the location of the cursor following
completion of the function. If omitted, the cursor's location is
not affected.

Function Argument explains what values must be passed in the
function argument as part of the function call. Some functions do
not pass an argument.

Return Values describes the information returned by the function at
its conclusion. It is a recommended programming practice to
thoroughly check the value returned by the function since this value
indicates whether or not the function was successful.

Additional Comments explains any special situations and restrictions
you must observe when using the function.

Example is a segment of program code showing one way to use the
function in an application program. The examples are in CBASIC
Compiler, but generalized so they can be applied to any other high
level programming language. In these examples, variable names
ending with a dollar sign ($) denote variable length, string data.
Names ending with a percent sign (%) denote fixed length, binary
integer data. Line numbers have been inserted for reference and are
not part of the actual code. Note that the examples call the DM.ERR
routine following each function. This routine checks the returned
value to determine if the function completed successfully.

7-4
Display Manager Reference Manual		CLRSCR Function

CLRSCR Function: Clear Screen

Syntax:		<integer variable> - CLRSCR

Display Management Fu7nct7ion

Explanation:

The CLRSCR function clears the run-time terminal screen by placing
blanks in all positions.

Cursor Disposition:

The cursor is placed in the top-left corner of the screen.

Return Values:

The CLRSCR function always returns a zero.

Additional Comments:

While designing a display with the Editor, you can specify that the
screen must always be cleared before the display is shown. in such
cases, using the CLRSCR function'is unnecessary. However, if you
did not specify that the screen be cleared but now find it
necessary, the CLRSCR function does this for you.

Example:

The run-time terminal screen is cleared in line 300. Subsequent
lines close the display file, check for errors during the close
function, and stop the program.

300 DONE:RET.ERRI - CLRSCR		REM Clear terminal screen
310		RZT.ERR% - CLSDIS	REM Close the display file
320		CALL DM.ERR(RET.ERRS,CLSDIS$)	REM Check for file error
330		STOP	REM Stop the program

7-5
Display Manager Reference Manual	CLSDIS Function

CLSDIS Function: Close Display File

ayrItax-	<integer variable> = CLSDIS

Display Management Funct7ion

Ex2lanation:

Closes the currently open display file.

Return Values:-

zero is returned if the file is closed successfully; otherwise, a
negative value is returned.

Additional Comments:

The recommended programming practice is always to close the current
display file before terminating your application program.

Display Manager transmits the terminal control codes that return the
run-time terminal to its default condition any time the CLSDIS
function is called. However, when the OPNDIS (open a display file)
function is called, it transmits the terminal startup codes for the
run-time terminal. What impact, if any, this may have on your
application program depends on the design and function of the
program itself.

Example:

Line 320 checks to make sure the file closed without errors.

300 DONE:RET.ERR% - CLRSCR	REM Clear terminal screen
310	RET.ERR% - CLSDIS	REM Close the display file
320	CALL DM.ERR(RET.ERR%,CLSDIS$)	REM Check for file error
330	STOP	REM Stop the program

7-6
Display Manager Reference Manual		CURS Function

CURS Function: Set Cursor Visible/Invisible

Syntax:		<string variable> = CURS(<string expression>)

Display Management Function

Explanation:

If the run-time terminal has the ability to turn the cursor on and
off, the CURS function can serve to make the cursor visible (on) or
invisible (off).

This function works independent of the cursor's location on the
screen.

Function		Argument:

The function argument (<string expression>) is a single-character
indicating the desired setting for the cursor. The value can be
zero, one, two, or three, as shown in this table.

CURS Function Argument Values

Argument		Desired
Value				I	- 	Result
0		Reset the cursor to the visible state.
1		Set the cursor to the invisible state.
2		Change the current setting; that is,
	visible to invisible, or the reverse.
3		Do not change the current setting.

Return Values:

If the cursor cannot be made visible or invisible, Display Manager
ignores the CURS function call. otherwise, a one position character
string is returned indicating the current state of the cursor, as
follows:

0 The cursor is visible (on).
I The cursor is invisible (off).

7-7
Display Manager Reference Manual	CURS Function

Additional Comments:

A display does not have to be on the run-time terminal when the CURS
function is called. However, Display Manager must be properly
initialized (see the INITDM function description).

Example:

RETDM serves in line 150 to find out what features are available on
the terminal. Line 160 checks to see if the cursor can be turned on
and off. If it can, it is turned off at line 170; otherwise the
terminal is initialized with the cursor on in line 180 and 190.

150	AVAIL.ATTR$ - RETDM	REM		Get terminal's attributes
160	IF MID$(AVAIL.ATTR$,Itl) - -1-	REM	Cursor turn ON/OFF?
170		THEN CALL CURS("1")	REM		Yes-turn it off
180	ELSE PRM.ON$	"0"	REM		No-initialize with
190			PRM.OFF$	*3"	REM	cursor ON

7-8
Display Manager Reference Manual		DISPO Function

DISPD Function: Place Display on Screen

~yntax.		<integer variable> = DISPD(<integer expression>)

Display Management F

Explanation:

DISPD retrieves the display you specify from the open display file
and places it on the run-time terminal screen. To specify which
display, you must provide its display reference number.

Cursor Disposition:

The cursor is placed in the bottom-right corner of the screen.

Function		Argument:

The function argument (<integer expression>) is the display
reference number of the display to be shown. The value must not be
less than 1 nor more than 250.

Return Values:

if the display is found in the current display file, its display
reference number is returned. If the display cannot be found, a
negative value is returned.

Additional Comments:

The DISPD function reads the specified display from the current
display file and places it on the screen of the run-time terminal.
All literal fields and visible, initial values for input and output
fields are shown. If any video or color attributes were assigned to
the fields in the display, they take effect if available on the run
time terminal. Fields assigned the Invisible attribute (in the
field's status window) are suppressed.

If the display was designed with the clear screen option, Display
Manager automatically clears the screen before the display is shown.
Otherwise, the screen is not cleared (unless the CLRSCR function is
used) and the display overlays any image currently on the screen.
However, your application program can only reference fields in the
current display.

7-9
Display Manager Reference Manual	DISPD Function

Example:

The display file is opened in line 100; line 110 checks to make sure
it was opened successfully. A display is called from the display
file in line 120 (the display is referenced by the variable
ORDER.FORM%); line 130 checks to make sure the display was found.
Line 140 moves the cursor to the first field in the display (using
the MXTF function).

100	RET.ZRRI - OPNDIS("ORDZRS.DIS-)	REM Open the display file
110	CALL DM.ERR(RET.ZRR%,OPMDIS$)	REM Check for file error
120	RET.ERR% - DISPD(ORDER.FORM%)	REM Show Order Porm Display
130	CALL DM.ERR(RET.ERR%,DISPD$)	REM Check if display found
140	RET.ERR% - NXTP(-10)	REM Move cursor to lst field

7-10
Display Manager Reference Manual		ENDF Function

ZNDr runction: Determine Data Entry Termination Method

Syntax:		<integer variable> - ENDF

Field Management Function

Explanation:

The ENDF function returns a value indicating how the end-user
terminated data entry for a field. The returned value is always in
reference to the most recent use of GETF or UPDF to retrieve
information from the field.

Return Values:

An integer value is always returned. The following table lists and
explains the possibilities.

EKDr Return Values

Value			Termination Method Used
	0			(ASCII null). Indicates normal termination.
		Means the field was filled and AutoRet was set
		in its status window, the RETURN key was
		pressed, or an immediate return resulted from
		retrieving information from an output field.
	x			Abnormal termination. The Ox" is the ASCII
		value of the invalid character entered when the
		BadC or Cursor attribute is set in the field's
		status window. For example, if the field is
		defined as numeric only *and the letter A is
		entered, data entry is terminated and the value
		returned is 65.
	-n			K-nm is a	negative numb*r indicating the
		function key that was pressed when the FKey
		attribute is set in the field's status window.
		For example, -1 is returned when function key
		#1 is pressed.

7-11
Display manager Reference Manual	ENDF Function

Additional Comments:

Display manager resets the ENDF function every time a new display is
placed on the terminal screen. This ensures that there is no carry
over of conditions from a previous display.

Note that whatever cursor control keys are used, the up and down
keys are mapped into eleven and ten when the "Cursor" attribute is
set in the field's status window. when the Cursor attribute is not
set but BadC is, ENDF returns the ASCII value entered by the end
user. These distinctions are important because knowing the method
used to terminate data entry is useful for allowing the end-user to
move between fields without ill effects (see the RESF function).

Exam2le:

The GETF function is used at line 250 to retrieve the end-user's
input. At line 260, ENDF checks to see if the ESC key was pressed
to terminate data entry and sig.nal the end of the program. If it
was, lines 270 through 290 close the file, check for errors during
the close, and ston the oroaram.

250	INPUT$ - GETF	REM Get field input
260	IF ENDF		- 27	REM ESC key entered?
270		THEN		RET.ERR% - CLSDIS	REM Yes-close display file
280			CALL DM.ERR(RET.ERR%,CLSDIS$)	REM Check for file error
290			STOP	REM Stop the program

7-12
Display Manager Reference Manual		GETF Function

GETF Function: Retrieve/Validate Field Input

Syntax:		<string variable> = GETF

Field Management Function

Ex2lanation:

GETF retrieves information from the current field and makes it
available to your application program.

Cursor Disposition

The cursor is left in the column immediately to the right of the
field from which the data was retrieved.

Return Values:

GETF can be used to retrieve data from either an input or output
field. The function always returns a string variable.

input Fields

GETF returns the characters entered by the end-user. Only those
characters entered are returned. If the field contains an initial
value or template characters, these are not returned. (Use the UPDF
function to retrieve initial values from a field.)

Each time the end-user types a character into the f ield, the
character is validated according to the validation code set in the
field's status window. If data entry is terminated abnormally, all
characters entered in the field (except the illegal character) are
returned to the application program.

All characters typed into the field are returned until one of the
following occurs:

		The RETURN key is pressed.

		Data entry is abnormally terminated (for example, an illegal
character is entered).

		The field is filled and the AutoRet code in the field's status
window is appropriately set.
Display Manager Reference Manual	GETF Function

If the input field contains initial values and the end-user does not
enter data into the field, a null string is returned.

GETF makes it possible for the end-user to use editing control keys
when entering data in an input field. The next table shows these
keys and their resulting action.

Data Entry Editing Control Keys

Key	Result

Right Arrow	Moves cursor right one position in the
field. Characters in the field are not
changed. If the cursor is in the last
position of the field, it does not move.

Left Arrow	Moves cursor left one position in the
	or	field. Characters in the field are not
Backspace	changed. If the cursor is in the first
	position of the field, it does not move.
CTRL-S	Same as left arrow key.
CTRL-D	Same as right arrow key.
CTRL-G	Deletes the character under the cursor.
	All characters to the right of the deleted
	character (except template characters)
	shift left one space.
Rubout	Deletes the character to the left of the
or DEL	cursor. The character under the cursor
	and those to the right (except template
	characters) shift left one space. If the
	cursor is in the first position of the
	field, the character under the cursor is
	deleted.
CTRL-V	Inserts a space at the current cursor
	location. In the field, the character
	under the cursor and those to the right
	(except template characters) shift right
	one space.

Notes:

1.		Refer to the INITDM function description if you want to assign
different arrow keys.

2.		When using any of the keys in the preceding table that shift
characters, any shifted beyond the right boundary of a field
are lost.

7-14
Display Manager Reference Manual		GETF Function

Based on the validation code in the field's status window, GETF
returns characters that conform to the specification. For example,
if the code specifies integer information, a string of integers is
returned. Thus, 123.45 is returned as 123.

Output Fields

When GETF is used in conjunction with an output field, information
from the field is returned immediately. That is, it is not
necessary for the end-user to terminate data entry since data is not
entered into output fields. This is a useful method for reading
information from the display.

Example:

Line 130 places the cursor in the next, relative input field. The
GETF function in line 150 retrieves information from the field.

110			DEF	GET.ENTRY
120				STRING GET.ENTRY
130				RET.ERR% - NXTF(2)	REM Curs to next input field
140				CALL DM.ERR(RET.ERR%,NXTF$)	REM Check for errors
150				INP$ - GETT	REM Get field input
160 CONT:		IF ENDF - 27	REM ESC key pressed?
170		THEN RET.ERR% - CLSDIS	REM Yes-close display file
180		CALL DN.ERR(RET.ERR%,CLSDIS$)	REM Check for file error
190				STOP	REM Stop the program
200			IF ENDF <> 0 AND ENDF <> 26	REM No-^char or ^Z pressed?
210			THEN	GOTO RETR	REM Yes-go to abnormal end
220		GET.ENTRY - INP$	REM No-get input data
230		RETURN
240 RETR:		RET$ - RESF(-l)	REM Save field position
250		CALL DM.ERR(RET.ERR%,PUTF$)	REM Check for errors
260		INP$ - RESF(l)	REM Resume input
270		GOTO CONT	REM Continue
280		FEND

7-15
Display Manager Reference Manual	INITDM Function

IHITDH Function: Initialize Display Manager

Syntax:	<integer variable> = INITDM(<string expression>)

I Initialization Function7]

Explanation:

The INITDM function initializes the run-time application program and
the run-time terminal for use with Display Manager. This function
must be called by your application program prior to calling any
other Display Manager function.

Function		Argument:

The function argument (<string expression>) contains program
attributes and terminal control codes. The string must be in this
format and cannot contain more than 254 characters:

<program attributes>/<terminal control codes>

Although the program attributes portion of the string is optional,
the slash (/) and the terminal control codes are always required.
Note that the terminal control codes in the TERMS.DM file already
have the slash as a prefix.

Program Attributes

Your application program can pass a string of up to five program
attributes to Display Manager at run-time. These attributes each
have default values that are used unless you change them by passing
new ones. The following table shows the program attribute that
corresponds to each position in the string.

Program Attributes String
	P-7
	osition	Attribute
	1	Money Symbol
	2	Decimal Delimiter
	3	Alphabetic Character Set
	4	Cursor Movement Keys
	5	Clock Set

7-16
Display Manager Reference Manual		TNITDM Function

The following describes the optional settings for these attributes.
The default value for all attributes is A. Thus, the default string
is AAAAA. This set ' s the money symbol to a dollar sign ($), the
decimal delimiter to period ( .) , the alphabetic character set to the
ASCII standard, cursor movement keys to both sets, and the clock to
4MHz (megahertz).

Money Symbol

The character specified in this attribute is displayed in an input
or output field that has been defined as a money field. The default
character is a dollar sign ($), but any printable character can be
used.

A		means the dollar sign ($) should be used.

(x)		If you want money fields to be displayed with something
other than the dollar sign, pass the character you want to
use as the attribute value.

Decimal Delimiter

The decimal delimiter attribute tells Display Manager how to show
fractional numbers in a decimal format. This attribute takes effect
when a field is displayed using the PUTF (Put Field) function.

A		Tells Display Manager to use a period as the decimal
delimiter and a comma as the separator. This causes
numbers to print as follows:

123,456,789.01

E		Tells Display Manager to use the European standard where a
comma is the decimal delimiter and a period is the
separator. Numbers print as followsi

123.456.789,01

Alphabetic Character Set

The standard set of alphabetic characters includes ASCII characters
a-z and A-Z. Display Manager considers only those characters in
this set as acceptable alphabetic characters when performing
validation of information entered by the end-user (see the "Input
Field Validation Codes" table in Section 6). This attribute makes
it possible to extend the alphabetic character set up to three
characters following z and Z. The characters that become available
are dependent on the terminal in use. For example, European
terminals often have accented characters in these positions.

7-17
Display Manager Reference Manual	INITDM Function

A		Means only the characters in the standard ASCII set are
acceptable.
	B		Extends the set by one character.
-	C		Extends the set by two characters.
D		Extends the set by three characters.

Cursor Movement Keys

You can use two different sets of cursor movement keys with Display
Manager: the ANSI-standard keys and the Display Manager keys.

A		Means both sets may be used.
B		Means only the ANSI-standard keys may be used (CTRL-H, CTRL
J, CTRL-K, and CTRL-L).
C		Means only the Display Manager set may be used (CTRL-E,
CTkRL-S, CTRL-D, and CTRL-X).

Clock Set

This attribute selects the clock speed of the run-time computer.
The default value (4MHz) is normally adequate for most computers.
You may wish to adjust this rate if there is a timing problem with
the run-time terminal, such as clearing the screen or positioning
the cursor. If the run-time computer is a very slow system based on
Z80 microchips, setting the clock to a lower rate may clear the
screen and position the cursor on some terminals a little faster.

A		4MHz
B IMHz
C 2MHz
D 3MHz
	E		5MHz
etc.

Terminal Control Codes

The terminal control codes portion of the argument string contains
the codes Display Manager needs to initialize the run-time terminal.
The codes tell Display Manager what features are available on the
terminal and how to activate/deactive them.

Please read Section 3 and Appendix C for additional information on
setting up control codes for various run-time terminals.

Return Values:

Zero is returned if the application program and the run-time
terminal are successfully initialized.

7-18
Display Manager Reference Manual		INITDM Function

Display Manager checks the control codes for the run-time terminal.
If there are errors, a short message is displayed on the run-time
terminal and one of the negative numbers listed and explained in the
next table is returned to your application program. The ' error
descriptions in the table make reference to the terminal control
code example string shown here:

number of
non null
groups

/2 ABBECDAABABABART GGGHAAAAKJAIFHPPZ6

Group 1		Group 30

Terminal Control Code Example String

The 2 following the slash (/) indicates there are two groups in the
string containing non null characters, Groups 1 and 30. After the
first group, the remaining groups can be in any order because the
group number is actually part of the code.

INITDK Run-time Errors

ReturnT
	Value		Description of Error

-1 to -5		One of the code groups in the string contains
an unacceptable code. The value returned
indicates which group: for example, -2
indicates the second group, group 30 in the
example string. See Appendix A for a
discussion of what constitutes acceptable
codes.

-40		Indicates that the number following the slash
	is invalid or missing.
-50		The code string contains non-blank characters
	beyond the end.		In the preceding example, 6
	marks the end of the code string.
-100			Indicates that the slash which must precede
	each code string is missing.
		7-19
Display manager Reference manual	INITDM Function

Additional Comments:

The INITDM function can only be called once by your application
program.

Example:

In this example, CURRENT.TRM is assumed to contain the terminal
control codes for the terminal being used. Initialization occurs in
line 50. If initialization is not successful (line 60), an error
message is displayed (line 70) and the program is stopped.

010	IF END # 1 THEN ERRI	REM if no terminal file, error
020	OPEN "CURRENT.TRM" AS 1	REM open terminal ctl code file
030	READ # 1;TERM$	REM Read terminal ctl code string
040	CLOSE 1			REM Close the file
050	RET.ERR% - INITDM(TERM$)	REM Initialize library a terminal
060	IF RET.ERR% <0	REM Check for initialize error
070		THEN PRINT "Bad DN code"	REM Yes-print error message
080			STOP	REM Stop the program

7-20

_-1
Display Manager Reference Manual		NXTF Function

NXTF Function: Place Cursor in Relative Field

Syntax:		<integer variable> = NXTF(<integer expression>)

Field Management Function7

Explanation:

NXTF places the cursor in a specified field of the display. The
field you want to receive the cursor is referenced relative to the
current field.

Following the NXTF function, the field receiving the cursor becomes
the current field.

Cursor Disposition:

The cursor is located in the first position of the receiving field.
However, if the specified field cannot be found, the cursor is not
moved.

Function		Argument:

The function argument (<integer expression>) specifies the field to
which the cursor is to be moved and its type. The following table
shows the acceptable argument values and their results. Remember
that the receiving field is always referenced relative to the
current field.

NXW Argument Values

Value			Cursor Moves To
	1			NEXT input or output field
	2			NEXT input field
	3			NEXT output field
	10			LAST field in display
	20			LAST input field in display
	30			LAST output field in display
	-1			PREVIOUS input or output field
	-2			PREVIOUS input field
	-3			PREVIOUS output field
	-10			FIRST input or output field
	-20			FIRST input field
	-30			FIRST output field

7-21
Display Manager Reference Manual	NXTF Function

Return Values:

If the specified field is located, the field reference number of the
new current f ield is returned; otherwise, a negative value is
returned.

Additional Comments:

The cursor moves according to the order of fields on the screen and
without regard to field reference numbers. Consequently, it is not
necessary for your application program to use specific numbers to
reference fields (altiiough you can use the POSF function to place
the cursor according to field reference numbers.).

Example:

This example places the cursor in the next input field relative to
the current field.

100	RET.ERR% - NXTF(2)	REM Cursor to next input field
110	CALL DM.ERR(RET.ERR%,NXTF$)	REM Check for errors
120	INP$ '- GETF	REM Get field input

The next example places the cursor in the previous output f ield
relative to the current field. A total is computed and then
displayed in the output field.

200	RET.ERR% - NXTF(3)	REM Cursor to prev output field
210	CALL DM.ERR(RET.ERR%,NXTF$)	REM Check for errors
220	TOTAL(ORDER.NO%) - STR$(VAL(QTY(ORDER.NO%)) * REM Compute the total
230		VAL(PRICE.EA(ORDER.NO%)))
240	RET.ERR% - PUTF(TOTAL(ORDER.NO%))	REM Display data in field
250	CALL DM.ERR(RET.ERR%,PUTF$)	REM Check for error

The final example places the cursor in the first field of the
display.

300	RET.ERR%	NXTF( -10)	REM Cursor to first field
310	CALL DM.ERR(itET.ERR%,NXTF$)	REM Check for errors
320	INP$ - GETF	REM Get field input

7-22

1-11\
Display Manager Reference Manual		OPNDIS Function

OPNDIS Function: Open Display File

Syntax:		<integer variable> = OPNDIS(<string expression>)

Display Management Functi7on

Explanation:

Opens a display file. Only one display file can be open at any
given time. So, if a display f ile is already open when this
function is called, the open file is automatically closed before
this function is performed.

If there is a display currently on the run-time terminal, it is not
affected by this function unless the new display has the Clear
Screen global value set. Note, however, that your application
program cannot access any of the fields in the original display.

Function		Argument:

The function argument (<string expression>) is the name of the
display file to be opened. If the file is on a disk drive other
than your currently logged drive, precede the name with the
appropriate disk drive specification. For example, B:PAYROLL.DIS
opens the file on disk drive B.

Return Values:

If the display file is opened successfully, a zero is returned;
otherwise, a negative value is returned.

Additional Comments:

A display file must be opened with the OPNDIS function before your
application program can use any of the displays contained therein.
But, once a display file is open, you can use any and all displays
from that file any number of times without reopening it.

Your program must call the INITDM function before using OPNDIS.

Any time the OPNDIS function is called, Display Manager sends the
startup codes to the run-time terminal.

7-23
Display Manager Reference Manual	OPNDIS Function

Example:

This example opens a display file named "ORDERS.DIS".

150	RET.ERR% - OPNDIS("ORDERS.DIS")	REM Open ORDERS.DIS file
160	CALL DM.ERR(RET.ERR%,OPNDIS$f	REM Check for file error

7-24
Display Manager Reference Manual		POSF Function

POSF Function: Place Cursor in Specific Field

Syntax:		<integer variable> = POSF(<integer expression>)

I Field Management Function

Explanation:

POSF places the cursor in a specified field of the display. The
receiving field is specified by its field reference number and
becomes the current field in the display.

Cursor Disposition:

The cursor is located in the first position of the specified field.
However, if the specified field cannot be found, the cursor's
location is not changed.

Function		Argument:

The function argument (<integer expression>) is the field reference
number of the field that is to receive the cursor. Field numbers
can range from one to 250.

Return Values:

If the specified field is located or zero is passed as the function
argument, the field reference number of the current field is
returned. If zero is passed as the function argument and no field
is current (that is, the cursor is not in a field), zero is
returned.

Additional Comments:

If the specified field cannot be located, a run-time error results
(see Section 8).

See the NXTF function for placing the cursor in a field relative to
the current field.

7-25

I
Display Manager Reference Manual	POSF Function

Example:

In this example, line 120 stores the current field number. Line 130
moves the cursor to the field specified by FIELD.NO%. Line 160
returns the cursor to the original field.

120	CURR.FLD%		POSF(O)	REM Save current field number
130	RET.ERR%	POSF(FIELD.NO%)	REM Move cursor to specific field
140				REM	(other processing)
150				REM
160	RET.ERR%	POSF(CURR.FLD%)	REM Cursor back to orig. field

In the next example, the cursor is moved from field to field in the
display according to field reference numbers. This routine assumes
the fields are numbered sequentially in increments of one.

240	MAX.FLDS%	NXTF(10)	REM Save number of last field
250	CNT% - 0		REM Initialize loop index
260 NEXT:RET.ERR%	POSF(CNT% + 1)	REM Move cursor to next field
270	CALL DM.ERR(RET.ERR%,POSFfl	REM Check for errors
280		REM	(other processing)
290		REM
350	CNT% = CNT% + 1	REM Add one to index
310	IF		CYT% < MAX.FLDS%	REM Last field reached?
320		THEN GOTO NEXT	REM No-Continue loop

7-26

I-'
Display Manager Reference Manual		PUTF Function

PUTF Function: Display Data in Field

Syntax:		<integer variable> = PUTF(<string expression>)

Field Management Function

Explanation:

PUTF displays data in the current field according to its specified
format. The output format of a field is specified in its status
window while using the Editor to create the display.

Cursor Disposition:

The cursor is placed in the column immediately to the right of the
-last character in the field. If the specified field cannot be
found, the cursor is not moved.

Function		Argument:

The function argument (<string expression>) is the information to be
displayed in the field. The string must not contain more than 132
characters.

Return Values:

PUTF returns zero if the information is successfully displayed in
the field, otherwise, a negative value is returned. A negative
value might result if, for example, the information being placed in
a number-type field is too large for that field (in which case the
field is filled with asterisks).

Additional Comments:

The PUTP function erases any data that may have been left in the
field from a previous operation.

7-27
Display Manager Reference manual	PUTF Function

Example:

Line 100 moves the cursor to the next output field in the display
(relative to the current field). Line 120 computes a total to show
in the field. Line 130 displays the total in the field.

100	RET.ERR% - NXTF(3)	REM Cursor to next output field
110	CALL DM.ERR(RET.ERR%,NXTF$)	REM Check for error/field found?
120	TOTAL - STR$(VAL(OTY) * VAL(PRICE.EA))	REM Compute total
130	RET.ERR% = PUTF(TOTAL)	REM Display total in field
140	CALL DM.ERR(RET.ERR%,PUTF$)	REM Check for error/good data?

7-28
Display Manager Reference manual		RESF Function

RESF Function: Resume Data Entry

Syntax:		<string variable> = RESF(<integer expression>)

Field Management Function

Explanation:

The RESF function provides a way for your program to interrupt data
entry, save the information entered into the field thus far, and
then resume data entry exactly where it was interrupted.

For example, assume the end-user is entering information into a
field whose validation code (in the status window) specifies that
only numeric data can be entered. This is a five position field and
the end-user enters the following information, 012F". When the F is
entered, abnormal data entry termination is forced. Your program
can call the ENDF function to determine why data entry was
terminated. The RESF function can then be called to save the valid
information entered into the field (12) without saving the invalid
character (F). An error message can then be displayed explaining
why data entry was terminated (based on the value returned by ENDF) .
Finally, RESF can be called again to return the cursor to the
original input field and resume data entry at the position where the
invalid character was entered.

RESP resumes data entry using the GETF or UPDF func ion, whichever
was in use at the time of abnormal termination.

Cursor Disposition:

The cursor's location following this function is dependent on the
value passed in the function argument (see the next paragraph).

Function		Argument:

The function argument (<integer expression>) is a single-character
integer specifying one of eight storage locations. If the argument
contains a negative value (-l to -8), Display Manager saves the
information entered up to the point of termination and returns an
empty string. It also remembers the field in which data was being
entered. The RESF function can subsequently be called with a
corresponding positive value (1 to 8) to cause data entry to resume
exactly where it was terminated.

For example, if your program detects abnormal termination but you
want the end-user to be able to return to the field and resume

7-29
Display Manager Reference Manual	RESF Function

entering data, you would first call RESF with a negative value.
When you want to return the user to the original field for
resumption, call RESF with a corresponding positive value.

Return Values:

RESF returns the same value as that returned by the GETF or PUTF
function originally used to retrieve data from the field.

Additional Comments:

RESP with a positive argument continues data entry for a particular
field using the rules associated with either the GETF or UPDF
function, depending on which was used to retrieve the data. The
cursor is positioned at the location where data entry terminated to
continue the input. The value returned by RESP is the character
string entered by the end-user.

Example:

Line 100 retrieves the input entered by the end-user. The following
three lines, 110 to 130, would check for abnormal data entry
termination using the ENDF function. If abnormal termination occurs
because of an illegal character, as determined by the ENDF function,
data entry resumes by saving the current field information (line
140) and resuming input as shown in line 150.

100	INP$ - GETF	REM Get input from field
110
120
130
140	RET$ - RESF(-l)	REM Save field no. and valid data
150	INP$ = RESF(l)	REM write old data in field/resume input

7-30

1_1~
Display Manager Reference Manual		RETDM Function

RETD14 Function: Return Run-time Terminal Attributes

Syntax:		<string variable> = RETDM

Display Management Functi7on

Explanation:

Returns a string of sixteen separate values. However, only the
first eleven values are currently in use and they indicate the
following:

		the features available on the run-time terminal
		the version of the Display Manager Run-time Library currently
in use

Return Values:

Each position in the string variable returned by the RETDM function
pertains to a standard terminal feature supported by Display
Manager. The following table explains the individual string
positions and their corresponding features.

PJCTDN( Terminal Features

	Position			Feature
	1			Cursor Visibility
	2			Half Intensity
	3			Inverse Video
	4			Flashing
	5			Underline
	6			User-defined #1
	7			User-defined #2
	8			User-defined #3
	9			Function Keys
	10			Run-time Version Number
	11			Color/Monochrome Indicator

The values returned in positions one through nine indicate whether
or not the corresponding feature is available on the run-time
terminal. It further indicates whether or not the feature requires
a reserved space on either side of a field (meaning the terminal
uses the Plant method for activating video attributes). Each
position can contain an ASCII value of zero, one, or two:

7-31
Display Manager Reference Manual	RETDM Function

0	The feature is not available on the run-time terminal.

1	The feature is available and does not require a space on
either side of the field.

2	The feature is available and does require a space on either
side of the field.

Your application program can examine the returned string to
determine whether or not to activate a particular feature. For
example, you might want to activate inverse video if that feature is
available or underlining if it is not. In such a case, activate the
feature only if the corresponding position contains a one; do not
activate it if the position contains a zero or two.

The ninth position indicates the number of function keys available.
ASCII zero ("0") indicates none are available, "l" indicates one
function key is available, and so forth.

The tenth position indicates the version and release number of the
Run-time Library in use. A value ranging from 0 to 127 (7F
hexadecimal) might be returned. The leftmost digit is the version
number; the rightmost is the release number. For example,
hexadecimal 11 (ASCII CTRL-Q) signifies version one, release one.
This value is significant since displays created with one version of
Display Manager generally do not work with a different version of
the Run-time Library.

The last position indicates whether the run-time terminal is
monochrome or color equipped. If monochrome, ASCII zero is
returned; if color, ASCII one is returned.

For example, if the RETDM function returns the string

10110000000

it indicates that the invisible cursor, inverse video, and flashing
cursor features are available. Half intensity, underlining, and
user-defined features are not available, no function keys are
available, and version zero/release zero of the run-time library is
being used. Finally, it indicates the run-time terminal is a
monochrome-type.
Display Manager Reference Manual		RETDM Function

Example:

In this example, the features available on the run-time terminal are
returned to the application program in line 150. Line 160 checks
the returned string to see if the inverse video feature is
available. If it is, the feature is used to highlight prompts
(lines 170 and 180).

150						AVAIL.ATTR$ - RETDM	REM Get terminal attributes
160						IF MID$(AVAIL.ATTR$,3,I) <> -0-	REM Is inverse video supported?
170							THEN PRM.ON$	"031"	REM Yes-use the feature to
180								PRM.OFF$	"330"	REM	highlight prompts.

7-33
Display Manager Reference Manual	RETF Function

RRTF Function: Return Field Position, Length, and Type

Syntax:	<string variable> - RETF

I Field Management Function

Explanation:

This function returns a value indicating the position, length, and
type (input or output) of the current field.

Return Values:

RETF returns a sixteen-character string. However, only the first
eight characters are currently used and they contain information
about the current f ield. The next table explains the value of each
character position.

Field Information from RWff

	POS.			Meaning
	1		An ASCII value ranging from 1 to 255 indicating
		the ROW number in which the field is located.
	2		(Not used; contains ASCII zero.)
	3		An ASCII value ranging from 1 to 255 indicating
		the COLUMN number where the field begins.
	4		(Not used; contains ASCII zero.)
	5		An ASCII value ranging from 1 to 255 indicating
		the LENGTH (number of columns) of the field.
	6		(Not used; contains ASCII zero.)

7-34
Display Manager Reference Manual		RETF Function

Field Information from RETF (continued)

POS.			meaning
7		Position seven	indicates whether or not a
		space		exists on either side of the field:
		Zero indicates no space is on either side of the
		field.
		One indicates a space is on either side (meaning
		a Plant-type attribute can be set for the f ield) .
	8		Indicates whether the field was defined as an
		input or output type:
		*I" indicates an input field.
		"0" (alpha 0,		not zero) indicates an output
		field.

Example:

The RETF function in this example 'determines the length of a
particular field. Line 360 obtains the field information. Line 370
computes the length of the field.

300		DEF WRITEF(OUT$)
310			RET.ERR% - NXTF(2)	REM Cursor to next input field
320			CALL DM.ERR(RET.ERR%,NXTF$)	REM Check for error
330			ATTR$ - SETF("0")	REM Make field visible
340			RET.ERR% - PUTF(OUT$)	REM Display old data in field
350			CALL DM.ERR(RET.ERR%,PUTF$)	REM Check for error
360			RET$ = RETF	REM Get field values
370			FIELD.SZ% - ASC(MID$(RET$,5,1))	REM Determine field size
390			IF FIELD.SZ% - 1 \	REM Check field size
400				THEN RET.ERR% - NXTF(3)	REM Curs to next output field
410				CALL DM.ERR(RET.ERR%,NXTF$)	REM Check for error
420		RET.ERR% - PUTF(MID$(OUT$,2,LEN(OUT$))) : \	REM Show data
430		CALL DM.ERR(RZT.ERR%,PUTF$)	REM Check for error
440 FEND

7-35
Display Manager Reference Manual	SETF Function

SEW Function: Set Field Attributes

Syntax:	<string expression> = SETF(<string expression>)

Field Management Function]

Explanation:

This function can be used to set the video or color attributes of a
field during run-time. These attributes are originally set in the
field's status window during the display design with the 'Editor.
This function makes it possible to override the original attributes.

Function		Argument:

The function argument (<string expression>) is a sixteen character
string. Each character in the string refers to a specific attribute
on the run-time terminal that can be set for the field. The next
table shows the meaning of each character in the string along with
its normal and special setting.

SETF Argument Values

	POS.		Attribute	Nrm
VIDEO
	1		Visibility	Y	N
	2		Half Intensity	N	Y
	3		Reverse Video	N	Y
	4		Flashing Field	N	Y
	5		Underlining	N	Y
	6		User-defined #1	N	Y
	7		User-defined #2	N	Y
	8		User-defined #3	N	Y
COLOR
	9		Flashing	N	Y
Background Color 		Codes
	10		RED	N	Y
	11		GREEN	N	Y
	12		BLUE	N	Y

7-36

I--,
Display Manager Reference Manual		SETF Function

SEW Argument Values (continued)

POS.			Attribute 	Nrm

Foreground Color Codes

13				Intensity	N	Y
14				Red	Y	N
15				Green	Y	N
16				Blue	Y	N

The value of each position in the string indicates how you want the
attribute to be set, as follows:

0 Normal setting.
1 Special setting.
2 Change current setting (normal to special, or the reverse) .
3 Do not change current setting.

The argument is evaluated from left to right. If it contains less
than sixteen characters, only the attributes for which a new value
is sent are changed; the remaining attributes are not affected.
Characters beyond sixteen are ignored.

Return Values:

SETF returns a sixteen-character string indicating how attributes
are currently set on the run-time terminal for this field. The
characters in this string correspond to the attributes shown in the
preceding table. If the corresponding position in the string
contains zero, the attribute is in the normal state; if it contains
one, it is in the special state.

Additional Comments:

Use the POSF or NXTF function to locate a particular field in a
display. Use the POSF function with a zero function argument to
determine the number of the current field.

7-37
Display Manager Reference Manual	SETF Function

Example:

The following example is a portion of a routine that accepts input
fram the display on the run-time terminal. The attributes available
on the terminal were determined previously using the RETDM function.
The attributes for any given field can be changed using the SETF
function as shown in lines 120 and 210.

100	RET.ERR% - NXTF(2)	REM		To next input field
110	CALL DM.ERR(RET.ERR%,NXTF$)	REM		Check for error
120	ATTR$			SETF("O*)	REM	Turn prompt ON
130	INP$	GETF	REM		Get field input
140 CONT:		IF ENDF - 27	REM		ESC key to exit?
150		THEN RET.ERR% - CLSDIS	REM		Yes-close display file
160		CALL DM.ERR(RET.ERR%,CLSDIS$)	REM		Check for file errors
170		STOP	REM		Stop the program
180	IF		ENDF -C> 0 AND ENDF <> 26	REM	Ctrl char (not ^Z)?
190		THEN GOTO RETR	REM		Yes-ignore char, continue
200	GET.ENTRY = INP$	REM		No-get input
210	ATTR$ - SETF("1")	REM		Turn prompt OFF
220	RETURN
230 RETR:		RET$	- RESF(-l)	REM Save field no. and data
260	INP$		- RESF(l)	REM Write old data in field
270	GOTO		CONT	REM Continue
280 	FEND

7-38
Display Manager Reference Manual		UPDF Function

UPDF Function: Retrieve/Validate Field Input

Syntax:. <string variable> = UPDF

Field Management Function

Explanation:

UPDF retrieves information from the current field and makes it
available to your application program.

UPDF is similar to the GETF function except that if the field
contains an initial value, the value is returned with UPDF, whereas
it is not returned with GETF.

Cursor Disposition:

The cursor is left in the column to the right of the field from
which the data was retrieved.

Return Values:

UPDF can be used to retrieve data from either an input or output
field.

Input Fields

UPDF returns the characters entered by the end-user. If the field
contains an initial value, the value is returned even if the end
user does not enter any characters into the field. However, if the
field contains template characters, these are not returned.

Each time the end-user types a character into the field, it is
validated according to the Validate code set in the field's status
window (see the "Input Field Validation Codes" table in Section 6).
If data entry is terminated abnormally, all characters entered in
the field (excluding the illegal character) are returned to the
application program.

7-39
Display Manager Reference Manual	UPDF Function

UPDF returns all characters entered into the input field until the
occurrence of one of the following:

	The RETURN key is pressed.

	Data entry is abnormally terminated (for example, an illegal
character is entered).

	The f ield is f i lled and the AutoRet code in the f ield I s status
window is appropriately set.

UPDF makes it possible for the end-user to use editing control keys
when entering data in an input field. The table in the GETF
function description shows these keys and their interpretation.

Output Fields

when UPDF is used in conjunction with an output field, characters in
the field are returned immediately. That is, it is not necessary
for the end-user to terminate data entry since data is not entered
into output fields.

Additional Comments:

UPDF is used to access updated information in a field. It is your
responsibility to ensure that the initial value in a field is the
type your application program expects. The UPDF function does not
validate the entire field; it checks only those characters entered
by the end-user. An exception to this is if the validation code
specifies decimal data. UPDF allows a decimal point to be entered
if it is to the left of an existing decimal point in the field. The
function removes the existing decimal point without affecting other
characters in the field. If the end-user attempts to enter a
decimal point to the right of an existing one, Display Manager does
not accept it. However, this does not cause abnormal termination of
data entry.

. 7-40

I-'
Display Manager Reference Manual		UPDF Function

Example:

This example shows UPDF used to accept data input to a field in line
250. Prior to calling UPDF, an initial value was placed in the
field by a PUTF statement (line 220).

200		RET.ERR% - NXTF(2)	REM Cursor to next input field
210		CALL DM.ERR(RET.ERR%,NXTF$)	REM Check for errors
220		RET.ERR% - PUTF(PRICE$(PART%))	REM Display initial value
230		CALL DM.ERR(RET.ERR%,PUTF$)	REM Check for errors
240		ATTR$ - SETF(PRM.ON$)	REM Turn prompt ON
250 PTRY:PRICE.EA(ORDER.NO%) - UPDF		REM Get input data
255 REM -------------------- = ----------- = -----------------------
260 REM This field does not trap bad characters; ESC not trapped.
265 REM ---= ------------- = ----------------------------------- =--=
270		ATTR$ - $ETF(PRM.OFF$)	REM Turn prompt OFF

End of Section 7

.	7-41
Section 8
Run-time Environment

The run-time environment represents the culmination of work
accomplished in the terminal setup, Editor, and applications
programming environments. The figure "Run-time Environment" on the
next page illustrates the normal run-time environment, though many
variations are possible.

The Terminal Control Code File created in the terminal setup
environment contains the codes your application program needs to
work with the run-time terminals. At run-time, your program can
determine the run-time terminal in use, read the terminal control
codes for that terminal from this file, then pass the codes via the
INITDM function to initialize the terminal.

There is a variation to this method of initializing the run-time
terminal. Your Display Manager distribution disks contain a source
program named INSTALL.BAS. This program is written in CBASIC
Compiler and is designed to help the end-user initialize the run
time terminal for use with your application program. INSTALL.BAS
reads the terminal control codes from the TERMS.DM file (rather than
from the Terminal Control Code File you create with DMSET) and uses
those codes to initialize the terminal. If you are developing an
application for use on a variety of terminals, this program may be
of use to you.

You can change the INSTALL.BAS program any way you wish, or use it
as distributed. Simply compile and link the program and provide
whatever documentation you feel the end-user may require.
Distribute the object module, documentation, and a.copy of TERMS.DM
with your application.

The program object module is created in the application programming
environment and linked to the Display Manager Run-time Library to
include the routines required by your application. Of course, your
application can-consist of one or more program object modules.

The final component in this environment is the display file
containing all of the displays to be used in your application. This
file is created in the Editor environment. There can be as many
display files as disk space permits on the run-time computer.

All of these components (display files, program object modules,
terminal control code file, and the optional INSTALL.BAS program and
TERMS.DM file) can be distributed for use on the end-user's run-time
computer.

Note:		You cannot distribute the Editor program.

8-1
Display Manager Reference Manual	Run-time Environment

DISPLAY
MANAGER
RUN-TIME
LIBRARY

PROGRAM	TERMINAL
DISPLAY	OBJECT	CONTROL
FILE	MODULE	CODE
FILE

END-USER'S
COMPUTER

END-USER

RUN-TIME
TERMINAL

Run-time Environment

8-2
Display Manager Reference Manual		Run-time Environment

Errors can occur at run-time if your application program does not
use the routines in the Display Manager Run-time Library correctly.
However, if you thoroughly test your applications before they are
distributed and your program adequately checks the values returned
by the routines, the end-user should never encounter such errors.

When these errors do occur, they are considered fatal to the
application program. So, Display Manager automatically closes any
files that are open, displays a message indicating the nature and
origin of the error, then returns control to your operating system.

The error message displayed in these cases contains a code
indicating the function (or, routine) that was called when the error
occurred as well as an indication of what caused the error. Here is
an example of a run-time error message:

Display Manager error: b3 CLSDIS		no display

Mote the code portion of the message, "b3". The lower case letter
indicates the function that caused the error. Each Display Manager
function is assigned a separate letter, as shown in the next table.

Run-time Error Function Codes
Letter I Function		Letter I Function
a			CLRSCR	i	OPNDIS
b			CLSDIS	i	POSP
c			CURS	k	PUTF
d			DISPD	1	RESP
e			ENDF	m	RETDM
f			GETF	n	RETF
9			INITDM	0	SETF
h			NXTF	p	UPDF

The letter code precedes a hexadecimal value (in the above example,
3) indicating the nature of the error. The following table lists
the possible values and their meanings.

8-3
Display Manager Reference Manual	Run-time Environment

Run-time Error Values

Value	Meaning

1	Your program called a Display Manager function prior
to calling the INITDM function. INITDM must be the
first Display manager function called in your
application program.

2	No Display Manager display file is currently open.
You must open a display file (using the OPNDIS
function) before calling any display management
functions.

3	There is no current display. This might occur if you
attempt to use a field management function in your
program before calling the DISPD function.

4	No current field is in the display. This usually
occurs if you attempt to use a field management
function before calling the NXTF function.

5	You made a second attempt to use the INITDM function.
You can use INITDM only once in any given program.

6	The value of the argument passed in a RESF function is
less than one or more than eight. Only values within
this range are permitted.

7	You called the RESF function with a positive argument
value before calling it with a negative argument
value. You must call RESF with a negative argument
value to save an input field before resuming data
entry with a positive argument value.

8	insufficient memory is available on your computer for
showing the displays as you have designed them. You
might need to use overlays or fewer variables in your
program.

9	You tried to use the POSF function to place the cursor
in a nonexistent field. The error message shows the
field reference number you attempted to use. Consider
using the NXTF function instead of POSF.

10	You tried to use the wrong version of a display file.
This occurs when you create a display file with one
version of Display Manager and use it with a different
one.

11	You tried to use a file that is not a valid display
file. Check to 'ensure you have used the correct
filename.

8-4
Display Manager Reference Manual		Run-time Environment

Some additional run-time errors occur only with the INITDM function.
Section 7 lists and explains these errors under the description of
that function.

End of Section 8

8-5
I-"

Appendix A
Terminal Control Codes

This appendix contains information about the terminal control codes
used by Display Manager.

Although most terminals- differ greatly in their control
characteristics and features, Display Manager can operate with any
terminal as long as its control codes are known and it meets the
minimum requirements listed in Appendix B.

TERKS.DK FILE

Your Display Manager distribution disks contain a file named
TERMS.DM. As distributed, this file contains the terminal control
codes for most of the more common terminals on today's market.
Display Manager can only be made to work with a terminal if its
control codes are contained in TERMS.DM. If you attempt to run
Display Manager with a terminal not in TERMS.DM or with the
incorrect control codes, your results are unpredictable.

TERMS.DM can contain two different categories of terminals, Display
Manager-supported and user-supported.

Display Manager-supported Terminals

These are terminals originally contained in TERMS.DM as distributed
by Digital Research. Display Manager - supported terminals are
protected in TERMS.DM. You cannot add terminals in this category,
change their control codes, or delete them from the file.

The table "Display Manage r- supported Terminals", which appears later
in this section, lists the Display Manager-supported terminals
contained in TERMS.DM. Your TERMS.DM file may vary slightly from
the table. Use the DMSET program to examine the f ile and determine
precisely what terminal control codes are available (see Section 3
and Appendix C).

User-supported Terminals

You can add control codes to TERMS. DM. Any codes you add fall into
the user-supported terminal category. You can also make changes to
terminals in this category and delete them from the file if
necessary. This category is provided so that you can adapt Display
Manager to work with a terminal not originally in TERMS.DM. Every
terminal used with Display Manager, however, must meet the minimum
requirements of an addressable cursor and a clear screen command.

User-supported terminals can be added to, changed, or deleted fran
TERMS.DM as described in Appendix C of this manual.

A-1
Display Manager Reference Manual	TERMS.DM File

An empty table at the end of this section is for you to keep a
record of the user-supported terminals you set up in TERMS.DM. Run
the DMSET program to examine the control codes for these terminals.

Every Display Manager- and user-supported terminal in TERMS.DM has
associated with it the terminal control codes Display Manager needs
to make the terminal function as expected (either at run-time or
while using the Editor). The terminal control code string has a
specific structure which must be observed.

TERKIIL46L CONTROL CODE STRUCTURES

Terminal control codes appear as a string of characters with
delimiters to separate the string into groups as required. The
number of codes and code groups in the string (and, consequently,
the string's length) can differ for each terminal. However, the
length of the string must not exceed 254 characters.

Here is an example of a terminal control code string. It is shown
in ASCII format for readability.

F indicates number of code groups

/3 FHPNADIJDFAMABCPFDZ3 GCJKIDPCBKX7 MAPEAEBEPNR9
f t 	-1 t
Code	Code	Code
Group 1	Group 20	Group 30

Example of a Terminal Control Code

Each code group in the string contains letter codes ranging from A
to P. At the end of each group are error-detecting characters
ranging from R to Z and 3 to 9. Display Manager uses the error
detecting characters at run-time to determine if it has the correct
codes for the terminal in use. Your applications program must pass
the correct terminal control code string to Display Manager at run
time using the INITDM function (described in Section 7).

A-2

1__~
Display Manager Reference Manual		Control Code Structure

Three code groups are in the preceding example:

		Code Group I contains the codes for clearing the screen,
positioning the cursor, determining the screen size, and
starting up the terminal. This code group is required in all
terminal control code strings.

		Code Group 20 contains the codes for activating standard and
user-defined attributes, such as inverse video, half
intensity, and graphics. This code group is optional.

		Code Group 30 contains the codes for activating any function
keys on the terminal. This code group is also optional.

Every terminal control code string must have a slash (/) as the
first character. A number follows the slash indicating how many
code groups the string contains. Code group one must always be the
first group in the string; other groups can follow in any order.

Blanks can appear anywhere in the string to make it easier to read.
If you need to create your own terminal control code strings, do not
insert newline (null) characters in the string as they might be
treated as the end of the code.

When you set up a user-supported terminal in TERMS.DM, you can
pref ix the control codes with the terminal name. At run-time, your
application program can display the terminal name for the end-user
and request verification that the proper run-time terminal is being
used. The name can contain up to 21 characters.

DISPLAY MAKAGER-SUPPORTED TERMINALS

When you use a terminal listed in the following table, you must
place the terminal in conversational (or character) mode and turn
off all editing features, such as insert and delete. Note also that
if the terminal screen has protected areas, they can affect the
appearance of the display. Be careful to avoid switching the
terminal off during run-time as this might reset special features
that are incompatible with Display Manager.

If one of the codes in TERMS.DM does not work correctly for your
terminal, check to make certain you selected the correct model and
that all special features have been turned off. If it still does
not work, find out if you have any customizations that affect the
terminal's operation, such as special DIP switches or add-in boards.
Turn these switches and features off, or run the DMSET program to
change the terminal control codes so that they handle the extra
features properly (see Section 3 and Appendix C).

A-3
Display Manager Reference Manual	Display Manager Terminals

Display Manager-supported Terminals

	Manufacturer		Model Number/Name
ABM			80
ADDS	40 VT
Regent 20
Regent 25
Regent 40
Viewpoints 60
Viewpoints A-2

Apples	Smarterm
	Video Term'
Beehive Int'le	DM+
	DM Basic
	DM Standard
	DM 5
	DM 5A
	DM 5B
	DM 10
	DM 20
	DM 30
	DM 1A
	micro Bee I'
	Micro Bee 2
Control Datas	721-20
	721-30 (Cyber)
	System 110
crcxnemcos	3102
Digital Equip. (DEC)e	VT 52
	VT 100
	VT 100AB (80 Column)
	VT 100AB (80 Column:CP/M-86)
	Rainbow- (80 Column)
	Rainbow (80 Column:CP/M-86)
Direct	800
Fujitsu-	Micro 16 (CP/M-86)

A-4
Display Manager Reference Manual		Display Manager Terminals

Display Manager-supported Terminals (continued)

	Manufacturer			Model Number/Name
Hazeltine			1400
		1410
		1420
		1421
		1500
		1510
		1520
		1552
Esprit
Executive 80" (80 column)
	(models 20 and 30)
Executive 80 (132 column)
	(models 20 and 30)

Heaths		H-19
	H-19 (CP/M-86)
	H-89
Hewlett-PackardO		2382A
	2621B
	2624B
	2626B
	Business 125
IBMs		PC Monochrome (CP/M-86)
	PC Color (CP/M-86)
ISC		8001
Lear-Siegler		ADM-3A
	ADM-5
	ADM-31
	ADM-42
Micro-Term		ACT IV
	ACT V
	ACT V-A
Osborne-		System 1,
Radio Shacks		Model II (Pickles and Trout)

A-5
Display Manager Reference Manual	Display Manager Terminals

Display Manager-supported Terminals (continued)

Manufacturer	ModelNumber/Name
Soroc		IQ 120
		IQ 130
		IQ 140
		IQ 150
TelerayO		Model 10 DG
		Model 10 MP
		Model 10 V52
		Model 12
		Model	100 (80 column)
		Model 100	(132 column)
TeleVideoe		910+
		912
		920
		950
ToshibaO		T100
		PASOPIA
Vector Graphics-		1600
		2600
		2800
		3005
		3032
		5005
		Mz
		System B
		Vector 3
		Vector 4
		Vector 5
Visual'TechnologyO		Visual 100
		Visual 200'"
		Visual 300
		Visual 400
Xerox		820
		860
ZenithO		Z-19
		Z-19 (CP/M-86)
		Z-89
	A-6
Display Manager Reference Manual		User-supported Terminals

USBR-SUPPORTED TERMINALS

This section is provided to help you keep a physical record of user
supported terminals you add to TERMS.DM. You can photocopy these
pages if you need additional space.

I			Manufacturer	I	Model Number/Name	I
Display Manager Reference Manual	User-supported Terminals

I	Manufacturer	I	Model Number/Name 	I

End of Appendix A

A-8
Appendix B
Summary of Restrictions and Limitations

This appendix summarizes the restrictions and limitations you must
observe when setting up terminals for use with Display Manager,
using the Editor, and coding your application programs.

TFJWINALS

Minimum requirements:

Able to clear the screen on command.
Able to position the cursor directly.

Maximum number of rows on CRT:

48

Maximum number of columns in a row:

132

maximum number of positions on CRT screen:

3,840 (if run-time computer has at least 64K RAM).
1,920 (if run-time computer has minimum 48K RAM).

Minimum number of positions on CRT screen:

24 rows by 52 columns.

Maximum number of video attributes Display manager can use on a
given terminal:

8 (attributes must be available on the terminal).

Other restrictions:

For use with the Editor, a minimum baud rate of 4800 is
recommended.

The terminal must use ASCII characters.

The last column in the last row on the screen cannot be used.

B-1
Display Manager Reference Guide	Display Files

DISPLAY FILES

Maximum number of displays that can be contained in any given
display file;

250

Maximum number of display files that can be used by an application
program:

Limited only by disk space available on the run-time computer.

Maximum number of display files that can be open at any given time:

1

Maximum number of displays that can be in use at any given time:

1

FIELDS

maximum number of fields permitted in a single display:

250

Maximum field size:

Cannot be longer than one row on the terminal screen.

Minimum field size:

one column.

Other restrictions:

Fields cannot overlap one another.

FXN-TINZ LIBRARY

Memory required for typical displays, including program code for a
24 row by 80 column screen:

8K (additional memory required if there are a large number of
fields in the displays).

Other restrictions:

The application program must pass the control codes for the
run-time terminal to Display Manager at run-time using the
INITDM function. The string passed by this function must not
contain more than 254 characters.

B-2
Display Manager Reference Guide		Run-time Library

The argument <string expression> passed by the PUTP function
must not contain more than 132 characters.

End of Appendix B

B-3

I--
Appendix C
Custom Terminal Setup

Any terminal used with Display Manager must have its terminal
control codes correctly recorded in the TERMS.DM file. Otherwise,
the terminal will not function as expected. The TERMS.DM file
contains control codes for most terminals you might use with Display
Manager. However, there are situations where this is not the case
and the Custom Terminal Setup option in the DMSET program
accommodates these situations.

This appendix explains how to complete a custom terminal setup. You
might find this necessary in the following situations:

 TERMS.DM does not contain the codes for a design or run-time
.terminals you want to use.

		TERMS.DM contains the codes for a terminal you want to use but,
due to the way certain switches or features are set on the
terminal, the codes are incorrect.

		You want to remove control codes from TERMS.DM for a specific
terminal.

		You want to examine the control codes for a particular terminal
in TERMS.DM.

To perform a custom terminal setup, you need the manual for the
terminal. The manual should provide all of the information you need
to perform this procedure. If you do not have the manual or cannot
find the required information, you can contact your dealer for
assistance.

Before performing a custom terminal setup, you might want to
determine if terminal emulation is possible. Although the terminal
you want to set up might not be contained in the TERMS.DM file, it
might use the same terminal control codes as one that is. In this
situation, terminal emulation is possible. Simply select the
terminal you want to emulate from those in TERMS.DM and, if desired,
select option C from the Custom Terminal Setup Options Menu (see the
next figure) to correct the manufacturer and model name for the
terminal to match yours. Thoroughly test the emulation to ensure it
functions properly (see "Option T--Test Terminal Control Codes" in
Section 3). Appendix A lists the terminals in TERMS.DM. Use option
E (EXAMINE terminal control codes) to review the actual control
codes for any terminal in TERMS.DM.

To perform a custom terminal setup, start the DMSET program
according to the instructions in Section 3. When the Main Menu
appears, select option C. The Custom Terminal Setup Options Menu
appears on your screen, as shown in the following figure.

C-1
Display Manager Reference Manual	Custom Terminal Setup

--------------

CUSTOM .. T~.ERMINAL SETUP OPTIONS MENU
. . ... ... ...
.. . .. .. ..

option 	Function
0 p v on
	Set up codes f or THIS terminal
F	Set up codes for aDIFFERENT terminal
C	CHANGE existins terminal control codes
D	DELETE terminal control codes
E	EXAMINE terminal control codes
X 	EXIT ( return to Main Menu)

Please enter Your selection -->

Custom Terminal Setup Options Kenu

The next table provides brief explanations of the functions
available on this menu. The remainder of this section describes
each procedure in detail. Section 3 and Appendix A also contain
information pertinent to these procedures.

Custom Terminal Setup Options

Option 	Explanation
T Set up 		codes for this terminal
If TERMS.DM does not contain control codes
for the terminal you are now using, select
this option to insert the codes.
F Set up 		codes for a different terminal
If you want to set up codes for a terminal
other than the one you are now using,
select this option.
C Change 		existing terminal control codes
Select this option if you want to change
the control codes for a user-supported
terminal currently in TERMS.DM.

C-2
Display,Manager Reference Manual		Custom Terminal Setup

Custom Terminal Setup Options (continued)

Option 		Explanation

D		Delete terminal control codes

Select this option if you want to remove
the terminal control codes for a user
supported terminal from TERMS.DM.

E		Examine terminal control codes

Use this option to look at any terminal
control codes in TERMS.DM. You cannot
make changes using this option.

X		Exit (return to Main Menu)

Self-explanatory.

OPTION T--SET UP CONTROL CODES rOR THIS TERMINAL

Use this option to set up terminal control codes for the terminal
you are now using. when you complete this procedure, a user
supported terminal entry is made in the TERMS.DM file for your
terminal. You should then run the test procedure (option T on the
DMSET Main Menu) to verify that the terminal functions as expected.
The figure "Set Up Control Codes for this Terminal" on the following
page illustrates this procedure.

When you select this option, the program asks you a series of
questions about the codes your terminal uses to perform such
functions as clearing the screen, positioning the cursor, and
others. You should be able to find the information needed to answer
these questions in the manual for the terminal. If you do not have
the manual or are unable to determine the correct answer to the
question(s), contact your dealer for assistance.

C-3
Display Manager Reference Manual Set Up Codes for this Terminal

DESIGN TERMINAL

SET UP CODES FOR THIS
	TERMINAL

TERMINAL
	SETUP
PROGRAM

USER-SUPPORTED
TERMINAL CONTROL CODES

TERMS.DM
FILE

Set Up Control Codes for this Terminal

C-4
Display Manager Reference Manual		Set Up for Different Terminal

OPTION F--SET UP CONTROL CODES FOR A DIFFERENT TpaU41NAL

Use this option to set up terminal control codes for a terminal
other than the one you are now using. When you complete this
procedure, a user-supported terminal entry is made in the TERMS.DM
file for the terminal. You should then run the test procedure,
option T on the DMSET Main Menu, to verify that the terminal
functions as expected. Note that the terminal must be available to
run the tests. The figure "Set Up Control Codes for a Different
Terminal" on the following page illustrates this procedure.

When you select this option, you are asked to identify the terminal
you are now using to conduct this procedure. This is necessary
because displays created with Display Manager are used by this
procedure to help you set up the required terminal control codes.
You are shown the list of terminals in TERMS.DM and asked to select
the one you are using by entering its associated three-character
code. If the code you enter is found in the list, the word "FOUND"
appears and you only need press RETURN to select it for use. If the
three-character code is not found, the words "NOT FOUND" appear and
you can use the BACKSPACE key to erase your entry and enter a
correct code. You can also use the scroll commands CTRL-W and CTRL
Z or the ESC key at this time.

If the control codes for the terminal you are using to conduct this
procedure are not contained in TERMS.DM, you have two options for
continuing.

1.		Press ESC to stop this procedure and return to the Custom
Terminal Setup Options Menu. Select and complete option T to
"Set up codes for this Terminal". Once you complete the
procedure, this option is restarted for you automatically.

2.		Select a terminal from the displayed list that uses the same
cursor positioning and clear screen control codes as the
terminal you are using. (These are the only two terminal
functions used in this procedure.)

Once you have selected the terminal you are now using, you are asked
a series of questions about the terminal you want to set up.
"Custom Terminal Setup Questions" at the end of this section
describes these questions.

C-5

I'-
Display Manager Reference Manual	Set Up for Different Terminal

TERMINAL TO BE SET UP;
E.,A DIFFERENT TERMINAL

	TERMINAL
OPTION F	SETUP
	PROGRAM

TERMINAL NOW BEING USED.

TERMS.DM
	FILE

Set Up Control Codes for a Different Terminal

C-6
Display Manager Reference Manual		Change Terminal Control Codes

OPTION C--CHANGE TERMINAL CONTROL CODES

Many terminals have special switches, usually called DIP switches,
which can be set to alter the way one or more of the terminal
features operate. For example, a switch can be set one way to
activate a blinking line cursor or another way to activate a steady
box cursor. If the terminal you are setting up has switches that
have been set to alter the normal features of the terminal, you can
use this option to create or change the control codes for the
terminal to match the switch settings. The figure "Change Terminal
Control Codes" on the following page illustrates this procedure.

As distributed, the TERMS.DM file contains the terminal control
codes for all Display Manager -supported terminals. You cannot
change these codes, but you can copy them and make changes to the
copy. The copied codes with changes are set up in TERMS.DM as user
supported terminals. You can make as many changes as you like to
the control codes for user-supported terminals. (See Appendix A for
further information.)

When you select this option, the first thing you are asked to do is
identify the terminal whose control codes you want to copy or
change. You are shown the list of terminals in the TERMS.DM file
and asked to enter the three-character code of the one you want to
select. If you enter a code that is in the list, the word "FOUND"
appears and you must press RETURN to select that terminal. If you
enter a code that is not in the list, the words "NOT FOUND" appear
and you can use the BACKSPACE key to erase your entry and enter the
correct code. You can also use the scroll commands CTRL-W and CTRL
Z or the ESC key at this time.

After you select the terminal you want to change, you are shown the
manufacturer and model name and control codes for that terminal.

In the second step, you are asked to select the terminal you are NOW
using by the same process explained in the preceding paragraph.

The third step is to make the actual changes to the terminal control
codes. To accomplish this, the Custom Terminal Setup Questions Menu
appears on your screen. "Custom Terminal Setup Questions" at this
end of this section describes these questions.

C-7
Display Manager Reference Manual	Change Terminal Control Codes

DIP SWITCHES
	ETC.

CHANGING OR COPYING
CONTROL CODES FOR
THIS TERMINAL.

TERMINAL NOW B ING USED.
E

		CONTROL CODES
	TERMS.DM			TERMINAL
	FILE			SETUP
			-	PROGRAM
		~~SAVE CODES		(/MAKE CHANGES

I

Change Terminal Control Codes

c-8
Display Manager Reference Manual		Delete Terminal Control Codes

OPTION D--DELETE TERNINAL CONTROL CODES

Use this option to delete control codes for user-supported terminals
from the TERMS.DM file. Note that you cannot delete control codes
for Display Manager-supported terminals.

When you select this option, you are shown a list of user-supported
terminals in the TERMS.DM file. User-supported terminals are
indicated by (USER-SUPPORTED) displayed next to the terminal name
and model. Each entry in the list has a three-character code
associated with it, such as 011 or 012. Scroll through the list
until you find the terminal whose control codes you want to delete,
then enter its corresponding three-character code.

If you enter a code that is not in the list, the words "NOT FOUND"
appear. Use the BACKSPACE key to erase your entry and enter a
correct code. You can also enter the scroll commands CTRL-W and
CTRL-Z or the ESC key at this point.

When you enter a correct code, the word "FOUND" appears. Press
RETURN and the control codes for that terminal are displayed. You
are then asked to conf irm that this is the terminal you want to
delete. Finally, you are given the option to delete more codes or
return to the Main Menu.

When you delete codes from TERMS.DM, be sure to delete them from
your record of user-supported terminals in Appendix A (if you are
maintaining this record).

OPTION 9--EXAMINE TERNINAL CONTROL CODES

Use this option to look at how the control codes for one or more
specific terminals are recorded in the TERMS.DM file. Note that you
cannot write terminal control codes to a file, change, or delete
them with this option. This option only allows you to look at the
codes.

when you select this option, you are shown the complete list of
terminals in the TERMS.DM file. User-supported terminals are
indicated by (USER-SUPPORTED) displayed next to the terminal name
and model. Each entry in the list has a three-character code
associated with it, such as A41 or 011. Scroll through the list
until you find the terminal whose control codes you want to examine,
and then enter its corresponding three-character code.

If you enter a code that is not in the list, the words "NOT FOUND"
appear. Use the BACKSPACE key to erase your entry and enter a
correct code. You can also enter the scroll commands CTRL-W and
CTRL-Z or the ESC key at this point.

When you enter a correct code, the word "FOUND" appears. Press
RETURN and the control codes for that terminal are displayed on your
screen. You are then given the option to examine more codes or
return to the Main Menu.

C-9
Display Manager Reference Manual Custom Terminal Setup Questions

CUSTOM TEF44INAL SETUP QUESTIONS

This section explains the questions you are asked when you select
option F or C from the Custom Terminal Setup Options Menu (shown
earlier in this section). There are ten different categories of
questions with each relating to a specific terminal feature. These
question categories appear on a menu as shown in the next figure.

---------- I ---------------------------
	CUSTOM TERMINAL SETUP QUESTIONS MENU
-----------------------------------------------
Code 	Category
1 ... Screen Size
2	...	Clear Screen
3	...	Cursor Positioning
4	...	StartupCodes
5	...	Standard Video Attributes
6	...	User-defined Attributes
7	. . .	Multiple Attributes
8	...	Cursor ArrowKeys
9	...	Function Keys
A	. . . 	CursorON/OFF
	H . . . HELP
	S . . . Save Terminal Control Codes
ESC ... Return to Main Menu
Please enter Your selection -->

Custcm Terminal Setup Questions Menu

You must answer questions in these categories:

1 ... Screen Size
2 ... Clear Screen
3 ... Cursor Positioning
4 ... Startup Codes

Answers to the remaining categories are optional.

C-10
Display Manager Reference Manual Custom Terminal Setup Questions

Most questions provide a default answer, which is enclosed in the
signs< >. If you are unsure of an answer, try using the default.
However, be sure to verify that the default works by running the
test procedure from the DMSET Main Menu.

Four types of questions can occur, each requiring a specific type of
answer:

		Yes/No Questions require a response of Y or N.

		Plant/Paint Questions require a response of L (meaning a Plant
attribute is used) or A (meaning a Paint attribute is used).
Section 4 describes Plant and Paint attributes.

		Numeric Questions require an integer value in a decimal format
for.the answer.

		Character Sequence Questions are answered by entering a
sequence of ASCII, decimal, or hexadecimal characters. You can
enter up to eight characters. These characters sequences
activate certain features on some terminals.

Once you answer a category of questions from the Custom Terminal
Setup Questions Menu, the program places parentheses around that
category in the menu to indicate that changes have been made.
However, remember that your changes are not saved in the TERMS.DM
file until you select and complete the S option from the menu.

The following text explains the questions asked in each category and
provides space for you to record your answers.

When running the program, you can select categories f ran the menu in
any order. As you read through the terminal manual, select a
category and answer the questions as you find the required
information. Note that all questions listed in a category might not
necessarily appear on your screen; many questions depend on the
answer given to a previous question.

Screen Size Questions

The answers to these questions indicate how many rows and columns
are available on the terminal screen.
How many ROWS are on the
screen? (Top to bottom)		<24>
How many COLUMNS are on
the screen? (Left to right)		<80>

C-11
Display Manager Reference Manual Custom Terminal Setup Questions

Clear Screen Questions

You must tell Display Manager how to clear the screen to all blank
characters. Some terminal manuals refer to this as "clear page" or
"home cursor".
What characters must be sent
to the screen to clear it?
How many milliseconds delay is
needed after clearing the screen?	<50>

Cursor Positioning Questions

Terminals can directly position the cursor in a specific row and
column of the screen when sent the correct information. The
following questions ask you for the information Display Manager must
send to the terminal to position the cursor.
To position the cursor, is the
ROW number sent first? (NIY)	<Y>
When the cursor moves right, does
the COLUMN number increase? (N/Y)	<Y>
When the cursor moves down, does
the ROW number increase? (NIY)	<Y>
What COLUMN number positions the
cursor at the left edge?
What ROW number positions the
cursor at the top edge?
What characters must be sent
PRECEDING the row and column number?
What characters (if any) must be sent
BETWEEN the row and column number?
What characters (if any) must be sent
FOLLOWING the row and column number?
Are the row and column numbers sent as
SINGLE, INDIVIDUAL bytes? (NIY)	<Y>

(If previous answer was No... )
Are row and column numbers sent as
a STRING of characters? (NIY)	<Y>

C-12
Display Manager Reference Manual Custom Terminal Setup Questions

(If previous answer was No, the terminal
cannot be set up. If answer was Yes 
How many characters in the STRING?		<3>
How many MILLISECONDS delay is
needed following a cursor move?		<30>

Start-up Codes Questions

A string of start-up codes must be sent to some terminals to place
them in their normal operating mode. This ensures they can be used
with Display Manager. You must provide the start-up codes for the
terminal you are setting up if it does not start in full-intensity,
normal video, with only remote key operation (that is, the screen is
controlled by signals sent from the computer rather than from the
keyboard). The following questions ask for the start-up codes.

What CHARACTER STRING (if any)
places the terminal in normal mode?

What CHARACTER STRING (if any)
places the terminal in default mode?

Standard Video Attributes Questions

Video attributes are visual effects such as half-intensity or
reverse video that the terminal can perform on information shown on
the screen. A string of up to eight characters can be sent to
activate or deactivate a video attribute. Section 4 describes video
attributes.

	Half				Reverse	Under
Intensity				Video	Flashing	lining
Is this feature
AVAILABLE? (Y/N)				<N>
Does it require a
PAINT or PLANT
attribute? (A/L)				<L>

What CODE ACTIVATES
the feature?

What CODE DEACTIVATES
the feature?

C-13
Display manager Reference Manual Custom Terminal Setup Questions

User-defined Attributes Questions

Any feature available on the terminal can be activated as a user
defined attribute as long as it functions like a standard video
attribute. That is, it only affects text characters, can be shut
off, and does not move the cursor. up to three different user
defined attributes can be used with Display Manager.

		User	User	User
		Attr#l	Attr#2	Attr#3
Is this attribute
USED? (YIN)	<N>
Does it require a
PAINT or PLANT
attribute? (AIL)	<L>

What CODE ACTIVATES
the feature?

What CODE DEACTIVATES
the feature?

Multiple Attributes Questions

If the terminal has the capability, Display Manager can activate two
separate video and/or user-def ined attributes simultaneously. There
are two methods for doing this: a special code might exist for the
combination, or the two attributes might be activated as separate
features. In the latter case, at least one attribute must be a
Paint-typ;e because only one column can be reserved on either side of
a f ield. To use the following table, mark each combination of
attributes that can be activated simultaneously and answer the
corresponding questions.

		Combinations		Questions
----	-----	-----	----- 	-----
Half __ Rever __ Flash __ Under -_ User-:;;;i;;;_ ;;e_c__i_a_1 --- P-a-i-n-t ---- A-c-t-i 	De_ac__t_i-__
Ints Video	line	#1	#2	#3	Code? /Plant	vate 	vate
I	(A/L)	Code 	Code

<N>-

<N>

<N>_

<N>-

C-14
Display Manager Reference Manual Custom Terminal Setup Questions

Cursor Arrow Keys Questions

Some terminals have special keys with arrows marked on them for
cursor movement. They can be used with Display Manager if they
produce either the ANSI standard arrow characters (CTRL-H, CTRL-J,
CTRL-K, or CTRL-L) or the Display Manager cursor movement characters
(CTRL-S, CTRL-E, CTRL-D, or CTRL-X).
Does the terminal have
cursor arrow keys? (Y/N)		<N>
(If the previous answer was Yes 
Are standard cursor arrow keys
(^H,^J,^K,^L) used? (Y/N)		<N>

Are Display Manager cursor arrow
keys (^S,^E,^D,^X) used? (Y/N)

Function Keys Questions

There are two types of function keys. Display Manager cannot be
used with the type that produces local effects (such as Scroll or
Delete). Display Manager can be used with the type that sends a
sequence of characters when pressed. In the following questions,
"value" refers to the ASCII character that is transmitted when the
function key is pressed.
How MANY function keys are there?
(with same leading/trailing characters)		<0>

(If previous answer is >0 ...
What LEADING characters must
be sent to the screen?

What TRAILING characters must
be sent to the screen?

What is the VALUE of the FIRST key
in the function key set?

What is the VALUE of the LAST key
in the function key set?

Cursor ONIOFF Questions

The cursor can be made invisible on some terminal screens. Note
that some terminals have several possible shapes for the cursor. In
such cases, the code to turn the cursor ON should be the most
commonly used one.

C-15
Display Manager Reference Manual Custom Terminal Setup Questions

Can the cursor be turned
ON and OFF? (Y/N)	<N>

(If previous answer was Yes ...
What characters must be sent
to turn the cursor OFF?

What characters must be sent
to turn the cursor ON?

C014PLETING CUSTOM TERMINAL SETUP

After you have answered all of the questions for the terminal you
are setting up, select the S option on the Custom Terminal Setup
Questions Menu to save the information and record the control codes
in TERMS.DM. When you select this option, a display similar to the
following figure appears on your screen:

User-supported terminal number: 01
Control code,
/IABADBKBLCKDCCACACAACBLDNAAAAAABIFAAAAAU3
Enter Manufacturers name:
Enter Model Name:

User-supported Terminal Setup Screen

This display shows you the number assigned to this user-supported
terminal (01) and its control codes (/lABAD... ). The first prompt
asks you to enter the manufacturer's name for the terminal and the
second asks for the model name. Whatever information you enter here
appears on the screen when the Editor program is started. However,
you can suppress this information by placing square brackets ( [ I )
around your response. After you enter the information, it is stored
in the TERMS.DM file along with the control codes. (Note that space
is provided in Appendix A to record this information for future
reference.)

At this point you are returned to the DMSET Main Menu.

End of Appendix C

C-16
Glossary

application program: A series of coded instructions telling a
computer how to process information it receives. The written code
is referred to as the source code. The source code is submitted to
a compiler which translates the code into instructions that can be
understood by the computer. The translated code is referred to as
the object module.

border mode: While in border mode, you can use certain commands to
instruct the Editor to draw borders and other figures on the design
terminal screen. See Section 6.

boundary mode: While in boundary mode, you can use certain commands
to instruct the Editor to show where the boundaries are for input
and output fields in a display. The boundaries indicate the
position, length, and type of each field. See Section 6.

color attributes: Some computer' terminals have the ability to show
displays in color. You can define input and output fields in a
display to use these features when available by assigning the
appropriate color attributes in the field's status window or as
global values for the display. You can designate separate colors
for backgrounds and foregrounds. See Section 4.

CRT: Cathode Ray Tube. The CRT is the part of a computer terminal
that looks like a television screen.

CTRL key: The Control key on a terminal keyboard. You enter most
Editor commands by holding down the CTRL key while simultaneously
pressing another key. Sometimes, the caret symbol (^) is used to
abbreviate CTRL. For example, CTRL-Z or ^Z means type the letter Z
while holding down the Control key.

current display: A term used in the Editor environment to reference
the display that is currently being created or edited.

current display file: A term used in the Editor environment to
reference the display file that is currently open.

current field: Field in a display that,contains the cursor. You
can use the POSF or NXTF function in an applications program to
place the cursor in a field.

Glossary-1
Display Manager Reference Manual 	Glossary

cursor control keys: Keys used to control movement of the cursor on
the screen of the d-sign or run-time terminal. These are sometimes
referred to as cursor arrow or cursor movement keys. There are two
sets of cursor control keys: the standard ASCII set (CTRL-H, CTRL
J, CTRL-K, and CTRL-L) and the. standard editing keys (CTRL-S, CTRL
X, CTRL-D, and CTRL-E) . See Section 6 and the INITDM function
description in Section 7.

design terminal: Terminal used with the Editor to create displays
subsequently used in application programs.

display: Image shown on the screen of a design or run-time
terminal. You create displays with the Editor and subsequently use
them in your applications program to interact with the end-user.

display field: Part of the display into which information is either
entered by or shown to the end-user. These can be literal, input,
or output fields.

display file: A disk file containing a group of related displays
created with the Editor. Each display file can contain up to 250
displays. An application program can use as many different display
files as disk space on the run-time computer permits. As an
informal standard, display filenames have a filetype of DIS, such as
DISPLAYS.DIS.

display reference number: Number ranging from 1 to 250 that you
assign to each display when creating it with the Editor. When you
want to retrieve a display for use with the Editor or with the
application program, you reference it using this number. While
using the Editor, you see a list of the displays in a display file
with their assigned display reference numbers.

Bditor: Program you run on your computer to design, create, change,
and delete displays. The Editor must be created for use with.your
specific design terminal before it can be used (see Section 3 for
instructions). Sections 4 through 6 contain complete instructions
for using the Editor.

erkl-user: A person who runs your application programs on a run-time
ccmputer. In Display Manager, a clear distinction exists among the
person designing the displays, the person creating the application
programs, and the end-user.

field reference number: Every f ield in a display is assigned a
field reference number when you create it with the Editor. Numbers
can range f rom 1 to 250. The Editor provides a command for

Glossary-2
Display Manager Reference Manual 		Glossary

renumbering one or more fields in a display. The POSF function
positions the cursor in a specific field when passed the field
reference number.

function: A function is a routine in the Display Manager Run-time
Library that is used at run-time to manage displays and display
fields. These functions are called out of the Run-time Library by
statements embedded in the source code of the application program.
The function call must conform to a specific syntax. Section 7
contains descriptions of all Display Manager functions and
instructions for using them.

function key: Keys than can be programmed to perform specific,
predetermined functions. You can instruct Display Manager to react
in certain ways when one of the function keys is used. Not all
terminals are equipped with function keys.

initial value: Input and output fields in a display can be assigned
an initial value. This value appears in the f ield when it is
initially shown in the display (unless the field has been assigned
the "invisible" attribute). If the UPDF function is used with a
field having an initial value, the value 'is returned to the
application program if the end-user does not enter any other
information into the f ield. On the other hand, if the GETF function
is used, a null string is returned to the application program if no
information is entered.

input f ield: A display f ield in which an end-user types
information. For example, an input field might be used to enter a
customer name, a selection from a menu, and so forth. Information
can also be placed in an input field to be shown to the end-user.
Section 6 explains how to create input fields. Section 7 describes
the functions you can use to manage the fields in a display.

literal field: Any constant information appearing in a display. It
usually acts as a label for an input or output field, provides
instructions for the end-user, or serves as a prompt.

output field: A display field used to show information to the end
user. You can specify a format when the field is created indicating
how the information should appear. Section 6 explains how to create
output fields. Section 7 describes the functions you can use to
manage the fields in a display.

run-time: when an application program is run on the end-aser's
computer. Section 8 describes the run-time environment.

Glossary-3
Di~splay Manager Reference manual 	Glossary

run-time errors: Errors that can occur at run-time as a result of
using one of the functions in the Run-time Library. The end-user
will never encounter these errors if you have adequately tested the
application program and included the logic necessary to intercept
such errors. See Section 8.

Run-time Library: A library of routines provided on your Display
Manager distribution disks. Routines (functions) are called from
the library when your application program needs to manage displays
or fields in a display. You must link your application program
object module to the Run-time Library to use the routines contained
therein. Your Progr%mmer's Guide contains linking instructions.

run-time terminal: Terminal used at run-time to show displays
created with the Editor.

status window: Every input and output field in a display has a
status window associated with it. You can use Editor commands to
show the status window on your screen while designing the display
and move the cursor inside the status window to define the
characteristics of a display field. Section 4 describes the status
window.

template characters: You can use templates in display fields to
simplify data entry for the end-user. They indicate exactly how
information must be entered in a field. Template characters are
never returned to your application programs. See Section 4.

terminal control codes: A string of codes sent to a terminal to
make it do what it is supposed to do. The codes also tell an
application program how to send information to the terminal to do
such things as clear the screen, position the cursor, and more. See
Appendix A.

video attributes: Most computer terminals have une or more optional
features such as reverse video, half intensity, underlining, and
others. You can define input and output fields in a display to use
these features when available by assigning the appropriate video
attributes in ' the field's status window. For example, you can set
the video attribute of a field so that when it appears in the
display it appears in inverse video. See Section 4.

Glossary-4
I ndex

B				literal, 4-5
			output, 4-7
border mode, 6-12			reference number, 4-4
boundary mode, 6-6			template characters, 4-6
			video attributes, 4-5, 4-8
C				display file, 4-4
			commands, 6-16
center line, 6-11			create, 5-2
character			global values, 5-7
	delete, 6-12			open a, 5-15
	illegal, 4-19			display reference number
	insert, 6-13			assigning, 4-3, 5-6
clear screen prompt, 5-8			display title
color attributes, 4-10, 4-29			assigning, 4-3, 5-7
	global values, 5-7
	show in display, 6-11			DMSET, 3-1
cursor			documentation facility, 6-13
	arrow keys, 4-18
	movement commands, 6-3			E
custom terminal setup, C-1
		Editor
D				command summary, 6-18
			commands, 6-1
data entry			create, 3-3
termination, 4-7, 4-19		exiting, 5-17
data validation, 4-15				main menu, 5-4
delete				main menu options, 5-1, 5-4
	character, 6-12				starting, 5-1
	display, 5-11				environments, 2-1
	line, 6-12				application programming,
	word, 6-12				2-3, 7-1
display, 4-1				Editor, 2-3
	center line, 6-11				run-time, 2-4, 8-1
copy existing, 5-7, 5-9		terminal setup, 2-1, 3-1.
create, 5-6
delete, 5-11
design commands, 6-11
documentation, 6-13		field
draw borders, 6-12		boundaries,6-6, 6-10
	editing existing, 5-10		change to literal, 6-7
	global values, 4-4, 5-7		column number, 4-14
	reference number, 4-3, 5-6		copy, 6-7
	renumbering, 5-12		define for input, 6-7
	save in display file, 6-16		define for output, 6-9
	screen size, 4-3		delete, 6-9
	show attributes, 6-11		editing commands, 6-6
	title, 4-3, 5-7		format codes, 4-17
display field, 4-4		length, 4-14
color attributes, 4-5, 4-10		move right, 6-9
initial value, 4-6		move to cursor, 6-9
input, 4-5		number, 4-13

Index-1
	posts, 4-14	R
	renumber, 6-9
	row number, 4-13	renumber
	type, 4-14		displays, 5-12
	validation code, 4-14		fields, 6-9
function keys, 4-19
		S
G
		status window, 4-o12
global values, 4-4, 5-7	AutoRet, 4-18
	BadC, 4-19
H	Beep, 4-17
	Col, 4-14
Help facility		Comma, 4-18
	activating, 5-17		Cursor, 4-18
	configuring, 5-17		display command, 6-10
			Field No., 4-13
			FKey, 4-19
			Format, 4-17
initial values, 4-6		Len, 4-14
input field, 4-5		Posts, 4-14
	create, 6-7		Row, 4-13
	format codes, 4-17		rr/cc, 4-14
	validation codes, 4-15		set as default, 6-9
insert		Type-, 4-14
	character, 6-13		Validate, 4-14
	line, 6-12
INSTALL.BAS, 8-1	T

L				tabs, 6-5
			template characters, 4-6, 6-10
line			insert, 6-11
	delete, 6-12		terminal
	insert, 6-12			custom setup, 3-1, C-1
literal fields, 4-5			beep, 4-17
				Display Nanager-supported,
					A-1
				emulation, C-1
money			setup prt,gram, 3-1
	field, 4-18			user-supported, A-1
	symbol, 7-17		terminal control codes
				change, C-2, C-7
0					delete, C-3, C-9
				examine, C-3
output field, 4-7			set up, C-2, C-5
	create, 6-9			test, 3-8
	format codes, 4-17			write to disk file, 3-6
			terminal setup program, 3-1
P					main menu, 3-1
				starting, 3-1
Paint method, 6-8		TERMS.DM, 3-1
Plant method, 6-8
		Index-2
video attributes, 4-8
field visibility, 4-19
flashing, 4-19
half intensity, 4-19
in status window, 4-19
inverse video, 4-19
Paint method, 4-10
Plant method, 4-10
show in display, 6-11
underlining, 4-20
user-defined, 4-20

Index-3
