home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Black Box 4
/
BlackBox.cdr
/
demos
/
cdevdemo.arj
/
TDES.HLP
(
.txt
)
< prev
next >
Encoding:
Amiga
Atari
Commodore
DOS
FM Towns/JPY
Macintosh
Macintosh JP
NeXTSTEP
RISC OS/Acorn
UTF-8
Wrap
Clarion Help
|
1990-11-13
|
59.7 KB
|
1,152 lines
File Options
Filename
Prefix
Drive
Path
:\PHONES\
Create File :Yes
Yes No
Reclaim Space:Yes
Yes No
Protect File :No
Yes No
Owner ID
The File Options page gathers information about the file
we are creating. We will call our file PHONEBK for phone
book. An extension of .DAT is assumed.
The Prefix is used with variable names as a shorthand name
for a file. It can be up to 3 characters long and must be
unique for each file. We will give our file a prefix of
PHN. Fields in PHONEBK will look like PHN:NAME or PHN:ZIP.
We will place our PHONEBK file on drive C in a
sub-directory called \PHONES.
We want our file to be created automatically by the program.
We will say yes to Reclaim Space so that new records will be
placed in spaces created by deleted records.
We will not Protect the file or use an Owner ID. (These are
advanced topics described in the "Language Reference.")
This is the application worksheet. The left column
shows the files used by the application. (MEMORY
contains memory variables--it is not a file.) The
right column shows the procedures used by the appli-
cation. Procedures process screens, edit fields,
print reports, etc. (MENU is the base procedure.
It is marked "ToDo" because we haven't done it yet.)
The cursor arrow keys move the selector bar between
the files and procedures column.
The right arrow key moves the
bar to the Procedures column.
And the left arrow key moves it back.
We will start designing our application
by setting up the data dictionary for
our file.
We press the Ins key to add a new file.
The CLARION Designer
Application
Model File
Help File
Base Procedure:
This is the Designer tutorial. It should
be viewed after the Environment tutorial.
With Designer, you can develop an entire
application by entering a data dictionary
and "painting" screens and reports.
We are going to develop an application that
displays, maintains, and prints a telephone
directory.
Let's preview what we are about to develop.
(The green "pop-ups" are help windows.)
This is Designer's base window. The screen
and report layouts and the data dictionary
are accumulated in an application file. We
will call our application file PHONES.APP.
(.APP is the default extension.)
Designer generates source code into a Model File. We
supply STANDARD.MDL for single user applications and
NETWORK.MDL for multi-user. You can customize these
models if you wish. We will use the standard model.
All help windows for an application reside
in a single help file. The Help windows
for this application will reside in a file
called PHONES.HLP. (The .HLP is a default
extension. The Helper tutorial will illus-
trate the design of these windows.
An application consists of procedures and
files. The Base Procedure is the first
procedure called by an application. The
base procedure of PHONES is a menu screen.
We will name it MENU.
Field
Field name :PHONE
Description:Telephone Number
Type
:Decimal
Length
Places
Picture
Lower range:
Upper range:
Dimensioned:
Type Mode :Ins
Ins Ovr AsIs
Required
Yes No
Immediate :No
Yes No
Num Lock
Yes No
Help ID
We will place the phone number in a 7-digit packed
decimal variable. Of course a phone number has no
places to the right of the decimal point.
The picture of a numeric field is its display pattern. Clarion offers
a wide variety of picture formats for displaying international dates,
times, and currency. Pictures can also be used for scientific notation.
Special pictures can be specified for fields such as telephone and
social security numbers. The display pattern is enclosed in "P"s.
Pound signs (#) indicate digit positions and less than signs (<)
indicate digit positions that are "blank when zero".
Here is a special picture for a phone number without an area code.
(Clarion pictures always start with an at sign (@).)
There are no upper and lower boundaries for a
valid phone number.
And the phone number field is not dimensioned.
The remaining fields are already set the way we want
them. Num Lock will be turned on and the number will
be entered in Insert (push-left) mode. This field is
not required and is not immediate.
We press Ctrl-Enter to enter the whole screen without
completing the remaining fields.
Field
Field Name :
Description:
Type
The first field in our phone book file contains a name.
A field name can be up to twelve characters long and can
contain letters, numbers, and the underscore character.
However, a field name must start with a letter. We will
call this field NAME.
Next we will enter a description of the field usage. In
this case: "Name".
Field
Field Name :NAME
Description:Name
Type
:String
Length
Picture
Choices
Dimensioned:
Type Mode :AsIs
Ins Ovr AsIs
Required
Yes No
Immediate :No
Yes No
Num Lock
Yes No
Left Just :Yes
Yes No
Upper Case :No
Yes No
Help ID
A string variable can be up to 255 characters long.
We will make the NAME field 30 characters.
A Picture of a string field is its display length.
If it is shorter than its true length, the display
field scrolls horizontally to make room. We will
use the default picture (its true length).
If the field is restricted to a set of choices,
they are entered at "Choices:".
If the field is an array, the maximum subscript
range is entered at "Dimensioned:". (A field
can use up to four subscripts, creating a four
dimension array.)
We would like the typing mode to stay "as is" for this field.
Typing mode is set by the Ins key to insert or over-write.
NAME is a required field. That is, it cannot be blank.
NAME is not an immediate field. It must be entered with the
Enter key. An immediate field is automatically entered when
its last character is typed.
We will not automatically turn on Num Lock for the NAME field.
But we will left justify it to remove leading spaces.
And we will allow both upper and lower-case characters.
This application is so simple that we will not use a different
help window for each field.
String
Decimal
Short
Group
This is the data type selection window. The
up and down arrow keys move the selector bar
over the desired data type.
A string data type is an alphanumeric field
of specified length.
A decimal data type is a numeric field of
specified length with a specified number of
decimal places.
The byte, short, and long data types are 1, 2,
and 4-byte integers with the following ranges:
0 to 256
Short
-32,768 to 32,767
-2,147,483,648 to 2,147,483,647
The real data type is an 8-byte, floating point
variable representing up to 15 decimal digits.
The group data type permits consecutive fields
to be treated as a single string variable.
The memo data type contains variable length
text, used for notes or comments. Memo fields
can also be used for graphic images such as
photographs.
For the NAME field, we will use a string
data type.
File: PHONEBK
Prefix: PHN
Fields
,Keys
Ins to Add
Enter to Change
Del to Delete
This is the file worksheet for the PHONEBK file.
The left column shows the fields that make up the
PHONEBK file. The right column shows the keys
and key fields for PHONEBK.
This completes our PHONEBK file. To go back to
the application summary screen we press the Ctrl
and Enter keys at the same time.
Ctrl-Enter is the "screen enter" key--it updates
the application file before it returns.
Ctrl-Esc is the "screen escape" key--it returns
without updating (after your confirmation).
The cursor arrow keys move the selector bar
among the keys and fields. We will press
Ins to add our first field.
Now the PHONEBK file has one field. In a
similar manner, we add a few more fields.
For the final field, we will add a phone number.
As with the other fields, we press the Ins key.
All the necessary fields have now been added to
our PHONEBK file. If we want a phone directory
in alphabetical order, however, we need a key
for the file.
A key provides an alternate sequence for processing a file.
In our case, we want to view the phone directory entries in
alphabetical order without sorting them every time an entry
is added or changed. Keys are organized as a tree structure
in a separate file. Each key entry points to a record in the
main data file.
To add a key, we move the selector bar to
the Keys column, and press the Ins key.
Now we have a key with no fields in it.
To add a field, we press the Ins key.
Key/Index name:
Key/Index type:Key
Key Index
Unique Key
Yes No
Auto-number :No
Yes No
Case Sensitive:No
Yes No
Exclude Nulls :No
Yes No
We will name our key NAME_KEY.
A key file is updated every time a record changes. An
index file is not--it must be rebuilt every time it is
used (if the file has changed since the last time).
An index file saves overhead if a key is used only once
in a while, for instance, for a monthly report.
We want the PHONEBK key updated continuously.
Our key is not unique. (Two entries can have the same name.)
Unique keys can automatically number the key field. (Since
our's is not unique we aren't given this option.
Our key is not case sensitive. (We want upper and lower-case
letters to sort together.)
And we can't have null keys. (The NAME field is required.)
A key file is updated every time a record changes. An
index file is not--it must be rebuilt every time it is
used (if the file has changed since the last usage).
An index file saves overhead if a key is only used
occasionally, for instance, for a monthly report.
We want the PHONEBK key updated continuously.
Field of Key
Field Name:
" -p
We can enter any field name.
Or we can press the Enter key with
a blank field name to bring up the
field lookup window.
PHN:NAME (String 30) - Name
PHN:ADDRESS (String 30) - Address
PHN:CITY_STATE (String 30) - City and State
PHN:ZIP (Long) - Zip Code
PHN:PHONE (Decimal 7.0) - Telephone Number
This is a field selection list. We use
the up and down arrow keys to choose a
field. Then we press the Enter key.
Press Enter to Print Directory
Or Press Esc to Return to Menu
Select Field Type
For Entry :
Field
Pause
For Display:
Field
Computed
Lookup
Conditional
We press Ctrl-F (for field) and select "Pause".
We press Ctrl-F (for field) and select "Pause".
Menu Item
String
:Press Enter to Print Directory
Procedure:PRINT_PHONES
Attribute:Bright White on Red
Select :Bright White on Red
Now we enter a menu item to execute the
report procedure (PRINT_PHONES).
Because there is only one menu item, we
will make it the same color before and
after it is selected by the cursor keys.
Procedure Name :CHECK_PRINT
Procedure Title :Press Enter to Print Directory
Setup Procedure :
Next Procedure :PRINT_PHONES
Filename
:MEMORY
Secondary File :
Help ID
Hot Procedure
Hot Key
Combine with
Model Name
This is all we need for this procedure. The form
will contain one PAUSE field so that the Enter key
will execute the Next Procedure (which prints our
report). We use MEMORY so that no file will be
updated. We don't need a help window because all
the operator options will be shown on the screen.
Screen Color :Bright White on Red
Track Type
:Double
Single Double Block
Track Color :Normal
Populate form:No
Yes No
We will use a red screen.
PAUSE
String
:Or Press Esc to Return to Menu
Edit
Attribute:Normal
We can use the operator instruction for the Esc
key as the PAUSE message. Usually PAUSE messages
are only displayed after the last field is entered.
But we don't have any entry fields, so the PAUSE
message is always displayed.
Press Enter to Print Directory
Now we add our PAUSE field.
A PAUSE field is optionally used on a form
for confirmation before updating a record.
After the last field is entered, the PAUSE
message (such as: "Press Enter to Update")
is displayed. The operator presses Enter
to continue or up arrow to change a field.
Now we move our text to the center of
the window (with Ctrl-M) and re-size
(with Ctrl-W) around the text.
That completes the print confirmation
procedure. We press Ctrl-Enter.
Update Directory
Name
Address
City State:
Zip
Telephone :
Procedure Name :UPDATE_PHONE
Procedure Title :Update Directory
Setup Procedure :
Next Procedure :
Filename
:PHONEBK
Secondary File :
Help ID
:FORM
Hot Procedure
Hot Key
Combine with
Model Name
We fill out the Form Screen like this.
"Next Procedure" is the procedure name
of the next page of a multi-page form.
Screen Color :Bright White on Red
Track Type
:Double
Single Double Block
Track Color :Normal
Populate form:Yes
Yes No
For contrast against the blue scrolling table,
we will give our update form a red background.
We will request Designer to populate the form
with fields. Designer will place prompts and
fields in a suitably shaped window.
Update Directory
NAME
ADDRESS
CITY STATE:
ZIP
PHONE
This is about what we had in mind. Field names
are used for prompt words (replacing underscore
characters with spaces). The colons are aligned
after the longest prompt. And the window fits
snugly around the data.
But we prefer capitalized, not upper case,
prompt words. The Ctrl-\ key changes the
case of the character under the cursor.
Also, we prefer "Zip Code" and "Telephone"
to "ZIP" and "PHONE".
And remember that we use black on white for
operator entry. To change the field color,
we press Ctrl-V to set the video attribute.
Then we press Ctrl-A over each field to give
it the new attribute.
That completes our form procedure.
We press Ctrl-Enter to update the
application file and return
1718192021
Phone Directory
Update Directory
Print Directory
Quit
Here is our final menu screen.
To update the application file and return to the
application summary screen, we press Ctrl-Enter.
Procedure Name :MENU
Procedure Title :
Setup Procedure :
Help ID
Hot Procedure
Hot Key
Combine with
Model Name
The Procedure title is displayed at the top of the
menu screen we are designing. This title is also
used as a description of the procedure.
We will title this screen "Phone Directory".
A setup procedure can be called by a procedure to
"customize" itself. Our menu procedure does not
need a setup procedure.
We will designate a help window called "MENU" to
be used with this procedure. The MENU help window
will be created in the Helper tutorial.
A hot procedure can be executed by the operator
at any time by pressing a designated hot key.
MENU does not have a hot procedure.
We can combine this procedure in the same source module
with any other procedure. We choose not to do so.
Designer generates code into "model" procedures that can
be customized. If we want to generate code into a cus-
tomized model procedure, the procedure is named here.
Initialization
Screen Color :White on Black
Track Type
:Double
Single Double Block
Track Color :Normal
We need to select our screen color
from the video attribute window to
the right.
We will press End and down arrow to
select "Bright White on Blue".
The track is the graphic border around a screen. Our
choices are a thin single or double line, or a heavy
block line. We will choose a thin double line that is
the same color as the screen (NORMAL).
Select Field Type
For Entry : Field
Menu item
For Display: Field
Computed
Lookup
Conditional
At the cursor we can display a field from any file.
Or we can display a computation involving fields.
We can place an entry field for entering a
new value into a field.
Or we can place a menu item to be
used to select another procedure.
We want a menu item.
Lookup fields display information from another file
based on the value of the current record in memory
from the primary file.
A conditional field displays information based on the
result of a logical expression.
Menu Item
String
Procedure:
Attribute:Normal
Select :Reversed
For a menu item, we must specify a display
string and a procedure to be called when
the display string is chosen.
Also, we can specify video attributes for
the display string before and after it is
selected with the cursor keys.
Our first menu item calls a scrolling table
that displays and optionally updates entries
in the phone directory.
We will call the menu item 'Update Directory'
and we will name the procedure SHOW_PHONES.
We will keep the video attribute the same as
the screen color (Normal).
Phone Directory
Update Directory
Print Directory
The left side of the window is now
ready for sizing. We press the right
arrow key to reduce the window on the
left. (The left arrow key expands
the window.)
To select the bottom of the window
for sizing, we press the PgDn key.
Then we press the up arrow key to
reduce the window size.
And we press the End key to select the
right side of the window for sizing.
The left arrow key reduces the window.
We press the Enter key to complete
the window-sizing process.
Phone Directory
This is a menu screen worksheet.
To add a menu item at the cursor, use the
arrow keys to position the cursor and press
the Ctrl and F keys at the same time.
(Ctrl-F stands for "field".)
Similarly, we will add two more menu items:
The second item calls a procedure that asks
for confirmation and then prints the phone
directory. We will call this confirmation
procedure CHECK_PRINT.
The third item terminates the program. We
use the special procedure called RETURN.
This is a perfectly good menu screen; however,
it isn't very attractive. Let's pretty it up.
We place the cursor over each menu item and
press the Ctrl-6 key. This centers the menu
items in the window. (The ^ symbol on the 6
key suggests "center".)
So far so good, but now let's paint the
area behind the menu items black on white.
We will be using black on white wherever
operator entry is required.
To paint an area on the screen, move the
cursor to a corner of the rectangle to be
painted. Then press the Ctrl-P key.
We use the cursor keys to paint a rectangle.
When we are done, we press the Enter key.
(We press the Esc key to "undo" the paint.)
Finally, we use the cursor keys to paint the
desired rectangle. The Enter key finishes the
"paint job". (Esc removes the "paint".)
Now, as a final step, we will reduce
the window to a more suitable size.
To do so, we press Ctrl-W.
Select Type
Table
Report
Other
We want UPDATE_PHONE to be a form procedure.
A form procedure is used to update fields in
a single record.
CHECK_PRINT will be a form procedure with
no file and with a single PAUSE field. The
operator presses the Enter key to print the
Directory or the Esc key to return to the
main menu.
PRINT_PHONES is a report procedure.
We want SHOW_PHONES to be a table procedure.
There are five different types of procedures.
A table procedure displays multiple records
on a screen. The cursor and page control
keys are used to scroll the records.
A locator field can be used to jump to a
particular record. And a selector field
can be used to select records from a file
(e.g., line items for a particular order).
A form procedure displays multiple fields
from a single record. Form procedures are
called from table procedures to update,
add, or delete records.
A report procedure prints a report.
Other Procedures, written in the Clarion
language without using Designer, can be
included in our application.
In addition, procedures written in other
languages such as C or assembler language
can also be included.
A menu procedure selects another procedure
for execution. This is the procedure type
we want for our MENU procedure.
Application: PHONES
Files
Procedures
MEMORY
MENU (ToDo)
Ins to Add
Enter to Change
Del to Delete
MENU (Menu) - Phone Directory
SHOW_PHONES (ToDo)
CHECK_PRINT (ToDo)
RETURN
MENU (Menu) - Phone Directory
SHOW_PHONES (Table) - Phone Directory
UPDATE_PHONE (ToDo)
CHECK_PRINT (ToDo)
RETURN
MENU (Menu) - Phone Directory
SHOW_PHONES (Table) - Phone Directory
UPDATE_PHONE (Form) - Update Directory
CHECK_PRINT (ToDo)
RETURN
MENU (Menu) - Phone Directory
SHOW_PHONES (Table) - Phone Directory
UPDATE_PHONE (Form) - Update Directory
CHECK_PRINT (Form) - Press Enter to Print Directory
PRINT_PHONES (ToDo)
RETURN
PRINT_PHONES (Report) - Print Directory
Now that we have defined the file, it is time to define
the procedures for our phone directory application.
One procedure (MENU) was named on the base page. It is
listed as a "ToDo", meaning it is not yet defined.
To do it, we select MENU and press the Enter key.
This completes the Designer tutorial.
The Helper tutorial should be viewed next.
Now the application summary screen is starting
to take form. The procedures we added as menu
items are shown as "to do" procedures that are
called from the MENU procedure.
Next we will design the SHOW_PHONES procedure.
We press the down arrow and Enter keys.
Now let's design the form procedure called UPDATE_PHONE.
UPDATE_PHONE will be an update window that overlays our
scrolling Phone Directory (SHOW_PHONES).
We select UPDATE_PHONE and press the Enter key.
Next we will design CHECK_PRINT.
This procedure will confirm a request to print the
Phone Directory. We need a confirmation screen so
that the report is not printed by mistake because
of a single wrong keystroke.
The only procedure we have left to do is PRINT_PHONES.
The entire application is now complete.
To generate its source code, we press Ctrl-Enter.
The source code for our Phone Directory application
has been generated into files named PHONES.CLA and
PHONES1.CLA through PHONES7.CLA.
These source files are now ready to be compiled.
We would normally press Shift-F7 to compile and
test this application.
Select Field Type
Field
Computed
Control
Lookup
Conditional
Total
Field
Field Name:NAME
We can display 6 different kinds of fields on a
report:
a field from a file, a computed field,
a conditional field, a printer control field,
a field looked up from a different file, or the
total of a column.
We just want a field from the PHONEBK file.
We press Enter at Field Name: to get the field pop-up.
Then we press Enter again to select the NAME field.
Report
Procedure Name :PRINT_PHONES
Procedure Title:Phone Directory
Setup Procedure:
Access Key
:NAME_KEY
Record Selector:
Record Filter :
Page Length
: 59
Report Device :No
Yes No
Combine with
Model Name
We will title our report "Phone Directory".
We will be using the PHONEBK file in NAME_KEY sequence.
And we will be printing 59 lines per page.
Report Initialization
Populate Report:No
Yes No
We can populate a report just like we did the form
screen. Designer will center the title and place
the field names over each column of the report.
Fields are positioned from left to right in the
order they are declared in the record.
We choose not to populate our report.
$ Report Header
A Page
Header
!Phone Directory
pPHN:NAME
Group Header
A Body
Detail
PHN:NAME
Group Footer
A Page
Footer
A Report Footer
1:1
0CHR OVR
PRINT_REPORTS is now complete.
We press Ctrl-Enter to update the application file
and return to the application worksheet.
This is our report worksheet. As you can see, a report can
have a report header and footer (printed at the beginning
and end), a page header and footer (printed at the top and
bottom), and a break header and footer (printed before and
after a group of lines with the same column value).
Of course, reports need body detail lines that contain
information for each record in a file.
We will use a 6-line page header, a 2-line page footer,
and a 3-line body detail. To open up the space we need,
we press the Enter key everywhere we want a new line.
OK, now let's add fields to our report. We
move the cursor to the top left of the body
detail and press Ctrl-F (for field).
That's the NAME field. Similarly, we will
place the ADDRESS and PHONE fields.
Now we will put the CITY_STATE and ZIP
fields on the line beneath ADDRESS.
That completes the Body Detail. Now
let's work on the Page Header. First,
we type in the column headings.
We need to move the report title down 2 lines.
(You will see why in a minute.) To do so, we
move the cursor to the title and press Ctrl-M
(for Move). Then move the cursor through the
title and press Enter (to "grab" it). Now we
press down arrow and Enter (to "deposit" it).
Many printers support the PC's "line-draw" single
and double-line graphic characters. We will use
Clarion's "Tracking" capability to draw a double-
line box around our page header. To do so, we
move the cursor to the left margin and press
Ctrl-T (for Track).
As a final step, we will print the page number at
the bottom of each page. We do this by displaying
the memory field MEM:PAGE. MEM:PAGE was set up for
us in the MEMORY file when we started PHONES. This
variable contains the current page number while a
report is printing.
Table
Procedure Name :SHOW_PHONES
Procedure Title :
Setup Procedure :
Update Procedure:
Access Key
Help ID
Record Selector :
Record Filter
Hot Procedure
Hot Key
Combine with
Model Name
This screen is a scrolling table of names and phone
numbers. We will title the screen "Phone Directory".
There is no setup procedure.
The update procedure is a form procedure that is
called to add, change, or delete a PHONEBK record
when the Ins, Enter, or Del key is pressed from
this table procedure. Let's name it UPDATE_PHONE.
We will access our file in NAME_KEY sequence.
This entry can be selected from a list that
"pops-up" if nothing is entered.
We will use a help window called TABLE.
We will not be using any of the remaining
options, so we press Ctrl-Enter.
Table Initialization
Screen Color :Bright White on Blue
Track Type
:Double
Single Double Block
Track Color :Normal
To match the MENU screen, we will make the table screen
bright white on blue with a double track border.
Phone Directory
Select Field Type
Fixed Portion
For Entry:
Field
Locator
For Display: Field
Computed
Lookup
Conditional
Total
Scrolling Portion
For Display: Field
Computed
Lookup
Conditional
A table screen is divided into two portions.
The scrolling portion is the area that contains
scrolling fields. Horizontally, this means from
the first character of the leftmost field to the
last character of the rightmost field.
The scrolling area is contained vertically from
the top scrolling field down to the first fixed
field or literal. (A literal is a character
that is entered from the keyboard.)
The fixed portion is that part of the screen
that is outside of the scrolling portion.
Entry fields and display fields can be placed
in the fixed portion of a table screen.
A locator field is used to find the next record
equal to or greater than an entered key value.
We can display a field from any file. Or we
can display a computed value or the return
value of a function.
We cannot place entry fields in the scrolling portion.
However, we can display a field, a computed value, a
conditional value, or we can look up a field in
another file. (This feature is sometimes called
"joining" files.)
We just want to display the name field.
A total field is the sum of all of the values from a field
on this particular table.
A lookup field displays a value from another file where
there is a relationship to the main file. (For example:
loopup address information based on a client number from
an order file.)
A conditional field displays information based on a
logical equation.
Scrolling Display Field
File name :PHONEBK
Field name:
To select a field the easy way,
just press the Enter key.
The NAME field is already selected.
So just press the Enter key again.
Phone Directory
This is a table procedure worksheet.
We want to display a table of names and phone
numbers from our PHONEBK file. And we want
the cursor keys to scroll all the records in
the file through this table.
To display a scrolling name field, move
the cursor to the desired position and
press Ctrl-F (for field).
In the same manner, we display the phone number.
Now we will paint the scrolling portion
black on white (we use the Ctrl-P key).
Finally, we reduce the right side of the window (using Ctrl-W),
we center the title (using Ctrl-6), and we are finished.
We press the Ctrl-Enter key to update the application
file and return to the application summary screen.
Mark block to be DELETED, then press Enter
Mark block to PAINT, then press Enter
The CLARION Designer
Warning - Global Data May Have Changed
Create Source Modules:All
All Partial None
LK_UP_PAYEE (Table)
When generating source, you are given three choices: All,
Partial, or None. Select none if you will be changing this
application later and do not want to see your current work.
Select partial if you only changed some procedures and no
files. Select all if you this is the first time you work-
on this application or if you change the files or added or
deleted procedures. A warning message will appear if you
need to generate all of the source.
Track Type
Single
Double
Block
Mixed
Mixed
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _
` a
This is the Track character selection window. We can
make tracks out of single lines, double lines, block
characters, single and double either way, or we can
propagate any other character. We want a double line.
Keyin Attribute
Black on White
Normal
Reversed
Enhanced
Rev+Enh
Blink
Rev+Blk
Blk+Enh
Rev+Blk+Enh
Press B to toggle Blink
/ /!/"/#/$/%/&/'/(/)/*/+/,/-/.
?0?1?2?3?4?5?6?7?8?9?:?;?<?=?>
O@OAOBOCODOEOFOGOHOIOJOKOLOMON
_P_Q_R_S_T_U_V_W_X_Y_Z_[_\_]_^
o`oaobocodoeofogohoiojokolomon
Paint Attribute
Black on White
Transparent
Press B to toggle Blink
Press T to toggle Transparent
/ /!/"/#/$/%/&/'/(/)/*/+/,/-/.
?0?1?2?3?4?5?6?7?8?9?:?;?<?=?>
O@OAOBOCODOEOFOGOHOIOJOKOLOMON
_P_Q_R_S_T_U_V_W_X_Y_Z_[_\_]_^
o`oaobocodoeofogohoiojokolomon
Now we use the cursor keys to
select our paint color. We
position the box over black on
white and press the Enter key.
Screen Attribute
White on Black
Transparent
Press B to toggle Blink
Press T to toggle Transparent
/ /!/"/#/$/%/&/'/(/)/*/+/,/-/.
?0?1?2?3?4?5?6?7?8?9?:?;?<?=?>
O@OAOBOCODOEOFOGOHOIOJOKOLOMON
_P_Q_R_S_T_U_V_W_X_Y_Z_[_\_]_^
o`oaobocodoeofogohoiojokolomon
Track Attribute
Bright White on Blue
Normal
Reversed
Enhanced
Rev+Enh
Blink
Rev+Blk
Blk+Enh
Rev+Blk+Enh
Press B to toggle Blink
/ /!/"/#/$/%/&/'/(/)/*/+/,/-/.
?0?1?2?3?4?5?6?7?8?9?:?;?<?=?>
O@OAOBOCODOEOFOGOHOIOJOKOLOMON
_P_Q_R_S_T_U_V_W_X_Y_Z_[_\_]_^
o`oaobocodoeofogohoiojokolomon
!AFIL
AFIL_W1
AFIL_W2 m
AFIL_W2+
AFIL_W3
APP_W1 q
APP_W2
APP_W3
APP_W4 :
BACK
DES T
DES_W1 E
DES_W2 P
DES_W3 H
DES_W3+ T
DES_W4 a
DES_W5
FFDEC
FFDEC_W1
FFDEC_W2
FFDEC_W3
FFDEC_W4
FFDEC_W5E
FFLD
FFLD_W1 h
FFSTR
FFSTR_W1
FFSTR_W2m$
FFSTR_W3
FFSTR_W4?'
FFTYP
FFTYP_W1
FFTYP_W2Q*
FFTYP_W3
FFTYP_W4T+
FFTYP_W5N,
FFTYP_W6
FFTYP_W7
FIL l.
FIL_W1
FIL_W10
FIL_W2 '4
FIL_W4
FIL_W5 H5
FIL_W6
FIL_W7
FIL_W8 18
FIL_W9
FKEY -9
FKEY_W1
FKEY_W2 e;
FKEY_W3
FKEY_W9
FKFLD "@
FKFLD_W1
FLST
FLST_W1
PCDON
PCFLD
PCFLD_W1 F
PCITM vF
PCITM_W1 H
PCON1 $I
PCON1_W1+L
PCON2
PCON2_W1-O
PCPAU mO
PCPAU_W1
PCWRK
PCWRK_W1DR
PCWRK_W2
PCWRK_W3@T
PFDON
PFRM1
PFRM1_W1
PFRM2 9Y
PFRM2_W1
PFWRK
PFWRK_W1
PFWRK_W2
PFWRK_W3
PFWRK_W4
PMBOT1 R`
PMBOT2
PMBOT3
PMDON
PMDON_W1
PMEN1 cb
PMEN1_W1
PMEN1_W2
PMEN1_W3Df
PMEN1_W4
PMEN1_W5
PMEN2
PMEN2_W1[j
PMEN2_W22k
PMFLD 5l
PMFLD_W1
PMFLD_W2Pn
PMFLD_W3
PMFLD_W4
PMFLD_W5
PMFLD_W6Vp
PMITM
PMITM_W10r
PMITM_W2]s
PMLFT1
PMLFT2 &u
PMLFT3 Tu
PMRGT1 ru
PMRGT2
PMWIN
PMWIN_W1
PMWIN_W2py
PMWIN_W3-z
PMWIN_W4
PMWRK <{
PMWRK_W1
PMWRK_W2
PMWRK_W3f~
PMWRK_W4
PMWRK_W5
PMWRK_W6
PMWRK_W7?
PMWRK_W8
PMWRK_W9
PPRC >
PPRC_F1 i
PPRC_M2
PPRC_R1
PPRC_T1 B
PPRC_W1
PPRC_W2
PPRC_W3 _
PPRC_W4 .
PPRC_W5 x
PPRC_W6
PRC ;
PRC_O1
PRC_O2
PRC_O3
PRC_O4 \
PRC_O5 P
PRC_W1
PRC_W10
PRC_W3 v
PRC_W4 Z
PRC_W5
PRC_W6
PRC_W7
PRC_W8 _
PRC_W9
PRFLD1 8
PRFLD2 _
PRFLD_W1
PRFLD_W2Q
PRPT1
PRPT1_W1,
PRPT2
PRPT2_W1
PRWRK1 N
PRWRK_10
PRWRK_W1
PRWRK_W2
PRWRK_W3_
PRWRK_W4
PRWRK_W5
PRWRK_W6
PRWRK_W7
PRWRK_W8
PRWRK_W91
PTBL1
PTBL1_W1
PTBL1_W2
PTBL1_W3@
PTBL1_W4
PTBL2
PTDON
PTFLD
PTFLD_W1
PTFLD_W2
PTFLD_W3
PTFLD_W4
PTFLD_W5H
PTFLD_W6
PTFLD_W7
PTFLD_W8X
PTFLD_W9
PTSFL %
PTSFL_W16
PTSFL_W2
PTWRK
PTWRK1
PTWRK_W1
PTWRK_W2&
PTWRK_W3
PTWRK_W4
PTWRK_W5
PTWRK_W68
SDEL
SPNT
SRC_GEN Y
SRC_W1
TRK
VBOX
VKEY
VPNT }
VPNT_W1 v
VSCR
VTRK