home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
pascal
/
utility
/
tpdesign
/
td1.doc
< prev
next >
Wrap
Text File
|
1989-03-01
|
71KB
|
1,800 lines
____________
____________
____________
____________ TURBO Designer Part I
____________
____________
(c) Copyright 1987, 1988, 1989 Michael McMahon,
Attn: SLO-0000
878 Via Seville,
Livermore, California.
All rights reserved.
Version 2.0 is copyright February 1989
DOCUMENTATION AND TUTORIAL V2.00
IMPORTANT: MAKE A BACKUP DISK IMMEDIATELY!!
Purpose of TURBO Designer part 1:
In today's programming world, application programs which are to
be considered as being top-quality must be easy to use. Users
don't want to learn cryptic keystroke commands when there are
better methods available, such as pop up and pull down menus.
Windows systems, however, can take weeks and even months to
design and debug and implement properly, but with TURBO Designer
part 1 version 2.0, a COMPLETE ENVIRONMENT WITH WINDOWS can be
created in a matter of minutes.
System requirements:
1. IBM PC/XT/AT/jr PS/2 or 100% compatible
512k memory or more.
Two floppy disk drives or a hard disk based system.
2. TURBO Pascal v4.0 or greater.
DISCLAIMER:
TURBO Designer I is distributed "as is" , with no guarantee that
it will work properly in any or all situations. The Author assumes
no liability for any damages, financial or hardware, because of the
use or misuse or abuse of this product or any modification of this
product. The Author assumes no liability for any errors caused by
accuracy or inaccuracy of the documentation.
TURBO Pascal is a trademark of BORLAND International.
Page 1
ACKNOWLEDGEMENT:
To Mark Edson, for without his unselfish support,
version 2.0 would still be a vision.
Page 2
TABLE OF CONTENTS
INTRODUCTION ..................................... 4
What's in a menu? ................................ 5
TURBO Designer's Pull down menu system ........... 8
Getting started
Installing TD1 ............................... 11
Loading TD1 .................................. 11
Design Menus
Designing Pull down menus .................... 12
Designing horizontal pop up menus ............ 13
Designing vertical pop up menus .............. 14
Color constants and your program's environment
Setting your program's colors ................ 15
Setting your program's environment ........... 16
Help screen definitions
Edit help screen definitions ................. 16
Edit help screen text ........................ 17
A sample session ................................. 18
Using TD1 as a library ........................... 24
Function CalcColor........................... 24
Function MonoColor........................... 25
Procedure Wr................................. 25
Procedure MkWin.............................. 25
Procedure RmWin.............................. 26
Procedure Help............................... 26
Procedure Directory.......................... 26
Procedure TrashFile.......................... 26
Procedure TrashGroup......................... 26
Procedure EditTrash.......................... 26
Procedure EmptyTrash......................... 26
Function GetFileName......................... 26
Procedure Error.............................. 26
Procedure Do_Clock........................... 27
Procedure ChangeDir.......................... 27
ShareWare and TURBO Designer...................... 27
Distributing TURBO Designer....................... 28
Files on this disk ............................... 29
Registration form ................................ 30
Page 3
INTRODUCTION
What IS TURBO Designer?
Any non-trivial program can be broken into three parts: Input,
Processing, and Output. In theory, there may be strong emphasis
on any of the three parts. In practice, however, the emphasis is
usually centered on functionality (all of the "Processing" part
and some of the "Output" part), with sometimes as little as an
afterthought given to the other parts, of which the user-
interface is comprised. This may not be too bad, since a
program's significance can be measured primarily by it's
functionality. However, the lack of a satisfactory user-interface
severely hampers the marketability and market appeal of the
product and critically constrains the scope of potential users.
The problem which arises is this: should the programmer
concentrate his/her allotted time on producing an elaborate user-
interface, or producing a program which can perform sophisticated
tasks?
In today's software market, companies hire multiple teams of
programmers to make programs which are both sophisticated and
marketable. "Lone wolf" programmers are rare in today's market,
simply because individuals cannot compete with the market today,
producing sophisticated user-friendly programs.
The majority of applications programs produced have failed; not
because of a lack of functionality, but because either the user-
interface was clumsy, or they were not adequately upgraded. The
main function of TURBO Designer is to provide the applications
programmer with an "easy-to-use" interface, so the programmer can
concentrate on producing a highly functional program without
worrying about the trivialities of the user interface.
TURBO Designer is capable of editing and generating: vertical
and horizontal pop up menus, pull down menus, context-sensitive
status lines, context-sensitive interactive pop-up help screens.
Furthermore, TURBO Designer allows complete customization of
screen colors and the environment's appearance.
The environment which TURBO Designer operates in is the same
user-friendly environment that it generates, so that users of
TURBO Designer can experience the environment while also
providing an example of an application using this environment.
Specifically, TURBO Designer's windowing environment consists of
three precompiled units: TD1VARS, TD1VIDEO, TD1UTILS. Two sets of
these units appear on the distribution disks; one is for TURBO
Pascal version 4.0, the other is for TURBO Pascal version 5.0
(Borland should be reprimanded for making the .TPU file formats
NOT upwardly compatible). Be sure to use the right set.
Page 4
WHAT'S IN A MENU?
In order to establish a corresponding terminology between the
author and the reader, common vocabulary is introduced in the
following paragraphs.
PULL DOWN MENUS
A PULL DOWN menu is a menuing system where a horizontal MENU BAR
(usually located on the top of the screen) presents the MENU
HEADERS. When the pull down menu system is activated, one menu
header on the menu bar is highlit. The user sequentially "moves"
through the menu headers by pressing the arrow keys to move the
SELECTION BAR in the direction indicated on the arrow key. When
the user arrives on the topic of choice, the user selects the
menu header by pressing enter, and a SUB MENU appears. An
alternate route is for the user to type the HOT KEY associated
with the menu header of choice. A menu bar is comprised of a
group of menu headers, each menu header has in it exactly one
letter which is both highlit and unique to the set of highlit
letters on the menu bar. This letter which is highlit is a HOT
KEY. While the pull down system is active and the sub menus are
not activated, pressing a key on the keyboard which corresponds
to a hot key on the menu bar will (1) move the selection bar to
the corresponding menu header if needed, and (2) activate the SUB
MENUS. A SUB MENU is a box which pops up under the corresponding
menu header. A sub menu box displays 0 through 22 SELECTIONS.
Each selection is similar to a menu header in that it may contain
a hot key, and this hot key is operated on in the same fashion as
described with menu header hot keys above. Each selection can be
dissimilar in one of two following ways: (1) the selection is
DEAD, displayed in a neutral color, and denies access to both hot
keys and the selection bar; or (2) the selection is defined as a
PARTITION, displayed as a vertical bar composed of multiple
copies a single character across the width of the sub menu, and
denies access to both hot keys and the selection bar. ENTRY is a
term synonymous to SELECTION. Selecting an entry causes an action
associated with that entry's label to occur.
ESC is the complement to Enter. Pressing ESC will cause the
system to jump back one step. If, while the sub menus are active,
the user presses ESC, the sub menus will deactivate, and the user
will be prompted to select a menu header from the menu bar. There
is a case where this is not true: when a sub menu contains 0
entries, pressing ESC will deactivate the entire pull down menu
system. If, when the sub menus are deactivated, the user presses
ESC, the entire pull down system will deactivate, and the flow of
control will return to the main program.
Page 5
HORIZONTAL POP UP MENUS
A HORIZONTAL POP UP menu is a pop up menu with a PROMPT. The
prompt is usually a statement or a question. Under the prompt,
there are between 1 and 10, inclusive, ENTRIES (or SELECTIONS).
The entries are set up in a grid-like formation. Horizontal pop
up menus currently do not support hot keys. The only method for
selecting an entry is by the arrow keys. To move the selection
bar, the user moves the arrow key associated with the direction
he/she wishes to travel. Selecting an entry is accomplished
through the ENTER key. Abandoning the horizontal pop up menu and
returning to the application program is accomplished through the
ESC key.
VERTICAL POP UP MENUS
A VERTICAL POP UP MENU is a "normal" pop up menu. The menu
contains between 1 and 22, inclusive, entries. The user may
select an entry by using the arrow keys and ENTER, or, as a short
cut, the user may elect to use hot keys instead. The method for
selection is identical to that of SUB MENUS (described on the
previous page).
When a menu is referred to as a "pop up menu", without
indication of its alignment, the reader may correctly assume that
a VERTICAL POP UP MENU is being referenced.
POP UP HELP SCREENS
A POP UP HELP SCREEN is a window, when activated, appears on the
screen with the help text written upon it. On the bottom of the
help screens, there may or may not be SELECTIONS. When there are
selections, the user uses the arrow keys to sequentially move the
SELECTION BAR around the list of selections. If the user presses
ENTER, the selection that is highlit by the selection bar will be
processed, and another help menu described by that selection will
appear. If the user presses F1 in a help screen, a HELP INDEX, if
there is one, will appear. A HELP INDEX is a normal help screen
which will usually contain access to most or all of the other
help screens. Some help screens are independent of the rest of
the help system, and have no selections. The user may escape the
help system and return to the program at any time by pressing
ESC.
Page 6
POP UP DIRECTORY
A POP UP DIRECTORY is a window, when activated, shows a
directory listing inside the window. First, the user enters a
MASK definition. The directory will pop up with listing of all
files in that mask. The mask is same type of mask that DOS uses,
so that mask may, and usually will, contain wildcard characters
(* and ?). See the DOS manual for further reference on masks. If
there are no files that match with the mask definition, an error
message will be displayed, and the directory listing subroutine
will be terminated. When there are file names that match with the
mask, the will be displayed in a grid-like format, and the top
left entry will be selected. The user may move the selection bar
through the grid horizontally or vertically using all four arrow
keys. The selection bar will "wrap around" to the other side if
the user tries to move it beyond the defined boundaries. If the
entry begins with a back slash character (\), that entry is
actually a name of a sub-directory. If the selection bar is on a
sub-directory, and the user presses ENTER, the mask will
concatenate the current directory path with the new path, and
display a new listing. If the sub-directory name is \.. then the
parent directory is displayed. See the DOS reference book for
complete definitions of the terms defined above. If the mask
matches more than 112 file names, only the first 112 file names
will be displayed on the screen. If the user attempts to access
the file names below the bottom of the displayed names, the
selection bar will disappear, but will be logically where it is
supposed to be. The selection bar will reappear the it "wraps
around", or the user move the selection bar back up onto the
visible portion of the screen. The user may escape from the
directory listing at any time by pressing ESC.
TRASH CAN
The TRASH CAN is a process of deleting files which offers a
method which is more sophisticated than the DOS DELETE (or ERASE)
command. The trash can comes as a three step process. The first
step is when the user puts a file name in the trash can. The
second step is when the user may examine the trash can, and remove
accidentally thrown-out file names. The third step is when the
trash can is emptied, and the file names are deleted from the
disk.
In the first step, the user will be prompted for a file mask, and
a directory listing will be displayed. The user operates the
directory listing in the exact method described above in "POP UP
DIRECTORY", with one exception : any file name selected with the
ENTER key will cause an action to take place. If the file name is
a sub-directory, a new directory listing will appear. If the file
name is an actual file, the file name will be put in the trash
can list. A file name in the trash can list still exists in
actuality, and will show up in any directory listing. To throw
out more than one file name at a time, a TRASH GROUP facility was
established. The TRASH GROUP facility prompts the user for a mask
definition, and will put all file names which match the mask in
the trash can.
Page 7
In the second step, the user may look at the contents of the
trash can. The contents are displayed in a list. The user may
move up and down the list with the appropriate arrow keys. The
list on the screen will scroll if the user moves the selection
bar outside the set boundaries. If the user presses ENTER, the
file name which is under the selection bar will be removed from
the trash can. If the user presses ESC, the trash can is
deselected, and the program returns to normal execution.
In the third step, the files are removed both from the trash can
and from the disk. The user receives a chance to abandon this
operation when it is selected (similar to DOS's Are you sure
(y/n)? message). If the user proceeds, the files are deleted, and
the trash can list is left empty. If there any disk errors during
this process, the file name is removed from the trash can,
however it may not necessarily be removed from the disk.
There is an icon at the bottom right of the screen with a
picture of a trash can in it, with the caption "TRASH."
ACCESS SYSTEM CLOCK
In this option, a vertical pop up menu appears which has two
entries in it. The first entry shows the current date. The second
entry shows the current time, and is continually updated. If the
user selects either of these entries, another window appears
prompting the user to change the time or date. If the user makes
any changes, the system time and/or date changes also. At the
bottom left corner of the screen there is an icon which has a
picture of a clock, and has the caption "Access system clock."
TURBO DESIGNER'S PULL DOWN MENU SYSTEM
This section will describe the pull down menu system inside TD1.
The first menu header is drawn as a tiny box on the menu bar.
It's hot-key is "A". It has two entries in it's sub-menu.
CONTROL PANEL
Selecting this entry will cause a pop up window to appear.
Inside this window is a lot of technical information. Press ENTER
to leave.
ABOUT TURBO DESIGNER
Selecting this entry will cause a pop up window to appear.
Inside this window there is compiler release information. Press
ENTER to leave.
The second menu header is the "File" sub-menu. It's hot-key is
"F".
Page 8
LOAD WORK FILE
Selecting this entry will load a previously edited file into
TURBO DESIGNER. First, you will be asked if you want to save the
current work file. The responses are "Yes", "No", and "Cancel".
If you wish to abandon the LOAD WORK FILE option, this is your
last chance; select "Cancel" to return to the pull down system.
If you choose "Yes" or "No", the appropriate save action will
take place. You will then be prompted for a load file name in the
same fashion as described previously in "POP UP DIRECTORY". After
you select a file name, the file will be loaded. If you press ESC
in the directory listing, the current file will be erased from
memory and the file name will be set back to "NONAME".
CREATE WORK FILE
Selecting this entry will set up a new work file. First, you
will be asked if you want to save the current work file The
responses are "Yes", "No", and "Cancel" If you wish to abandon
the CREATE WORK FILE option, this is your last chance; select
"Cancel" to return to the pull down system. If you choose "Yes"
or "No", the appropriate save action will take place. You will
then be prompted for a new work file name. This work file name
may be up to eight characters in length, and may be anything that
is legal in DOS, with the following two exceptions: the filename
may not end with "UNT1" or "UNT2", or the code generated for your
program will be incomplete. All the files that will be necessary
will be created at this time.
SAVE WORK FILE
Selecting this entry will unconditionally save the current work
file. Make sure there is enough space on the disk you are working
with to save the work file.
RENAME WORK FILE
Selecting this entry will allow you to rename your work file.
You will first be prompted for a new work file name. This new
work file name may be up to eight characters in length, and may
be anything that is legal in DOS, with the following two
exceptions: the filename may not end with "UNT1" or "UNT2", or
the code generated for your program will be incomplete. This
entry uses the RENAME function from DOS.
SHOW DIRECTORY
Selecting this entry will cause a pop up directory to appear.
For more information see "POP UP DIRECTORY" on page 7.
CHANGE DIRECTORY
Selecting this entry will cause a pop up edit window to appear.
Type in the new directory name. Press ENTER when the new name is
typed in. This will use DOS's CHDIR command, and will report any
errors that DOS returns.
TRASH FILE NAME
Selecting this entry will cause the first step of the process
described previously in the "TRASH CAN" section to take place.
For more information, see "TRASH CAN".
Page 9
TRASH GROUP
Selecting this entry will cause the "TRASH GROUP" process
described previously in the "TRASH CAN" section to take place.
For more information, see "TRASH CAN".
QUIT
Selecting this entry will end TD1, and return to DOS. Before
leaving, however, you will be asked if you want to save the
current work file. The responses are "Yes", "No", and "Cancel".
If you wish to abandon the QUIT option, this is your last chance;
select "Cancel" to return to the pull down system. If you choose
"Yes" or "No", the appropriate save action will take place. TD1
will then halt, and return to DOS.
The third menu header is "Edit". It's hot key is "E". Selecting
edit will return you to editing your work file. "Edit" has no
sub-menus.
The fourth menu header is "View". It's hot key is "V".
VIEW CLOCK
Selecting this entry will cause the access clock function to
activate. For more information, see ACCESS SYSTEM CLOCK.
VIEW TRASH CAN
Selecting this entry will cause the second step of the process
described previously in the "TRASH CAN" section to take place.
For more information, see "TRASH CAN".
The fifth menu header is "Special". It's hot key is "S".
RESHADOW
Selecting this entry will cause TD1's pull down system to
toggle the pull down shadow. Select this a few times to see what
it does. To call this in your generated program call Procedure
ReShadow;.
EMPTY TRASH CAN
Selecting this entry will cause the third step of the process
described previously in the "TRASH CAN" section to take place.
For more information, see "TRASH CAN". Since files will be
erased, be careful with this selection.
TOGGLE PRINT SCREEN
Selecting this entry will toggle the ability to use print
screen on and off. This entry uses Procedure SetPrtSc(Switch :
Boolean); from TD1VARS. To set Print screen on use:
SetPrtSc(TRUE); To Turn print screen off use: SetPrtSc(FALSE);.
SELECT ME!
CHOOSE ME!
These entries demonstrate the use of "dead" entries. Selecting
one of these will "kill" the entry, and "revive" the other. The
procedures used are Procedure KillEntry(X,Y : Byte); and
Procedure ReviveEntry(X,Y : Byte); from TD1VIDEO. X is the
coordinate of the sub-menu in the pulldown system. Y is the
coordinate of the entry in that sub-menu. (In calculating the Y
coordinate, partitions should be included). You can also use on
page 4 of designing pull down menus. See DESIGNING PULL DOWN
MENUS.
Page 10
The sixth menu header is "Generate". It's hot key is "G".
GENERATE TURBO PASCAL CODE
This entry, when selected, generates the TURBO Pascal code
defined by your work file. Once the code has been generated,
press a key to return to the pull down system.
GETTING STARTED
INSTALLING TD1
DO NOT INSTALL TD1 ON THE ORIGINAL DISK!
Copy all files onto an empty, formatted disk or an empty
directory. If you want to use TURBO Pascal version 4.0, run
TP4Inst.Bat by typing TP4Inst at the DOS prompt. If you want to
use TP5Inst.Bat by typing TP5Inst at the DOS prompt.
LOADING TD1
Load TD1 at the DOS prompt by typing "TD1" (without the
quotes). Make sure TD1.EXE, TD1.HLI, TD1.HTE, TD1.HIN are in the
current directory and drive.
If your monitor is a black and white (or black and green, or
black and amber, etc.) type "TD1 -m" (without the quotes).
Once TD1 is loaded, read the registration screen, and press
ENTER when you are done. You may then proceed to edit your
system. If you need help right away, press ENTER or F1. You would
most likely need to use the pull down menus to load or create a
file. Press F10 to activate the pull down menus. Then press "F"
to activate the "File" sub-menu. Using the arrow keys if needed,
select either "Load"
or "Create" options, and you will be on your way. For a sample
session see "A SAMPLE SESSION" on page 18.
You should design a few test files before actually doing
serious work, to insure your familiarity with the environment.
Page 11
DESIGNING PULL DOWN MENUS
Page 1
In this page, the menu bar is designed. The text is
entered as it would be with a word processor. At the top of the
screen, a count of how many menu headers on the line being edited
is displayed. If you should want help, press F1. If you want to
go back to the "Design menus" icon-menu, press PgUp. When you
want to proceed to page 2, press PgDn. A syntax error check will
take place. The menu bar will be checked with the following
criteria: between 1 and 15 menu headers exist, each menu header
has a UNIQUE hot key, and each menu header has a hot key.
Page 2
In this page, the entries in the sub-menu are defined.
Move the selection bar to the selection you wish to enter. Press
the backspace key, and the selection bar will turn into a cursor.
Type in the entry name using the same method described for
entering the menu bar from page 1. Do not use the underscore as
the first character in the entry name. Pressing ENTER will cause
the selection bar to reappear. Move the selection bar to edit
more entries. Use the help menus on the side and bottom as a
guide. Press PgUp to go back to page 1. Press PgDn to go to page
3. Another syntax check will take place. The syntax check will
check: A blank line in between two non-blank entries, each menu
has a UNIQUE hot key, and each non-blank entry has a hot key.
Page 3
In this page, the context-sensitive help lines are entered
for the pull down system. To enter a help line for an ENTRY, move
the selection bar to the entry you want to enter help into.
Pressing ENTER will cause a pop up edit window to appear. Type in
the text of the help line in the same fashion as entering the
menu bar, and press ENTER to return to the pull down system. To
enter To enter a help line for a MENU HEADER, move the selection
bar to the sub-menu you want to enter help into. Pressing F5 will
cause a pop up edit window to appear. Type in the text of the
help line in the same fashion as entering the menu bar, and press
ENTER to return to the pull down system. If you want to change
the status of the pull down shadow, pressing F2 will toggle the
shadow on and off. Pressing PgUp will go back to page 2. Pressing
PgDn will go to Page 4. No syntax error checks take place.
Page 4
This page allows you to "kill" entries, if you need to, so
that the generated program will start off with "dead" entries.
"Dead" entries are entries which are displayed in a neutral
color, and cannot be accessed. In the "Special" menu in TD1,
there is an example of a dead entry. For more information see
page 10. To "kill" an entry, move the selection bar to the entry
you wish to "kill," and press F5. If nothing happens, press F2,
then F5 again. Pressing F2 toggles the "Kill mode" between "Kill"
and "Revive." To "Revive" an entry, put the system in "Revive"
mode, if you need to, move the selection bar to the "dead" entry
you wish to revive, and press F5. If you want to know which mode
you are in, just look on the help screen displayed at the "F5"
section, and it will tell you what state the system is in. If you
need more help than is provided, press F1. To go to page 3, press
Page 12
PgUp. To go on, press PgDn. This will take you back to the
"Design Menus" icon, and also save the pull downs as you have
defined them. The help definitions you entered in page 3 will be
shown at the bottom of the screen.
Due a persistent bug, the bottom line may not be correct. Do not
worry, the generated code does not have this problem.
The process may be repeated many times if need to go back, and
change some aspect.
NOTE: If you go back and edit the menu bar, and the number of
menu headers change, the entry definitions that were in the
previous set of pull down menus will NOT change, and will be
inaccurate.
DESIGNING HORIZONTAL POP UP MENUS
Page 1
This page may come in two forms, depending on whether or not
you already have previously defined horizontal pop up menus.
[Form 1:] If there are no horizontal pop up menus to enter, a pop
up edit box will appear. If you wish to leave, press ENTER
without typing anything, otherwise, type in the name of the
"KEY". The "KEY" is TD1's method of organizing the menus. Please
do not use any characters other than "A"..."Z", and "0".."9". It
will make it easier to use the generated menus. Press ENTER when
you have typed in the key name. [Form 2:] If there are previous
horizontal pop up menus loaded, a list of the key names will
appear. Among these names is "<NEW MENU NAME>". Move the up and
down arrow keys to move the selection bar. Press ENTER to select
an entry name. If you select "<NEW MENU NAME>", you will embark
on the process described in [Form 1:].
Page 2
On this page you will be prompted for a prompt to your pop up
menu. A pop up edit window will appear. Edit the prompt as you
would edit a document in a word processor. Press ENTER when you
are done.
Page 3
On this page you select the colors you wish to use in the pop
up menu. To select the colors, use the up and down arrow keys to
select which set of colors to change: Normal, Highlighted, or
Inverse. Press ENTER. A color change screen will appear. To
change the background color, use the left and right arrow keys to
move through the list of background colors. To change the
foreground color, use the up and down arrow keys to move through
the list of foreground colors. Press ENTER when you decide on the
color to use.
To go to page 4, press PgDn.
Page 4
On page 4, you can reconfigure the border style that your
pop up menu uses. Use the arrow keys to move the selection bar,
and the ENTER key to change the character associated with that
selection.
Press F1 if you need help. Press PgDn to go to page 5.
Page 13
Page 5
Page 5 lets you enter the entries to be used in the pop up
menu. Up to 10 entries may be defined. To edit an entry, move the
selection bar to the entry you wish to edit and press BACKSPACE.
Then, type in that entry using the keys you would use in a word
processor. Press ENTER to bring the selection bar back. Press
PgDn to go to page 6. Before proceeding to page 6, a syntax error
check takes place. The syntax error check checks for a blank line
between two non-blank entries. Hot keys are not implemented for
horizontal pop up menus.
Page 6
Page 6 is a pop up menu which asks you whether or not you
want a shadow with your pop up menu. Type in "Y" or "N" to go to
page 7. The "Cancel" operation is not defined for this window.
Page 7
With page 7, you can set the coordinates for the pop up
menu. The pop up menu you have just specified will appear on the
screen,
none of the selections will be highlit. Move this menu around
using then arrow keys. When you have placed it on a spot which
you like, press PgDn to exit editing the pop up menus.
You will then return to the "Design menus" icon menu. The pop up
menu you just designed will be saved.
DESIGNING VERTICAL POP UP MENUS
Page 1
This page may come in two forms, depending on whether or not
you already have previously defined vertical pop up menus. [Form
1:] If there are no vertical pop up menus to enter, a pop up edit
box will appear. If you wish to leave, press ENTER without typing
anything, otherwise, type in the name of the "KEY". The "KEY" is
TD1's method of organizing the menus. Please do not use any
characters other than "A"..."Z", and "0".."9". It will make it
easier to use the generated menus. Press ENTER when you have
typed in the key name. [Form 2:] If there are previous vertical
pop up menus loaded, a list of the key names will appear. Among
these names is "<NEW MENU NAME>". Move the up and down arrow keys
to move the selection bar. Press ENTER to select an entry name.
If you select "<NEW MENU NAME>", you will embark on the process
described in [Form 1:].
Page 2
On this page you select the colors you wish to use in the
pop up menu. To select the colors, use the up and down arrow keys
to select which set of colors to change: Normal, Highlighted, or
Inverse. Press ENTER. A color change screen will appear. To
change the background color, use the left and right arrow keys to
move through the list of background colors. To change the
foreground color, use the up and down arrow keys to move through
the list of foreground colors. Press ENTER when you decide on the
color to use. To go to page 3, press PgDn.
Page 14
Page 3
On page 3, you can reconfigure the border style that your
pop up menu uses. Use the arrow keys to move the selection bar,
and the ENTER key to change the character associated with that
selection.
Press F1 if you need help. Press PgDn to go to page 4.
Page 4
Page 4 lets you enter the entries to be used in the pop up
menu. Up to 10 entries may be defined. To edit an entry, move the
selection bar to the entry you wish to edit and press BACKSPACE.
Then, type in that entry using the keys you would use in a word
processor. Press ENTER to bring the selection bar back. Press
PgDn to go to page 5. Before proceeding to page 5, a syntax error
check takes place. The syntax error check checks for a blank line
between two non-blank entries, and makes sure that each entry has
a UNIQUE hot key, and each entry has a hot key.
Page 5
Page 5 is a pop up menu which asks you whether or not you
want a shadow with your pop up menu. Type in "Y" or "N" to go to
page 6. The "Cancel" operation is not defined for this window.
Page 6
With page 6, you can set the coordinates for the pop up
menu. The pop up menu you have just specified will appear on the
screen,
none of the selections will be highlit. Move this menu around
using then arrow keys. When you have placed it on a spot which
you like, press PgDn to exit editing the pop up menus.
You will then return to the "Design menus" icon menu. The pop up
menu you just designed will be saved.
COLOR CONSTANTS AND YOUR PROGRAMS ENVIRONMENT
SETTING YOUR PROGRAM'S COLORS
On this icon menu, you select the default colors you wish to
use in your program. There are four sets of colors used in the
program: Background colors, Standard colors, Directory colors,
Icon colors. In order to change the colors, use the arrow keys to
move the selection box to the set of colors you want to change,
then press ENTER. To change the set of colors, use the up and
down arrow keys to select which type of colors to change: (where
appropriate) Normal, Highlighted, Inverse, or Dead. Press ENTER.
A color change screen will appear. To change the background
color, use the left and right arrow keys to move through the list
of background colors. To change the foreground color, use the up
and down arrow keys to move through the list of foreground
colors. Press ENTER when you decide on the color to use. Press
PgDn to go back to the icon menu. Press ESC to leave the icon
menu.
Page 15
SETTING YOUR PROGRAMS ENVIRONMENT
Page 1
This page lets you define your program's BACKGROUND
CHARACTER. The background character is used in the beginning of
your program to make a background. In this screen, you may either
choose "Select" to choose another BACKGROUND CHARACTER, or "Use
Default" to keep the current BACKGROUND CHARACTER, or "Cancel" to
return to the previous icon menu. If you choose "Select", a
selection screen appears, and you choose a new BACKGROUND
CHARACTER by moving the arrow keys to make the cursor point to
the character you want and press ENTER. Another screen will
appear with the background drawn. If you like it, press ENTER;
otherwise press ESC.
Page 2
This page lets you edit the PERMANENT STATUS BAR. Just type
in the status bar as you would with a word processor. If you need
more help than is provided, press F1. To return to page 1, press
PgUp. To go on to page 3, press PgDn.
Page 3
On page 3, you can reconfigure the border style that your
pull down menu uses. Use the arrow keys to move the selection
bar, and the ENTER key to change the character associated with
that selection. Press PgUp to go to page 2. Press PgDn to
go back to the icon menu.
HELP SCREEN DEFINITIONS
EDIT HELP SCREEN DEFINITION
Page 1
This page may come in two forms, depending on whether or not
you already have previously defined help screens. [Form 1:] If
there are no help screens to enter, a pop up edit box will
appear. If you wish to leave, press ENTER without typing
anything, otherwise, type in the name of the "KEY". The "KEY" is
TD1's method of organizing the menus. Please do not use any
characters other than "A"..."Z", and "0".."9". Press ENTER when
you have typed in the key name. [Form 2:] If there are previous
help screens defined, a list of the key names will appear. Among
these names is "<Enter new name>". Move the up and down arrow
keys to move the selection bar. Press ENTER to select an entry
name. If you select "<Enter new name>", you will embark on the
process described in [Form 1:].
Note: Naming your help screen key as Help_Index makes that
definition the help index. In your generated program, pressing F1
after loading a help screen will load the help index.
Page 2
On this page you will be prompted for a title to your help
menu. A pop up edit window will appear. Edit the title as you
would edit a document in a word processor. Press ENTER when you
are done.
Page 16
Page 3
With this page, you define the coordinates of the help
screen you wish to design. You first use the arrow keys to move
the top left corner to the coordinate you wish to use. Press
ENTER when you reach that coordinate. You then will move the
bottom right corner to the coordinate you wish to use. Press
ENTER when you reach the coordinates you want. Then, either press
ENTER to accept this definition and go on to page 4, or ESC to
redo the definition. Press F1 at any point to receive help.
Note: A short cut to moving the cursor around: Holding the SHIFT
KEY down while moving the arrow keys on the NUMERIC KEYPAD causes
the cursor to jump 5 units in each direction.
Page 4
On this page you select the colors you wish to use in the
help screen. To select the colors, use the up and down arrow keys
to select which set of colors to change: Normal, Highlighted, or
Inverse. Press ENTER. A color change screen will appear. To
change the background color, use the left and right arrow keys to
move through the list of background colors. To change the
foreground color, use the up and down arrow keys to move through
the list of foreground colors. Press ENTER when you decide on the
color to use. To go to page 5, press PgDn.
Page 5
On page 5, you can configure the border style that help
screen uses. Your choices are either SINGLE or DOUBLE border.
Press ENTER to go to page 6.
Page 6
Page 6 is a pop up menu which asks you whether or not you
want a shadow with your pop up menu. Type in "Y" or "N" to go to
page 7. The "Cancel" operation is not defined for this window.
Page 7
The help definition you defined is displayed on the screen.
If you are satisfied with it, press ENTER; otherwise press ESC to
go to page 2.
EDIT HELP SCREEN TEXT
Page 1
If there are previous help screens defined, a list of the
key names will appear. Move the up and down arrow keys to move
the selection bar. Press ENTER to select an entry name.
Page 2
A help window with the definition described by the help
screen definition you selected in page 1. This screen is a full
screen editor. Use the arrow keys to move the cursor around.
Press ENTER to go to the next line. Pressing BACKSPACE will move
the cursor back one character, and it is non-destructive. Type in
the text of the help screen like you would with a word processor.
This editor is permanently stuck in TYPEOVER (or OVERWRITE) mode,
meaning that if you are typing along a line, the words to the
right of the cursor are not moved. Pressing the insert key will
insert a space at the current cursor position. Pressing delete
will delete a character at the current cursor position.
Page 17
Pressing F1 will call up a help screen.
Pressing F8 will abort this help screen, and return to the last
icon menu.
Pressing the END key will save this screen, and return to the
last icon menu.
Pressing the F3 key will toggle the link mode on and off.
To use the link mode, move the cursor to the position you want to
start to link at. Press F3. You will be able to move the cursor
to the right only (and left, just as long as you don't move
beyond the start of the link). Move the cursor right until you
reach the ending position. Press F3 again. A pop up menu with all
the help screens will appear. Choose one of these. The area you
defined as the link area will now be displayed in the INVERSE
color of that help screen. You may move the cursor through the
link area but you cannot type anything in it. If your cursor is
on a link area and you press ENTER, the help screen you are
working on will be saved, and the help screen that is linked to
the link area will be loaded and edited.
NOTE: AFTER STARTED OR FINISHING A LINK, THE CHANGE IS
*PERMANENT* PLEASE SIT DOWN AND MAP OUT YOUR HELP SCREENS ON
PAPER BEFORE USING TD1.
A SAMPLE SESSION
Now that TD1 is installed on your system, load TD1 using the
method described in GETTING STARTED.
Press ENTER after reading the registration screen.
Press F10 to activate the pulldown menus.
Press "F" to activate the "File" sub-menu.
Press "W" to select the "create Work file" entry.
Press "N" to tell the system "NO! I don't want to save NONAME!"
Type "TEST1" when you are prompted for a file name.
Press ESC to deactivate the "File" sub-menu.
Press "E" to select "Edit" sub-menu.
Press the left arrow key once, so that the ICON-menu cursor lies
on the "Design menus" option.
Press ENTER to select the ICON. Another set of icons will appear.
Press the left arrow key once, so that the ICON-menu cursor lies
on the "Pull down menus" option.
Press ENTER to select the ICON. A line editor will appear.
Page 18
On the line, type these four words, "This Is A tEst", keeping the
letters that are capitalized, capitalized. You may put as many
spaces between the words as you wish. Press F1 if you need any
help. Notice at the top of the window, the "Number of headers" is
equal to 4.
Before you press ENTER, use the arrow keys to edit the line so
that it reads "This Is Some how A tEst", with only one space
between "Some" and "how". Notice that the "Number of headers" is
equal to 6.
Move the arrow keys between "Some" and "how" and press the Delete
key on your keyboard. The line should read "This Is Somehow A
tEst"
The "Number of headers" is equal to 5.
Without moving the cursor, press the F3 key. A "Hard space" was
added between "Some" and "how", so the line reads
"This Is Some how A tEst" and the "Number of headers" is equal to
5.
Press the F2 key. Notice the hard space has become a flashing *.
Press ESC to leave that mode.
Move the cursor to the "S" in "Some how" and press the delete key
until "Some how" no longer exists.
Now press ENTER to go to page 2.
Using the help menus on the side as a guide, type in the
following entries under the "This" menu header:
This
Is
One
Menu
Press the right-arrow key to move the selection header to "Is".
Notice that the previous entries have disappeared. Press the
left-arrow key. Notice that the entries have reappeared. Press
the right-arrow key.
Type in the following entries:
This
Is
Now, without moving the cursor, press the F2 key.
A "partition" will appear. Do not edit this partition. If you
accidentally edit it, press F2, and another partition will be
generated.
Press the down-arrow key to leave the partition and type:
Another
Press the right-arrow key to move the header selection to "A".
Page 19
Press the right-arrow key again to move the header selection to
"tEst".
Type in the following entries:
One
smAll
Pull
Down
Menu
When you are done typing those entries in press PgDn to go to
page 3.
Press Enter to enter the status help line for the entry "This".
Type "This is nonsense" in the box that appears, and press ENTER.
Press F5 to enter the status help line for the sub-menu "This".
Type "This is ludicrous" in the box that appears, and press
ENTER.
Move the selection bar around, and enter other status help lines
for other entries and menu headers. Notice how you can't enter a
status help line for the partition.
Move to the "tEst" sub-menu. Press F2 a few times, and watch the
underlying shadow disappear and reappear.
Also notice that there are no entries under the "A" sub-menu.
Press PgDn to go to page 4.
On page 4 move the cursor around, and observe the sub-menus as
they change from one to another. Move the cursor to the "This"
sub-menu.
Move the cursor to the "One" entry in that sub-menu. Press F5.
You have just killed that entry. The entry will change into a
neutral color. Press F5 again. Oops, you have just killed "Menu",
and let's suppose you actually didn't want to kill it. Press F2,
and F5 will change from "Kill" to "Revive". Move the selection
bar to the dead entry "Menu", and press F5. "Menu" has just come
back to life, and is displayed it's original color. If you have
not grasped this concept yet, feel free to use the above methods
to kill and revive other entries. NOTE: Make sure that F5 is in
the right "mode". (either "Kill" or "Revive").
Press PgDn to return to the "Design menus" icon-menu.
Move the selection box to "Design Horizontal pop-up menus", and
press ENTER.
For the key name type "TESTING", without the quotes. Press ENTER
to go to page 2.
For the prompt, type "Are you sure?", without the quotes. Press
ENTER to go to page 3.
Page 20
For the colors, set the colors to your liking. If you need help,
refer to page 13 on setting the colors. Press PgDn to go to page
4.
On page 4, you set the border style. At this time, just accept
the default border style by pressing PgDn. Once you have
experience with Turbo Designer, you should experiment with
setting the border style.
On page 5, you type in the entries for the pop up menu. Type in
these entries: (refer to page 14 for more help)
Yes
No
Cancel
Press PgDn to go to page 6.
Page 6 asks you whether or not you want a shadow. Press Enter,
because you want a shadow.
Page 7 shows you the pop up menu. Move it around by pressing the
arrow keys. Press PgDn after you move it to a location that you
feel is good. (For example, try and put it in the center of the
screen)
You will return to the "Design menus" icon menu.
Move the selection box to "Design pop-up menus", and press ENTER.
For the key name type "TEST2", without the quotes. Press ENTER to
go to page 2.
For the colors, set the colors to your liking. If you need help,
refer to page 14 on setting the colors. Press PgDn to go to page
3.
On page 3, you set the border style. At this time, just accept
the default border style by pressing PgDn. Once you have
experience with Turbo Designer, you should experiment with
setting the border style.
On page 4, you type in the entries for the pop up menu. Type in
these entries: (refer to page 15 for more help)
{Leave a space between pOpcorn and Crackerjacks, type in the
entries using the capital letters exactly as they are written
here}
Peanuts
pOpcorn
Crackerjacks
Move the selection bar to the blank line between pOpcorn and
Crackerjacks and press F2. A partition appears!
Press PgDn to go to page 5.
Page 21
Page 5 asks you whether or not you want a shadow. Press Enter,
because you want a shadow.
Page 6 shows you the pop up menu. Move it around by pressing the
arrow keys. Press PgDn after you move it to a location that you
feel is good. (For example, try and put it in the center of the
screen)
You will return to the "Design menus" icon menu.
Press ESC to go to the "Main Menu" icon menu.
Press the up-arrow key to go to the "Color constants and
environment" icon.
Press ENTER to enter the icon. Another icon menu appears.
Press the right-arrow key to move to the icon "Set program's
environment" and press ENTER.
Press ENTER again to choose the "Select" option.
Press the arrow keys to move the cursor to the first letter of
your name and press ENTER.
Press ENTER again to confirm your approval of the selection.
On page two, type in the line "This is my status line".
Press ENTER to go to page 3.
On page three, press ENTER. This page should be used only when
you are familiar with TURBO Designer's environment.
Press ESC to go to the "Main Menu" icon menu.
Press the right-arrow key to move the selection box to "Design
HELP Screens" icon menu.
Press ENTER to select this icon menu.
Press ENTER to select the "Define help screens" icon.
Type in "Help_Me", without the quotes, and press ENTER.
Type in "My help screen"
Move the cursor with you arrow keys to position (10,10).
Press ENTER.
Move the cursor with you arrow keys to position (60,15).
Press ENTER.
Press ENTER again.
Press PgDn. When you have more experience, you may set the
colors.
Page 22
Press Enter. You will use a SINGLE BORDER.
Press Enter. You want a shadow.
Press Enter. You like that definition.
Press Enter. You wish to make another help screen.
Type in "More_help", without the quotes, and press ENTER.
Type in "My other help screen" and press ENTER.
Move the cursor with you arrow keys to position (10,10).
Press ENTER.
Move the cursor with you arrow keys to position (60,15).
Press ENTER.
Press ENTER again.
Press PgDn. When you have more experience, you may set the
colors.
Press Enter. You will use a SINGLE BORDER.
Press Enter. You want a shadow.
Press Enter. You like that definition.
Press the right-arrow key twice to move the selection box to
"Enter help text" icon menu. Press ENTER to select.
Press ENTER to select "Help_Me".
Now, type in the sentence "May I help you?".
Move the cursor to the bottom left corner.
Type "Yes", without the quotes.
Move the cursor to the Y again.
* This stage is critical, try not to make a mistake! *
Press F3.
Press the right-arrow key two times.
Press F3.
Press the down-arrow key.
Press ENTER.
Move the cursor so that it is on the "Yes" somewhere.
Press ENTER.
Page 23
Type "Well, tough luck!", without the quotes.
Press the END key.
Press F10 to go to the pull down menus.
Press the "F" key.
Press the "S" key to save your work file.
Press the left-arrow key twice to move to the "Generate" sub-
menu.
Press ENTER to generate.
Press ENTER after the code is generated.
Move to the "File" sub-menu, and press "Q"
Press "N", because you have already saved it.
Load TURBO Pascal.
Making sure that you are in the same directory that you created
TEST1.TD1 in (use Change Directory if needed), load TEST1.PAS.
Run the file.
Now, you have successfully design and executed a file from TURBO
Designer. Try this a few more times, each time making your files
more elaborate, then use it for serious work.
USING TD1 AS A LIBRARY
TD1 can be used as a standalone function library, or it's
library can be used in conjunction with the generated code. The
files that must be "used" in the TURBO Pascal program are these
(in order): Uses Dos, Crt, TD1VARS, TD1VIDEO, TD1UTILS;
The library functions that you can use are defined below.
Function CalcColor(F,B : Byte) : Byte;
This function is used to produce an ENCODED COLOR BYTE,
using foreground F and background B.
Usually, the foreground is stored in one byte, and the background
is stored in another byte. It is possible to put these two colors
into one byte. This byte is called an ENCODED COLOR BYTE.
Page 24
Function MonoColor(C,R : Byte) : Byte;
This function is used to insure that colors will appear correctly
on a monochrome monitor.
Parameters:
C is the incoming color. It is an encoded color byte with
a range of 0..255.
R is the byte to change to. It is also an encoded color
byte. If the monitor is a monochrome monitor, MonoColor returns
R; otherwise it will return C. There is one exception: If R is
255 and the monitor is a monochrome monitor, MonoColor returns an
appropriate monochrome attribute to C.
Examples:
Write(MonoColor(34,19));
{ Returns 19 if monochrome monitor, else returns 34 }
Write(MonoColor(CalcColor(Yellow, Black),White));
Write(MonoColor(CalcColor(Blue, Red), 255);
{Returns Blue on Red if color monitor, White on Black otherwise}
Procedure Wr(S : String; X, Y :Byte; F, B : Byte);
This procedure writes a string at coordinates (X,Y) with colors F
and B.
Parameters: S is any type of string.
X is in the range 1..80.
Y is in the range 1..25.
F is the foreground color. It is not encoded.
B is the background color. It is not encoded.
Examples:
Wr('Hello',10,10,Blue, Green);
Wr('It works!',15,15,MonoColor(Blue,255),MonoColor(Green,255));
{ MonoColor can also take a NON-ENCODED COLOR for it's C
parameter }
Procedure MkWin(Title : String,
X1,Y1,X2,Y2 : Byte;
F, B : Byte;
BorderStyle : Charray;
Shadow : Boolean);
This procedure creates a window on the screen with rectangular
coordinates (X1,Y1) - (X2,Y2), with colors F and B, with a border
style defined as BorderStyle. If Title <> '' then MkWin centers
Title and displays it on the top border. If Shadow is true, then
a shadow is displayed under the window.
Parameters:
Title is any string.
1 <= X1 < X2 <= 80
1 <= Y1 < Y2 <= 25
F is the foreground color. It is not encoded.
B is the background color. It is not encoded.
BorderStyle is a special type. It's value may be either
EmptyBorder, SingleBorder, or DoubleBorder; depending on
whether you want no border, a single line border, or a double
line border, respectively.
Creating a window will set TURBO Pascal's WriteLn window and
colors.
Page 25
Examples:
MkWin('A window', 1,1,80,25, Blue, Red, SingleBorder,True);
MkWin('Another window',20,10,60,20,Black,White,Emptyborder,False);
Procedure RmWin;
This procedure will remove the last window created and restore
the area of the screen that the window covered.
Examples:
MkWin('',10,10,70,15,White, Black, DoubleBorder, True);
WriteLn('Look at this window.....');
Repeat
Until ReadKey = #27;
RmWin;
Procedure Help(S:Str20);
This procedure will invoke a help screen with key S.
Examples:
Help('Help_Screen_One');
Help('Help_Index');
Help('DoHelp');
Procedure Directory;
Making a call to this procedure will invoke a pop up directory
listing as described in "POP UP DIRECTORY"
Procedure TrashFile;
Calling this procedure will accomplish the first step of the
trash can, described in the section "TRASH CAN".
Procedure TrashGroup;
Calling this procedure will accomplish the trash group function,
as described in the section "TRASH CAN".
Procedure EditTrashCan;
Calling this procedure will invoke the second step of the trash
can, described in the section "TRASH CAN".
Procedure EmptyTrash;
Calling this procedure will complete the third step of the trash
can, described previously in the section "TRASH CAN".
Function GetFileName : String;
Calling this procedure will accomplish the same task described in
LOAD WORK FILE.
Example:
Var S : String;
.
.
.
S := GetFileName;
Procedure Error(S : String);
When you call this procedure, an error box will appear with
message S in it.
Example:
Error('No files found.');
Page 26
Procedure Do_clock;
This procedure uses the Access system clock icon, and prompts the
user for the time and date.
Procedure ChangeDir;
This procedure uses the same routine that the FILE sub-menu uses
in the "Change directory" option.
WHAT'S NEXT?
After finishing version 2.0, I started to think about what
will be in the next version. Here is what I have come up with for
possibilities.
1) A few nagging bugs will be fixed.
2) The directory will scroll.
3) I will probably allow the design of DATA SCREENS.
4) There will be a mouse.
5) The keyboard will be enhanced.
6) Probably more "boxed" procedures will be written.
7) I/O errors will be handled better.
8) TD1 will generate code for TURBO Pascal version 5.0 ONLY!!!
(or the latest version of TURBO Pascal)
9) If you have any suggestions, feel free to tell me.
SHAREWARE AND TURBO DESIGNER
ShareWare is a method of distribution where making copies of the
software and distributing them to friends is encouraged. Each
copy should be used and evaluated. After the evaluation, the user
should determine whether or not the price that the Author of the
ShareWare package asks for is reasonable. If it is, the user, to
perpetuate the ShareWare concept, should pay the Author the
suggested price.
The price that I am asking for TURBO Designer is US $25. Add $5
for foreign orders. See the order form on page 30 for details.
If you register, I will send you a disk with your registration
number on it. If you share this disk, and somebody registers with
your registration number, I will send you a $10 commission. It is
a simple thank you for registering.
If you do not feel like registering, please send me your name
and address anyways. I will send you update notices as the new
versions come out.
If you have any comments regarding TURBO Designer, please tell
me. It is my hope that users of this software package, registered
or not, will communicate.
Page 27
If you have a ShareWare package, please tell me about it.
Whether or not you are a registered user, I will place the
description you send me in this manual. If you send me a disk
with your program on it, I will put a review, and your response
to that review, in this manual. I don't really care whether or
not your ShareWare package uses TURBO Designer, I just want to
list as many ShareWare packages as I can.
DISTRIBUTING TURBO DESIGNER
You may distribute UNMODIFIED copies of TURBO Designer to anyone
and everyone, just as long as a fee of no more than $10 is
charged.
Page 28
FILES ON THIS DISK
No documentation would ever be complete without a listing of
all the files. Well, here it is.
A listing of all files....
--------------------------------------------------------------
TD1.EXE - The main program file
TD1.DOC - The documentation for TD1
TD1.HIN \
TD1.HLI - Help screens for TD1.EXE
TD1.HTE /
TP4VARS.TPU \
TP4VIDEO.TPU - Library code for TURBO Pascal 4.0
TP4UTILS.TPU /
TP5VARS.TPU \
TP5VIDEO.TPU - Library code for TURBO Pascal 5.0
TP5UTILS.TPU /
TP4INST.BAT Batch file to install for TURBO Pascal 4.0
TP5INST.BAT Batch file to install for TURBO Pascal 5.0
PRINTDOC.BAT Batch file to print documentaion on printer
FILELIST.DOC This file
README.1ST Read this file before attempting to run TD1
--------------------------------------------------------------
Well, there it is. Have fun!
Page 29
REGISTRATION FORM
Product Cost How many Price
TURBO Designer Registration $25.00 x ________ = _____
version 2.0
SubTotal:_____
Foreign orders add: $5
Total:_____
Comments,questions, or complaints: (if any, feel free)
________________________________________________
________________________________________________
________________________________________________
________________________________________________
________________________________________________
________________________________________________
________________________________________________
* * *
Only check or money order, please.
Cash will be sent back at your expense. (and risk)
Expect orders in about 2-4 weeks.
Make checks and money orders to: Michael McMahon
Send to: MMI Computers TD will be sent to this return address:
Attn: SLO-0000
878 Via Seville
Livermore, Ca. ____________________________________
94550 USA
____________________________________
____________________________________
____________________________________
____________________________________
____________________________________
Page 30