Disk(s) under separate cover
May 1991
SS-AGE-06
INTPRO: Interactive Program
Development System
Dennis G. Watson, Stephen T. Eissinger
Florida Cooperative Extension Service/Institute of Food and Agricultural Sciences
University of Florida/John T. Woeste, Dean
SDOC
101
F636c
923-935
DISCLAIMER
The Board of Regents of the State of Florida, the State of Florida,
the University of Florida, the Institute of Food and Agricultural
Sciences, and the Florida Cooperative Extension Service,
hereinafter collectively referred to as "UF-IFAS", will not be liable
under any circumstances for direct or indirect damages incurred by
any individual or entity due to this software or use thereof, including
damages resulting from loss of data, lost profits, loss of use, inter-
ruption of business, indirect, special, incidental or consequential
damages, even if advised of the possibility of such damage. This
limitation of liability will apply regardless of the form of action,
whether in contract or tort, including negligence.
UF-IFAS does not provide warranties of any kind, express or im-
plied, including but not limited to any warranty of merchantability
or fitness for a particular purpose or use, or warranty against
copyright or patent infringement.
The entire risk as to the quality and performance of the program is
with you. Should the program prove defective, you assume the
entire cost of all necessary servicing, repair, or correction.
The mention of a tradename is solely for illustrative purposes.
UF-IFAS does not hereby endorse any tradename, warrant that a
tradename is registered, or approve a tradename to the exclusion of
other tradenames. UF-IFAS does not give, nor does it imply, per-
mission or license for the use of any tradename.
IF USER DOES NOT AGREE WITH THE TERMS OF THIS
LIMITATION OF LIABILITY, USER SHOULD CEASE USING
THIS SOFTWARE IMMEDIATELY AND RETURN IT TO UF-
IFAS. OTHERWISE, USER AGREES BY THE USE OF THIS
SOFTWARE THAT USER IS IN AGREEMENT WITH THE
TERMS OF THE LIMITATION OF LIABILITY.
INTPRO is Copyright Michigan State University 1987, 1988 and
University of Florida 1989.
TEXTPRO is Copyright University of Florida and Michigan State
Univeristy 1989.
WINTDATA is Copyright Michigan State University 1987 and
University of Florida 1989.
CONVHPGL is Copyright Michigan State University 1988 and
University of Florida 1990.
BIN2SCRN, BIN2ASC, and ASC2BIN are Copyright University of
Florida 1990.
INTPRO
Contains licensed program materials of Metagraphics Software Corporation
Copyright 1986, 1987 Metagraphica Software Corporation, Scotts Valley, CA 95066
The installation program used to install this program, INSTALL, is licensed
software provided by Knowledge Dynamics Corporation, Highway Contract 4 Box
185-H, Canyon Lake, Texas 78133-3508 (USA), 1-512-964-3994. INSTALL is
Copyright (c) 1987-1989 by Knowledge Dynamics Corporation which reserves all
copyright protection worldwide. INSTALL is provided to you for the exclusive
purpose of installing this program.
0~t
-iNTpTO winter fPogmma
-p-rn
Dennie G. Watson, Stephen T. Elsainger
Jl YERSIY A F FLORIDA LIPAIES
pnl of 9S MerwmSS w h1f0T. Wnhae lain
I a i lauadk.f
myy TT
G
I-.,... -
- 1.
4, a
d .~E. '~-
-- e
r- -
--F
I.
~1'~ -
.. *
:<,,.. 'V
- 4 .
., Si,
S.. ~r
-. -C, -"45, a-
'-1 ~'* -
v- -. ; ,- -
. 1.':^ ^ ;: ; -* ; .^
a.. ~
..'* .3
v-a-
t
I.
~2~
-. >-a
"-.7
*3't.
'1 a'- 4.- ~ '1,
F-4
re
4, -a,. .01
ai al. 1W
'I *A
7, 7-
Fri4.',
~
tr- ;-1~-.
444
.5
8.
-1
4?,),.
Ft 5
F
a;-..
I''
TABLE OF CONTENTS
ABSTRACT.......................................... 1
INTRODUCTION.................................... 1
Hardware and Software Requirements 2
Notation 3
GETTING STARTED ................................. 4
Installing Program 4
Starting Program 4
DESCRIPTION OF INTPRO COMPONENTS ........... 5
INTPRO: Interactive Program Development System 5
Guide to a Sample INTPRO and TEXTPRO Application 5
Guide to Developing Applications with INTPRO
and TEXTPRO 5
INTPRO: Developer's Guide 5
TEXTPRO: Developer's Guide 5
WINTDATA: Developer's Guide 6
Developer's Guide to Using Graphics in INTPRO
and TEXTPRO Applications 6
CONVHPGL: Developer's Guide 6
BIN2SCRN: Developer's Guide 6
BIN2ASC: Developer's Guide 6
ASC2BIN: Developer's Guide 6
AR: Developer's Guide to the Arithmetic/Logic
Interpreter 6
Developer's Guide to Interfacing Other Programs
to INTPRO and TEXTPRO 7
DISTRIBUTING INTPRO AND TEXTPRO
APPLICATIONS ..................................... 8
ERROR MESSAGES AND SOLUTIONS ............... 9
ACKNOWLEDGEMENTS ........................... 10
TECHNICAL SUPPORT ............................. 10
ORDERING INFORMATION ........................ 10
INTPRO: Interactive
Program Development
System
Dennis G. Watson, Stephen T. Eissinger*
ABSTRACT
A software development system referred to as the INTPRO system,
for INTeractive PROgram development system, was designed for
rapid development of interactive computer applications. The INT-
PRO system greatly reduces program development time by provid-
ing a standard user interface for applications. The organization of
information on the display screen is controlled by INTPRO, and the
developer determines the text and graphics to be displayed. These
are specified in an ASCII file that can be prepared with word
processing software. INTPRO uses the information in the ASCII
file to run an application by displaying questions, storing user
responses, and controlling program flow. Software developers can
specify other programs to be executed by INTPRO, with data being
passed from INTPRO to another program and back to INTPRO.
INTPRO, the development system consists of several software
development tools which are described.
INTRODUCTION
Increased availability of microcomputers for agricultural purposes
has led to development of microcomputer software for agricultural
education, research, and extension purposes. Many quality
programs of sound technical content have emerged; however, few
programs have taken advantage of the graphical display capabilities
of microcomputers. Most programs rely on textual information to
communicate with users, even though graphics can greatly enhance
information conveyance to a user.
Most problem-solving or expert system programs begin by asking
the user a series of questions to describe the problem. The software
developer often attempts to have the program use the same ques-
tions, ordering of questions, and verification of user responses as an
expert. These programs essentially attempt to parallel the process
of an expert interviewing a client to define the problem.
* Assistant Professor and Programmer/Analyst, Agricultural
Engineering Dept., Institute of Food and Agricultural Sciences,
University of Florida, Gainesville.
INTPRO: Interactive Program Development System
Visual aids are important tools of an expert for communicating
concepts and terminology to a client. Computer graphics can be
integrated into software, such as expert systems, to mimic the role
of an expert in a one-on-one interactive session with a client.
Illustrations can expedite information conveyance when a new
concept is being described to a user or when a choice involving
unfamiliar terminology is requested. Also, solutions having visual
components -- design drawings, charts, and graphs -- can be
presented to the user.
Most agricultural software developers have been deterred from
incorporating graphics into the user interfaces of their software, due
to a lack of experience in graphical programming or a lack of time.
Experience has shown that design, coding, and testing of the user
interface component of a given program can amount to approximate-
ly 80% of software development time. Obviously, agricultural
professionals would be more productive in developing software if
they did not have to allocate as many resources for user interface
development. The INTPRO system was developed to address these
needs.
Several features were considered essential, when developing INT-
PRO, as a software development system. The software developer
should be allowed to describe the contents of each screen to be
displayed. A screen should be able to display information, require
a choice, or request an alphanumeric or numeric entry. The
developer should be able to specify help information which would be
displayed upon user request. The development tool should be able
to display graphics alongside text, thus allowing a developer to
present text information with or without a graphic.
Interactive applications require user inputs. User inputs should be
checked for reasonable values and consistency with other inputs. In
addition, user inputs should be stored and made available for
calculations. Since developing one tool which meets the needs of a
wide range of applications is nearly impossible, the tool should
provide some framework for executing external programs and pass-
ing user-entered data.
Although, various commercial software products, such as computer-
aided instruction or authoring programs, are available for software
development; no product was found which met all of the criteria. A
decision was made to develop a custom software development sys-
tem. The software system and one of its major components are both
referred to as INTPRO, for INTeractive PROgram development.
The specific software program called INTPRO is referred to as a tool,
whereas all of the programs together are referred to as the INTPRO
system.
This publication provides an overview and introduction to the INT-
PRO system. Related publications describe the specific tools in-
cluded in the INTPRO system.
Requirements Hardware and Software Requirements
The interactive program development system was designed for use
on IBM PC-compatible microcomputers. Computers used for ap-
plication development will benefit from having at least 640 kilobytes
of random access memory (RAM) and an IBM-compatible color
INTPRO: Interactive Program Development System
graphics (CGA, EGA, or VGA) display adapter and monitor. A VGA
graphics system is preferred to develop applications with color
images. Computers used to run applications developed with these
software tools may require less memory, depending on the com-
plexity of the application developed.
Notation Notation
This documentation includes step-by-step instructions. At times,
you will be required to enter commands. When asked to enter a
command, an instruction similar to the following will appear in this
document.
Enter dir a:
When the word 'Enter' appears, press the keys corresponding to the
boldface characters which follow. Once all characters have been
typed, the 'Enter' key must be pressed. By pressing the 'Enter' key,
you are signaling the end of your response and instructing the
computer program to continue. In this example, the keys 'd', 'i', 'r',
'space bar', 'a', and ':' should be pressed followed by the 'Enter' key.
INTPRO: Interactive Program Development System
GETTING STARTED
The INTPRO system works best when installed on a hard disk. The
program can be run from a floppy disk, but it does not execute as
fast. An install program is included on the distribution diskettes to
copy the program files to a hard disk or floppy disk for use. INTPRO
will not run from the distribution disks. The distribution disks
serve as a back-up copy.
Installing Program Installing Program
A program to install INTPRO on floppy disks or a hard disk is
included on the distribution disks. The distribution disks cannot be
used to run INTPRO. INTPRO must be installed before use. If you
have a hard disk, it is recommended that INTPRO be installed on a
hard disk, otherwise you will not have enough room on a floppy to
hold the INTPRO tools and graphics files. If INTPRO is to be
installed on a floppy disk, have a formatted diskette ready. You may
want to format the diskette with the '/s' option to make it a bootable
disk. If you are unfamiliar with formatting disks, refer to the DOS
manual for your computer. To install INTPRO, insert distribution
disk 1 in drive A or B and make that drive the current drive. For
example, if you placed the INTPRO distribution disk in drive A,
Enter a:
To run the install program,
Enter install
The installation program will ask a series of questions about the
configuration of the computer on which INTPRO is to be installed.
Carefully read and follow the directions on each screen. Once the
installation procedure is completed, store the distribution disks in
a safe place. The programs in the INTPRO system are now ready
for use. For convenience in developing applications, it is recom-
mended that the directory on which INTPRO was installed be
included in the PATH statement. The PATH statement will allow
development of applications in a different subdirectory, yet enable
DOS to find the executable programs of INTPRO.
Starting Program Starting Program
The INTPRO system consists of several programs. The procedures
for starting, stopping, and executing each program are discussed in
the sections of documentation devoted to each program.
INTPRO: Interactive Program Development System
DESCRIPTION OF
INTPRO COMPONENTS
Documentation for the INTPRO system is provided as a group of
publications. Each publication describes, in detail, a specific tool in
the INTPRO system. This section of the documentation is divided
into subheadings, with each subheading corresponding to a publi-
cation in the INTPRO documentation series. Each of the following
sections gives an overview of the respective publication.
INTPRO: Interactive Program INTPRO System
Development System
This is the publication you are now reading. This publication serves
as an overview and introduction to the INTPRO system. Each of
the components of INTPRO is briefly described.
Guide to a Sample INTPRO and Sample Application
TEXTPRO Application
This publication is the guide to the sample application included on
the INTPRO distribution disks. The sample application
demonstrates many of the features of the INTPRO software develop-
ment system. This publication also serves as a model for user's
guides of INTPRO applications.
Guide to Developing Applications Developing Applications
with INTPRO and TEXTPRO
This publication is a guide to the development of software applica-
tions using either INTPRO or TEXTPRO. Common characteristics
and requirements of INTPRO and TEXTPRO are described. The
paradigm of the INTPRO system and the interview control file is
introduced and the commands used to describe applications are
discussed in detail.
INTPRO: Developer's Guide INTPRO
This publication focuses on the use of the INTPRO program.
Detailed instructions for starting and stopping INTPRO, with the
various command line options, are included. This publication lists
the error messages which INTPRO uses to inform developers and
users of errors. INTPRO is the program used to develop and
distribute applications which display text and graphics side-by-side.
TEXTPRO: Developer's Guide TEXTPRO
This publication focuses on the use of the TEXTPRO program.
Detailed instructions for starting and stopping TEXTPRO, with the
various command line options, are included. This publication lists
the error messages which TEXTPRO uses to inform developers and
users of errors. TEXTPRO is the program used to develop and
distribute applications for text mode display.
INTPRO: Interactive Program Development System
WINTDATA WINTDATA: Developer's Guide
This publication discusses WINTDATA, the program that produces
an indexed interview control file from the ASCII text file a developer
creates. A complete description of starting, stopping, and running
WINTDATA is included. In addition, the text and description of all
warning and error messages is included. WINTDATA is a program
that application developers will use often in the process of develop-
ing an application.
Graphics Capabilities Developer's Guide to Using Graphics in INTPRO and
TEXTPRO Applications
This publication concentrates on the capabilities of INTPRO and
TEXTPRO to display graphics, and on the various methods both
programs have available for displaying graphics. Different modes
and device types are discussed, and explanations for various un-
avoidable limitations are given. Hardware and software for produc-
ing your own images and line drawings are discussed.
CONVHPGL CONVHPGL: Developer's Guide
The process of converting and displaying output from plotters which
use the Hewlett-Packard graphics language (HPGL) is discussed in
this publication. The roles of CONVHPGL, WINTDATA, and IN-
TPRO in this process are detailed and explained.
BIN2SCRN BIN2SCRN: Developer's Guide
BIN2SCRN is a utility program for displaying binary vector
graphics files created by CONVHPGL or BIN2ASC. With
BIN2SCRN, a vector graphic can be displayed without including it
in an INTPRO application. This program is used to preview vector
graphics files.
BIN2ASC BIN2ASC: Developer's Guide
BIN2ASC is a utility program for converting binary vector graphics
files, such as those created by CONVHPGL, to ASCII. Once con-
verted to ASCII, the files can be edited with a text editor. The
companion utility ASC2BIN is used to convert the file back into
binary format, which is required for display by INTPRO.
ASC2BIN ASC2BIN: Developer's Guide
ASC2BIN is a utility program for converting ASCII vector graphics
files, such as those created by BIN2ASC, to binary. Once converted
to binary, the files can be displayed by BIN2SCRN or an INTPRO
application.
AR Interpreter AR: Developer's Guide to the Arithmetic/Logic Interpreter
The AR interpreter is discussed in depth in this publication. Com-
mands to perform calculations, display messages, control applica-
tion flow, and handle data are all discussed. An introduction to the
language is provided, along with a list of similarities to and differen-
ces from the Pascal programming language, after which it was
modeled.
INTPRO: Interactive Program Development System
Developer's Guide to Interfacing
Other Programs to INTPRO and TEXTPRO
This publication discusses in depth the various methods provided
by INTPRO and TEXTPRO for interfacing with other programs.
The three alternatives for calling external programs are discussed
in detail. The method of passing data from INTPRO or TEXTPRO
to an external program and back is explained.
Other Programs
INTPRO: Interactive Program Development System
DISTRIBUTING INTPRO
AND TEXTPRO
APPLICATIONS
The INTPRO system is a set of tools for developing software applica-
tions. Either the INTPRO or TEXTPRO program is required to run
an application. Distribution of the INTPRO and TEXTPRO
programs with an application is restricted. You are permitted to
distribute the INTPRO and TEXTPRO programs, to run an applica-
tion, within the organization that purchased the INTPRO system.
Not-for-profit organizations are allowed to distribute the INTPRO
and TEXTPRO programs outside of their organization as long as the
applications are not being distributed for profit and the following
text is included with each copy of INTPRO distributed:
Contains INTPRO, which is licensed software provided by the University of Florida,
IFAS Software Support office, Bldg. 120 Room 203, Gainesville, Florida 32611-0162
(USA), 904-392-7853. INTPRO is copyright 1987-1989 by Michigan State Univer-
sity and 1989 by University of Florida which reserve all copyright protection.
INTPRO contains licensed program materials of Metagraphics Software Corpora-
tion, Copyright 1986, 1987 Metagraphics Software Corporation, Scotts Valley, CA
95066. INTPRO is provided for the exclusive purpose of running this program.
and the following text is included with each copy of TEXTPRO
distributed:
Contains TEXTPRO, which is licensed software provided by the University of
Florida, IFAS Software Support office, Bldg. 120 Room 203, Gainesville, Florida
32611-0162 (USA), 904-392-7853. TEXTPRO is copyright 1989 by University of
Florida and Michigan State University which reserve all copyright protection.
TEXTPRO is provided for the exclusive purpose of running this program.
Any individual or organization which would like to distribute INT-
PRO or TEXTPRO, with an application, for profit must obtain
written permission to do so. Such permission must be requested
from the IFAS Software Support office, University of Florida, Bldg.
120 Room 203, Gainesville, FL 32611-0162.
INTPRO: Interactive Program Development System
ERROR MESSAGES
AND SOLUTIONS
The programs included with the INTPRO system have various
built-in error messages. The text of each message, a description,
and potential solution is described in the publication dedicated to
each program.
INTPRO: Interactive Program Development System
ACKNOWLEDGEMENTS
The authors would like to express their appreciation to the W.K.
Kellogg Foundation of Battle Creek, Michigan, for providing partial
support for the initial development of this interactive program
development system. D.R. Kightlinger, formerly of Michigan State
University, was instrumental in preparing the original version of
documentation for INTPRO.
Several people were very involved in the original development of
INTPRO at Michigan State University. Gary A. Peterson and Roger
C. Brook were key participants of the software design team. Arun
Nanda managed the software development process for a period of
time in addition to adding features to the INTPRO system. Todd
Fisher developed and implemented the algorithm for the arith-
metic/logic interpreter.
TECHNICAL SUPPORT
Should you need assistance in using the INTPRO system, please
contact the IFAS Software Support office by phone at (904) 392-7853
or mail at:
IFAS Software Support
University of Florida
0162 IFAS
Gainesville, FL 32611-0162
ORDERING
INFORMATION
IFAS experts have developed this program and many others for
Florida's agricultural-related industries. If you would like to order
a program or request a free catalog, phone (904) 392-7853 or write:
IFAS Software Support
University of Florida
0162 IFAS
Gainesville, FL 32611-0162
INTPRO: Interactive Program Development System
Cirewt!931
G to a Samp INTPRO arld
TEXTPRO Application
Dennis G. Watson, Stephen T. Elesinger
Florida Cooperative xnln Servloe/Ansitute of *osMand AgrloultuMr*enees
Univem% of PForiMda /J T. W eSt l Owean
May 1991
114~~'
It'
'1
C..
~ :1
~,t4. 4S4t~
~
r~'
F -, ~Lj. F
.W-'F F
',1~' A~.
* 'a
y'ce'. )V'w..I
F' .'.'
F' F -. *'~-p~ '4m
X~ ly"
Mt '-1
NflEL I4Fj *11
iF' r41'
C I'
r'9'
-'I
'F
I-i
F,
3.
'Sc","
I It
3 -iA EFin q.xFj,
".''', ,,: .
* *"'*.n, ; '... ....
' 41- = ..+ "]. ;.-"; '!.: ,
4 "* .
-1-A
.1
C. *'
~ -' 4
-- .
- '~.
*. I'F'
.t3 -'1
ML- 'C' .rtw.'
- F $ .&1 ~
FL
t 3i'~F'~
.9,.'-
*Iw
K~4k~i Lv' '.p# *%F
*
* C
I
o "og.ea se.el't4' '
,iB' t. .e.*a :
S" ,* ,': "'
pFa ,,. *,' Ft..
_~ ~ ~ A 40 ,64. .. +-
i
'F
F A'
I- ~'1 -
* *a-* "
.9 --
airnc
trF#w
'I.
F',Ft1
~tt
F.,.
-d
i"--' ;'
TABLE OF CONTENTS
ABSTRACT............................................ 1
INTRODUCTION...................................... 1
Hardware and Software Requirements 2
Notation 2
Screen Representation 3
INTRODUCTION TO USER INTERFACE ............... 4
Windows 4
Key Commands 5
GETTING STARTED ................................... 6
Starting Program 6
Stopping Program 7
SAMPLE RUN ........................................ 8
Information Screens 8
Alphanumeric Screens 11
Numeric Screens 13
Choice Screens 15
External Programs 17
Graphics Capabilities 18
Suggestions 20
ERROR MESSAGES AND SOLUTIONS ................ 21
User Interface Error Messages 21
Input Error Messages 22
Developer Error Messages 22
TECHNICAL SUPPORT ............................... 23
ORDERING INFORMATION .......................... 23
Guide to a Sample
INTPRO and
TEXTPRO Application
Dennis G. Watson, Stephen T. Eissinger*
ABSTRACT
This program was developed as a sample application for the INT-
PRO development system. The two main programs in the INTPRO
system are INTPRO, which runs in graphics mode, and TEXTPRO,
which runs in text mode. Both INTPRO and TEXTPRO were
developed to enhance the program development process. Both pro-
grams provide a common user interface. A developer writes an
interview control file, which contains instructions for INTPRO or
TEXTPRO. This publication describes the user interface and use of
a sample application developed for both INTPRO and TEXTPRO.
INTRODUCTION
An INTeractive PROgram development system (INTPRO system)
was designed for rapid development of interactive computer appli-
cations. The system greatly reduces program development time by
providing a standard user interface for applications. The organiza-
tion of information on the display screen is controlled by the INT-
PRO or TEXTPRO program, and a developer determines the text
and graphics to be displayed. The publication describes a sample
application which was developed with the tools in the INTPRO
system.
The text and graphics included in this application were described
by writing an ASCII file of instructions for use with INTPRO or
TEXTPRO. The ASCII file of instructions is called the interview
control file. The interview control file can be prepared with word
processing software or a text editor.
This interview control file (SAMPLE.INT) consists of commands
which INTPRO and TEXTPRO interpret to execute an application.
There are several commands available to a developer and this
sample application demonstrates the use of most of them. For an
application developer, the best use of this sample application is to
first run it and see how one interacts with it as a user. Second, print
* Assistant Professor and Programmer/Analyst, Agricultural
Engineering Dept., Institute of Food and Agricultural Sciences,
University of Florida, Gainesville.
Guide to a Sample INTPRO and TEXTPRO Ap cation
the file SAMPLE.INT so a printed copy of the file will be available
for study as the application is executed a second time. A supporting
publication, Guide to Developing Applications with INTPRO and
TEXTPRO, provides detailed information on the format and content
of an interview control file. Through reading the publications which
document the INTPRO system and studying this sample applica-
tion, a developer will be ready to begin development of their own
application.
Requirements Hardware and Software Requirements
This sample application was designed for use on IBM PC-compatible
microcomputers with IBM or Microsoft DOS (disk operating system)
version 3.0 or higher. A computer with a CGA or EGA graphics
system is required to view the graphics.
Notation Notation
This documentation includes step-by-step instructions and ex-
amples of using this sample application. At times, you will be
required to enter commands and make choices. When asked to enter
a command, an instruction similar to the following will appear in
this document.
Enter dir a:
When the word 'Enter' appears, press the keys corresponding to the
boldface characters which follow. Once all characters have been
typed, the 'Enter' key must be pressed. By pressing the 'Enter' key,
you are signaling the end of your response and instructing the
computer program to continue. In this example, the keys 'd', 'i', 'r',
'Space bar', 'a', and ':' should be pressed followed by the 'Enter' key.
You will also be asked to make choices from a menu. For example,
the following instruction may appear.
Select hard disk
This instruction indicates that the menu item 'hard disk' should be
selected. A menu item is selected by using the up and down arrow
keys to move the highlight bar until the desired choice is highlighted
and pressing the 'Enter' key. The up and down arrow keys are the
cursor control keys located on the right side of your keyboard. On
some keyboards, they serve a dual purpose as keys on the numeric
keypad. On other keyboards, they are located separately.
Besides pressing an arrow key to move the highlight bar, the space
bar can also be pressed to move the highlight bar to the next menu
item. A third way to move the highlight bar is to press a key
corresponding to the first letter of a menu item. This action will
cause the highlight bar to move to the first menu item which has its
first letter matching the key which was pressed. You will be able to
identify a highlighted choice by the fact that its background and
foreground colors are opposite those of the other options.
At other times, you will be instructed to simply press a key. For
example, the following instruction may appear.
Press Space bar
Guide to a Sample INTPRO and TEXTPRO Application
The key or keys represented by the word or words in boldface, which
follow the word 'Press' should be pressed and released by the user.
In the above example, the space bar key should be pressed and
released. Another example of an instruction to press a key is:
Press ALT-F10
This instruction requires that the user press two keys at the same
time. The proper technique to press two keys is to press and hold
the first key (ALT in this case), press the second key (F10) and
release both keys. This key sequence is used to exit the INTPRO
and TEXTPRO programs.
Screen Representation Screen Representation
Throughout this documentation, representations of the display
screen are included. Two types of representation are used. One is
a figure of the entire screen (Fig. 1).
Select the post spacing of the
storage structure or . I'I'IT
self supporting saIl:
2 feet
4 feet
6 feet
8 feet
K4-~
POST SPACING
Prs F1frhl ihti Ie
Prs 2 rh I pw hkycma
Fig. 1 Sample screen from an INTPRO application.
The second method of representing the computer screen is by
showing a part of the screen. In this case, the text to which your
attention should be directed will be enclosed in a gray box, as the
example below.
Press a key to continue.
Guide to a Sample INTPRO and TEXTPRO Application
INTRODUCTION TO THE
USER INTERFACE
A user interface has been developed for this program, which divides
the display screen into windows or sections, with each window
having a consistent purpose throughout the program. The windows
are: title, interaction, message, help, and graphics.
Windows
The title window is in the upper-left corner (Figure 2). The title of
each screen is displayed in this window as black text on a white
background (color descriptions are for color monitors only).
Fig. 2 Screen layout of INTPRO applications.
The interaction (or text) window is located directly below the title
window and is used to convey information to the user and to ask
questions. The interaction window is also used to enter responses
and make choices. The interaction window uses white text on a blue
background. Highlighted choices and user input boxes will be
displayed with blue text on a white background.
Just below the interaction window is a message window. The
message window does not appear on every screen, but only when a
special instruction needs to be conveyed to the user. The message
window uses red text on a white background.
The help window appears at the bottom-left corner of the display.
This window normally contains two lines which remind the user of
available help. The Fl function key is used to provide help which
is specific to the screen being displayed. The F2 function key is used
Guide to a Sample INTPRO and TEXTPRO Application
Windows
INTEJACTIDO
to display information about the special keys which are used by the
program. At any time in using the program, you can press one of
these keys for help information.
The entire right-half of the display screen is the graphics window.
This window is used by INTPRO to display illustrations to enhance
the text information conveyed to the user.
Key Commands Key Commands
Certain keys on the computer keyboard are recognized by INTPRO
and TEXTPRO for specific purposes as listed in Table 1. Whenever
you press one of these keys, the program will respond as indicated
in the table.
Table 1. List of special keys and program responses.
Key Program Response
Fl Help information for the current screen
F2 Help information for special keys
F9 Restart the program from the beginning
Alt-F10 Exit the program
PgUp Go back to the previous screen
PgDn Continue to the next screen
The PgUp and PgDn keys are very useful as they allow the user to
move forward and backward through the program. The Enter key
is used for two purposes. One purpose is to signal the end of the
entry of an alphanumeric or numeric entry. The other purpose is to
select or deselect a choice in a menu.
The backspace key, often represented (on the keyboard) as an arrow
pointing to the left, can be used to 'back over' characters which have
been typed--to correct errors. The backspace key moves the cursor
one character to the left and erases the character in that space.
Guide to a Sample INTPRO and TEXTPRO Application
GETTING STARTED
The first publication in this series of documentation on the INTPRO
system, INTPRO: Interactive Program Development System,
describes the installation procedure for the programs included in
the INTPRO system. Use this procedure to insure that the
programs are correctly installed.
Starting Program Starting Program
The procedure for starting the sample application includes changing
to the disk and directory to which the INTPRO system was installed
and running the proper batch file. This publication describes the
use of a sample program with both INTPRO and TEXTPRO. The
batch file, ISAMPLE.BAT, was prepared to start the sample ap-
plication running with INTPRO. Another batch file,
TSAMPLE.BAT, starts the sample application with TEXTPRO.
Application developers may find it convenient to provide batch files
for users to run applications. Both programs are very similar.
Change to the disk drive and directory to which the INTPRO system
was installed. Start the INTPRO sample application, with the
following command:
Enter sample
After a slight delay, to load the program, the sample application will
start. The first screen to be displayed is the INTPRO banner screen,
Fig. 3. The INTPRO banner screen disappears within 3 seconds and
the sample application starts with the title screen.
Version 2.0
Contact:
Copyright Dennis G. Watson or Steve Eissinger
Michigan State Univ., 1987, 1988 IFAS Softuare Support
University of Florida, 1989 Building 120, RooM 263
All rights reserved. University of Florida
Gainesville. Florida 3Z611
(984) 392-7853
Fig. 3 Banner screen of INTPRO.
Guide to a Sample INTPRO and TEXTPRO Application
The sample application can also be started to run with TEXTPRO.
To start the sample application with TEXTPRO, use the following
command:
Enter tsample
After starting the sample application under TEXTPRO, the
TEXTPRO banner screen will be displayed, Fig. 4. Again, the
banner screen is displayed for about 3 seconds and the title screen
is displayed.
TEXTPRO
Version 2.0
Contact:
Copyrigkt
University of Florida,
Hichigam State University, 1989
All rights reserved.
lenais G. Watson or Steve Eissinger
IFAS Software Support
lilldiag 120, Room 283
University of Florida
Galvesville, Florida 32611
(194) 39Z-7853
I'
Fig. 4 Banner screen of TEXTPRO.
Stopping Program
There are three ways to stop the sample application. One way is to
run the program to its conclusion, at which it will stop execution and
return to DOS. Another method to stop the program at any time is
to use the following key command:
Press ALT-F10
The third method is to
Press Esc
Either the Alt-F10 keystroke combination or Escape allows a user
to exit the program from any screen.
Stopping Program
Guide to a Sample INTPRO and TEXTPRO App *cation
SAMPLE RUN
This section describes a step-by-step use of the sample application
and some of the features of INTPRO and TEXTPRO which are used
with each display screen. For convenience in presentation, the
INTPRO version of the sample application will be presented in
detail. Only the unique features of TEXTPRO will be discussed.
Before using the sample program, install the INTPRO system and
start the INTPRO application of the sample program as described
in the prior section. After the banner screen is displayed and
disappears, the title screen of the application will be displayed, Fig.
5.
Fig. 5 Title screen of the sample application.
Information Screens Information Screens
The title screen is an 'information screen' in the terminology of the
INTPRO system. An information screen is used to display text or
graphics to a user and does not require a user to interact, except to
indicate when to continue to the next screen. All information
screens have a message displayed in the message window, instruct-
ing the user to press a key to continue the application, as follows:
Press. a key to continue.
Guide to a Sample INTPRO and TEXTPRO Application
Version 1.9
August 1999
Cop~gight 1999
Institute of Food and Agpic. Sciences
University of Florida
All lights Reserve
The most convenient keys to press to continue the application are
the space bar or the PgDn key. The PgDn key is used throughout
INTPRO applications to continue to the next screen.
Press Space bar
to display the screen of general instructions (Fig. 6).
IPlease note the two lines at the
hotton of the screen. These two lines
of help infoHmtion are visible at all
times.
Press the Fl keg, a staple help screen
will ke displayed.
Press the F2 keg, a list of special
keg commands vill be displayed.
The FI and F2 kegs can le pressed at
ang tine.
Prs a ke ocnint
Prs F1frh i thti cea
Prs F2 frhlw ithkycma
F 1
help with this
screen
F2
help vith key
comnands
Fig. 6 'General instructions' screen.
The 'General instructions' screen is also an information screen. It
differs from the title screen in that is has a graphic displayed on the
right-hand side of the screen. TEXTPRO differs in that it runs in a
text mode and cannot display text and graphics at the same time.
Instead, TEXTPRO will display a message to press the F6 function
key to see an image, as follows:
Press 16 to see mage.
Upon pressing the F6 key, the image will be displayed and by
pressing another key, the 'General instructions' screen will be
displayed again.
As described in the 'General instructions' screen, there are two types
of help. By pressing the F1 key, help information with the current
screen will be displayed.
Press F1
The 'Help for general instructions' screen is displayed, Fig. 7.
Guide to a Sample INTPRO and TEXTPRO Application
This is a sale help screen.
If you ppess the 71 key when a
question is displayed on a screen, a
help seen like this will contain
information ahout the question.
Press ~ a e oCnine
help with this
screen
F2
help with key
conands
Fig. 7 'Help for General instructions' screen.
Some screens do not have help information. If the Fl key is pressed
from a screen which does not have help information, the following
message will appear in the message window.
Sorry, no help is available. for
this screen.
Press Space bar
and the help screen will disappear and the 'General instructions'
screen will be displayed again. The second type of help screen is
help with special key commands.
Press F2
to display the 'Help with key commands' screen, Fig. 8.
Guide to a Sample INTPRO and TEXTPRO Application
lCey Function
---e-eme----e----e-e------e-----e-m-------
Fl Help with cureMnt scmen
F2 Help with key commands
PgUp Back up to previous screen
PgDn Continue to next screen
Fl Restart fro beginning
Alt-Flo Quit program
Use the Up and hDo aMro kegs to change position of the highlight box.
The 'Inter' kem is used to:
1) select or deselect a choice response
2) end an alphanumpic or nuNepic response.
Fig. *8 Screen to help with key commands.
Note that the PgDn key will cause the program to continue to the
next screen. To redisplay the 'General instructions' screen,
Press PgDn
and to continue to the next screen,
Press PgDn
Alphanumeric Screens Alphanumeric Screens
The 'User information' screen is an alphanumeric screen, Fig. 9.
Alphanumeric screens allow a user to enter text, but do not have
any type of automatic range checking or validating of user entries.
Guide to a Sample INTPRO and TEXTPRO Application
Please entep the following
information about yourself:
Fig. 9 'User information' screen.
Enter the name and address information requested on this screen.
For example, to enter information about John Doe, use the following
commands.
Enter John Doe
Enter 2100 Route 13
Enter Hometown
Enter Florida
Upon pressing the enter key after typing 'Florida' the next screen
will be displayed, which is an information screen. If the above
information about John Doe was entered, then the screen will look
like Fig. 10. Otherwise the screen will reflect the information which
was entered on the 'User information' screen.
Guide to a Sample INTPRO and TEXTPRO Application
adess
alNrSS
state
Hi, John be,.
I didn't know ou vee from Honetomi, Florida.
If information vas not entered on the prior screen, the alove lines vill
look rather strange. If gou didn't enter a nwa, city, and state, you can
press the PgUp key no to go hack to the previous screen to do so.
11 the wag, vhen using the HP co and, the entire vidth of the screen is
available for text. Another feature to note is a command screen as the next
screen fop this application.
Fig. 10 'Display of User information' screen.
The 'Display of User information' screen differs from the previous
information screens, in that the interaction or text window extends
across the screen. A NP (no picture) command was used in the
SAMPLE.INT file to increase the width of the interaction window.
To experiment with INTPRO's capabilities of using user responses
in sentences, press the PgUp key to return to the 'User information'
screen and change some of the answers and then press PgDn to have
the 'Display of User information' screen redisplayed. INTPRO
allows a user to go backward in an application to review information
or change responses. To continue to the next screen,
Press PgDn
Numeric Screens Numeric Screens
The 'Home size' screen is an example of a numeric screen, Fig. 11.
Numeric screens are used to enter numbers only. An application
developer has an option of providing a default value for each prompt,
which is initially displayed as the user response. For future refer-
ence by a user, the default value is also displayed with square
brackets.
Guide to a Sample INTPRO and TEXTPRO Application
vidth
tep th length and Viath
length, ft [691
Home Sueet n.:
Hone ,... g
Fig. 11 'Home size' screen.
In response to the prompts for length and width, use the following
instructions:
Enter 50
Enter 60
The sample application includes a consistency check to insure that
the user does not enter a width which is greater than the length. A
message about the inconsistency is displayed in the message win-
dow as follows:
You are not allowed to enter a width
that is greater than the length.
Press a key to continue.
Acknowledge the message as follows:
Press Space bar
This time, enter a length value of 220.
Enter 220
An application developer can also specify minimum and maximum
values for a numeric input. The value of 220 is considered too large
and the following message is displayed:
Guide to a Sample INTPRO and TEXTPRO Application
Your ,.eponse of 220 in not within
the acceptable range of 1 to 200.
Press Space bar
to cause the message to disappear and change the responses to be
reasonable values. After entering the width or pressing PgDn, an
information screen will be displayed which includes the results of a
calculation with the previously entered length and width values,
Fig. 12.
Based on the dimensions gou provided,
gouer heo is IMl sq.ft. in size.
It gou would like a bigger hoN, siNplg
press the PgUp keg to back up to the
prior screen and change the length and
uilth values for gour hone.
Fig. 12 'Home square footage' screen.
The SAMPLE.INT file contains the screen definition for this screen
under the ID label of 'NUM170'. The AR (arithmetic/logic) com-
mands to perform the calculation were specified on the same screen
that requested the length and width values. The results of the
square footage calculation were stored in a separate variable.
Press PgDn
to continue to the 'Musical survey' screen.
Choice Screens Choice Screens
The 'Musical survey' screen is a choice screen, Fig. 13. Choice
screens can allow only one choice or several choices. This screen
will allow a user to select up to four options.
Guide to a Sample INTPRO and TEXTPRO Application
Select each of the following tg es
of music you heal in an average
Fig. 13 'Music survey' screen.
Options are chosen by using the up and down arrow keys or the first
letter of a prompt to move the highlight bar to the desired prompt.
Once the desired prompt is highlighted, it is selected by pressing the
Enter key. After the Enter key is pressed, an asterisk appears to
the left of the prompt. To undo a selection, it must first be high-
lighted and then the Enter key can be pressed again to cause the
asterisk to disappear. To select classical,
Press Enter
To select rock,
Press r
Press Enter
By pressing 'r', the highlight bar moved to the first option which
started with 'r'. To undo the selection of rock,
Press Enter
and the asterisk will disappear. Continue by selecting any options
and then
Press PgDn
to advance to the next screen.he e 'Fan type' screen is a choice
screen which only allows one choice from the list provided, Fig. 14.
Guide to a Sample INTPRO and TEXTPRO Application
Select tke type of fan you prefer
(see lou the picture changes itf ou
highlight a different option): 7 7a..
air
Fig. 14 'Fan type' screen.
For this screen a different graphic is available for each option.
Press Down Arrow
to highlight the centrifugal option and note that the graphic
changes. Since TEXTPRO does not allow text and graphics to be
displayed at the same time, the F6 key is used to view the graphics.
Select one of the options by highlighting it and pressing the Enter
key to advance to the next screen.
External Programs External Programs
The next screen, 'External programs' demonstrates the use of the
XB (execute before) and XA (execute after) commands, Fig. 15. As
soon as the screen is displayed, but before a user can interact with
it, an external program runs which 'beeps' 3 times.
Guide to a Sample INTPRO and TEXTPRO Application
Fig. 15 'External programs' screen.
The XB command is used to run an external program immediately
after a screen is displayed, but before a user can interact. This
command is useful for interfacing audio or video segments to an
application. After pressing a key to continue, another external
program will be demonstrated. This program uses the XA command
to execute a program after a user finishes interaction with a screen.
Press PgDn
and the external program which displays the following lines on a
screen is executed.
I am an external program.
The IT] changed to text mode for me.
By the way: the three beeps were from another
external program.
Press a key to continue.
Press PgDn
to return to an INTPRO screen.
Graphics Capabilities Graphics Capabilities
The screen, 'Full Screen Images' demonstrates the use of full-screen
images with INTPRO, Fig. 16. Since a full-screen image does not
leave room for text, INTPRO displays the text and the image is
displayed when the user presses the F6 key.
Guide to a Sample INTPRO and TEXTPRO Application
Dil you gear the keeps? That os a
demonstration of the B (execute
Iefoot) comand.
As gou press a keg to go to the next
scmen, the XA (execute after) feature
Villa ke deMnstated by running an
external program.
ANe vou thinking about coNputer images? It so, just pass F6. The sane
imge vill com up after you exit this screen, except that this tim it
uill he CGA no matter Nhat node You're running ii.
Fig. 16 'Full Screen Images' screen.
To see the image,
Press F6
and the full-screen image of a computer and person will be dis-
played, Fig. 17.
Fig. 17 Full-screen graphic depicting computer and man.
Guide to a Sample INTPRO and TEXTPRO Application
0
To return to the 'Full Screen Images' screen,
Press Space bar
and continue to the next screen with the following step:
Press Space bar
The next screen is also a full screen image. The difference is that
this screen does not have any text associated with it. Continue to
the next screen, as follows:
Press PgDn
Both the space bar and the PgDn key (as well as others) can be
interchanged to instruct the program to continue to the next screen.
Suggestions Suggestions
This sample application demonstrates many of the capabilities of
the INTPRO and TEXTPRO programs described in the INTPRO
documentation series. Using this application is a start, follow up by
examining the SAMPLE.INT, interview control file, and the Guide
to Developing Applications with INTPRO and TEXTPRO publica-
tion to learn how the commands in the interview control file are used
to control the display of information on the screen. The best way to
learn is to copy the SAMPLE.INT to another file and experiment by
making changes to the new file and running it with INTPRO and
TEXTPRO. Complete the sample application by continuing to the
next screen, which displays the results of the musical survey, Fig.
18. By pressing a key, the sample application will stop and a DOS
prompt will be displayed.
Fig. 18 Final screen of the sample application.
Guide to a Sample INTPRO and TEXTPRO Application
I almst forgot, the results of
the musical survey ae:
Listened to?
Iksic Type ges/no
classical yes
gospel yes
country no
rock no
------ -- ------- e- -- --
ERROR MESSAGES
AND SOLUTIONS
This sample application using INTPRO and TEXTPRO has several
built-in error messages. The messages are divided into three cate-
gories: user interface error messages, input error messages, and
developer error messages. The error messages are arranged alpha-
betically, within each category. In each category, each error mes-
sage is displayed in a gray box followed by a solution.
User Interface Error Messages
User interface error messages indicate that a key has been pressed
in an attempt to perform an operation which cannot be performed
from the presently displayed screen.
Message
Sorry, no further help available for
key comands.
Solution
User Interface Messages
The F2 key was pressed for help with key commands, then the F1
or F2 key was pressed. Since the program has no more to say on
that subject, this message appears. To exit the screen, press the
space bar.
Message
Sorry, no help is available for
this screen.
Solution
The F1 was pressed for help information, but no help is available
for this screen. The question or information presented should be
self-explanatory or discussed in the documentation.
Message
Sorry, no screen to back up to.
Guide to a Sample INTPRO and TEXTPRO Application
Solution
The PgUp key was pressed from the first screen of the program or
the program does not remember the previous screen. The program
only remembers the 40 to 50 most recent screens for backing up.
Input Error Messages
Input Error Messages
Input error messages indicate a problem in the responses a user has
entered. The sample application performs a range check and a
consistency check. Range checks are performed on numeric inputs
to verify that they are within reasonable limits. A consistency check
is used to verify that data items entered by a user are consistent
with previously entered data items. Following are the input error
messages.
Message
Your zeaponse of xx is not within
the acceptable range of x to xx.
Solution
The value entered in response to the numeric prompt was not within
the limits set by the developer. The limits are displayed in the text
of the message. The value must be reentered.
Message
.............................:
You are not allowed to enter a width
that is greater than the length.
Press a key to continue.
Solution
This message will appear on the 'Home size' screen if the width is
greater than the length. The sample application requires that the
width be less than the length. If this message occurs, check the
values that have been entered and if necessary, switch the width
and length values.
Developer Error Messages Developer Messages
There are several error messages which could occur if one of the
program files becomes corrupted. These error messages are used
by application developers to identify errors in the logic of the
program. Should an error message be displayed, which is not listed
previously, call the IFAS Software Support office at (904) 392-7853.
Please be prepared to provide the text of the message.
Guide to a Sample INTPRO and TEXTPRO Application
TECHNICAL SUPPORT
Should you need assistance in using this program, please contact
the IFAS Software Support office by phone at (904) 392-7853 or
write to:
IFAS Software Support
University of Florida
0162 IFAS
Gainesville, FL 32611-0162
ORDERING
INFORMATION
IFAS experts have developed this program and many others for
Florida's agricultural-related industries. If you would like to
order a program or request a free catalog, phone (904) 392-7853
or write to:
IFAS Software Support
University of Florida
0162 IFAS
Gainesville, FL 32611-0162
Guide to a Sample INTPRO and TEXTPRO Application
(This page intentionally left blank.)
arm~eso
GuiLe to Developn Applicatis
with INTPRO and TEXTPRO
DeRns G. Watson, Sephen T. Eissnger
MaylOll
. d
FlosrilaCoparativs-RE Tao,9kQGtBMent.eofewA...
Univerally ofFlorhteeler T. WeeMarke
4r.
.'o ~ 4- j~.4
'4. .- 7 7 ON
'4 .44 ~ 44e--.N
7. L
-'44. ,4. -
-' -'~-r t2-W
1
.4
444
4~
4444
~44 3 4
44
.44 443
44-4%
A4
r ....
.44} '* -
4- ...4
t;tti 'F L U ~TUrr~
4444
.4 4. 4
4~4. r
- k '4. -~k~ -I,~ n'-? j.! ~
4444 ~ j,4 4
'44 *t.~4 ~-4'4~V.:~ 444 44
~*444,*, ~ 44
444 C 4444- 447444.44 4,j, 444,~4, -
*44 44 .4 .94. ,*l.
"C .4 4 4 444
4, 4 44.44 .T 4
4 444*'.* -** 44 4
1,* '
.- 4 .
r '
,-'. ;. f ._ 3.: : . .
4)
." ., 7" ,
4 4 4 4 4. 4 4 4 4 4 4
I .44 4 4 4. 44 .444 4 4.~ 4. .4
4'4'7 17, ~4~.-1 4 .4. 4.
.44.444.444 .Wuir.i4'.~ ~ ... *t'*r~t4~-- .4$747eJ,
4. 2.P.
44 *4..L~ .1.4. ~ Q~ ~. -~~*'.:; *, 4~44
.4- 4 4 44
'V ~ I ... ~44
I ,-~' -
44 4 4 .4
4 44 4~44
.4444- S 4 r
'~1'**~ 4- 4 -$.i ri. *i
4 -L 4 44,44. K
4 7.44 444 .~ 4~0
~* ~, I ~ -t 2
; :', '. .
'. .T 1 ,
* 4.4.4 4,. 4444444
~ --v--.
.4 4 '
4. 944444
-4'.
4444~
4q44
44 -
4 441 4 *~-~ I 441 ~4. r-
.4 a.4.. 4 w.
4 444.44 j
4 .~ 4 4 4~4 .4~
444.444 4j
r4,- a
t #1 ?
v k-k-.'
444 .-44*4 .a4' .4'.444 44
V t-F-Jr~'I~fl
4 74
4 .4ii ,..
4 ,~4,4 4
14
1-
#4:?. ,~
44~~~~ 4 .~ 44449 ~
4,244 1 4<. t6~4~
4 4 444.4'~
4~4
$f~ 4.9
...4. *44444
'-4 'ic:.' ~w
74 '4 44. 4
141
S ,tAt
TABLE OF CONTENTS
ABSTRACT............................................ 1
INTRODUCTION...................................... 1
Hardware and Software Requirements 2
Screen Representation 2
Introduction to the User Interface ....................... 4
Windows 4
Key Commands 5
GETTING STARTED .................................. 6
SCREEN TYPES ....................................... 7
Information Screen 7
Choice Screen 8
Alphanumeric Screen 10
Numeric Screen 11
Message Screen 12
Command Screen 13
HELP FACILITY ..................................... 15
INTERVIEW CONTROL FILE ......................... 16
FLOW CONTROL .................................... 17
DISPLAYING TEXT .................................. 21
DEFINING VARIABLES .............................. 24
OTHER COMMANDS ................................ 26
SUMMARY OF COMMANDS ........................ 27
SAMPLE RUN ....................................... 28
ERROR MESSAGES AND SOLUTIONS ............... 29
ACKNOWLEDGEMENTS ............................ 30
TECHNICAL SUPPORT .............................. 30
ORDERING INFORMATION ......................... 30
Guide to Developing
Applications with
INTPRO and TEXTPRO
Dennis G. Watson, Stephen T. Eissinger*
ABSTRACT
INTPRO and TEXTPRO are the main programs which comprise the
interactive program development system (INTPRO system). IN-
TPRO and TEXTPRO are application development tools which
allow a program developer to prepare an application without coding
in a computer language. An application is described as a set of
screens displayed on the computer. The description of an applica-
tion is written in an ASCII file, called an interview control file, which
is the input for INTPRO or TEXTPRO. An application is executed
based on the information contained in the interview control file.
User interface features are handled automatically by INTPRO and
TEXTPRO. This publication describes the types of screens which
can be displayed with INTPRO and TEXTPRO and the commands
available to a developer in preparing an interview control file.
INTRODUCTION
An interactive program development system (INTPRO system) was
designed for rapid development of interactive computer applica-
tions. The system greatly reduces program development time by
providing a standard user interface for applications. The organiza-
tion of information on the display screen is controlled by the IN-
TPRO or TEXTPRO program, and a developer determines the text
and graphics to be displayed.
An application developer specifies the text and graphics to be
included in an application by writing an ASCII file of instructions
for use with INTPRO or TEXTPRO. The ASCII file of instructions
is called the interview control file. The interview control file can be
prepared with word processing software.
The interview control file consists of commands which INTPRO and
TEXTPRO interpret to execute an application. There are several
commands available to a developer. With the INTPRO system, the
* Assistant Professor and Programmer/Analyst, Agricultural
Engineering Dept., Institute of Food and Agricultural Sciences,
University of Florida, Gainesville.
Guide to Developing Application with INTPRO and TEXTPRO
term 'screen' is used to represent the information that a user sees
on the video display screen at one time. An application consists of
a series of screens with which a user interacts. With the INTPRO
system, six types of screens are defined for use by developers. The
screen type determines the manner in which a user will interact
with the application. In this publication, the screen types and the
commands to specify the text to be displayed on a screen are
discussed. Most of the features described in this publication are
common to both INTPRO and TEXTPRO. Any reference to a feature
of INTPRO can assumed to also be a feature of TEXTPRO, unless
stated otherwise. Additional features of displaying graphics, exe-
cuting external programs, and using the arithmetic/logic interpreter
are described, in detail, in other publications in the INTPRO docu-
mentation series.
Requirements Hardware and Software Requirements
INTPRO was designed for use on IBM PC-compatible microcomput-
ers with IBM or Microsoft DOS (disk operating system) version 3.0
or higher. Computers used for application development will benefit
from having at least 640 kilobytes of random access memory (RAM)
and an IBM-compatible color graphics (CGA, EGA, or VGA) display
adaptor and monitor. A VGA graphics system is preferred to de-
velop applications with color images. Computers used to run appli-
cations developed with INTPRO may require less memory,
depending on the complexity of the application developed.
Screen Representation Screen Representation
Throughout this documentation, representations of the display
screen are included. Two types of representation are used. One is
a figure of the entire screen, such as Fig. 1.
Select the post spacing of the
storage structure or FI...........
self supporting ail: II TIIIIII II;
2 feet
4 feet
6 feet
8 feet
s1 POST SPACING
Fig. 1 Sample screen from an INTPRO application.
Guide to Developing Application with INTPRO and TEXTPRO
The second method of representing the computer screen is by
showing a part of the screen. In this case, the text to which
attention should be directed will be enclosed in a gray box, as the
example below.
Press a key to continue.
Guide to Developing Application with INTPRO and TEXTPRO
INTRODUCTION TO THE
USER INTERFACE
A user interface has been developed for all INTPRO applications
which divides the display screen into windows or sections, with each
window having a consistent purpose throughout the program. The
windows are: title, interaction, message, help, and output.
Windows Windows
In Fig. 2 the title window is in the upper-left corner. The title of
each screen is displayed in this window as black text on a white
background (color descriptions are for color monitors only).
SII
IHTEIACTION
UINDDU
Fig. 2 Screen layout of INTPRO and TEXTPRO applications.
The interaction window is located directly below the title window
and is used to convey information to the user and to ask questions.
The interaction window is also used to enter responses and make
choices. The interaction window uses white text on a blue back-
ground. Highlighted choices and user input boxes are displayed
with blue text on a white background.
Just below the interaction window is a message window. The
message window does not appear on every screen, but only when a
special instruction needs to be conveyed to the user. The message
window uses red text on a white background.
The help window appears at the bottom-left comer of the display.
This window normally contains two lines which remind the user of
available help. The F1 function key is used to provide help which
is specific to the screen being displayed. The F2 function key is used
Guide to Developing Application with INTPRO and TEXTPRO
to display information about the special keys which are used by the
program. At any time in using the program, you can press one of
these keys for help information.
The entire right-half of the display screen is the graphics window.
This window is used by developers to display graphics which explain
or otherwise augment the text. A developer can override the graph-
ics window and display text, if needed.
Key Commands Key Commands
Certain keys on the computer keyboard are recognized by INTPRO
applications for specific purposes as listed in Table 1. Whenever you
press one of these keys, the program will respond as indicated in the
table. The PgUp and PgDn keys are very useful as they allow the
user to move forward and backward through the program.
Table 1. List of special keys and program responses.
Key Program Response
F1 Help information for the current screen
F2 Help information for special keys
F9 Restart the program from the beginning
Alt-FlO Exit the program
PgUp Go back to the previous screen
PgDn Continue to the next screen
The Enter key is used for two purposes. One purpose is to signal
the end of the entry of an alphanumeric or numeric entry. The other
purpose is to select or deselect a choice in a menu.
The backspace key, often represented (on the keyboard) as an arrow
pointing to the left, can be used to 'back over' characters which have
been typed, to correct errors. The backspace key moves the cursor
one character to the left and erases the character in that space.
Guide to Developing Application with INTPRO and TEXTPRO
GETTING STARTED
The first publication in this series of documentation on the INTPRO
system, INTPRO: Interactive Program Development System, de-
scribes the installation procedure for the programs included in the
INTPRO system. If the INTPRO programs are used to any extent,
it is best to have them in a directory which is included in the DOS
PATH statement for the computer. When developing applications,
it is possible and often convenient to keep files associated with
different applications in different subdirectories.
Guide to Developing Application with INTPRO and TEXTPRO
SCREEN TYPES
Six types of screens are available to application developers to assist
in defining screens for their applications. These screen types are:
* information screens for displaying information that does not
require a response.
* choice screens for selecting among available options.
* alphanumeric screens for requesting alphanumeric responses.
* numeric screens for entering numeric responses.
* messages screens for display of short messages to users, using
the message window.
* command screens for declaring variables or performing com-
mands without user interaction.
By understanding the differences in these screen types, their uses,
and by studying examples, applications can be readily developed
with INTPRO. Each of the screen types, uses the screen layout
portrayed in Fig. 2. A link is made between one screen and the next
through a 'next screen' command. New terms referenced in the
following discussion of screen types will be defined in the subsequent
sections on the various commands for the interview control file.
Information Screen Information Screen
Information screens are commonly used to display introductory text,
the results of calculations, or help information. Fig. 3 is an example
of an information screen and Fig. 4 is the listing of commands in an
interview control file to display the screen in Fig. 3. With an
information screen, the user is not expected to provide any input. A
common message, 'Press a key to continue.' is displayed on all
information screens. Any key, except for specific flow control keys,
moves the application to the next screen.
AFA
F.
;. o Daumiple 1
irmation screen from an application.
Guide to Developing Application with INTPRO and TEXTPRO
ED 1NF30
rL Information about specifications
rx
1ll the products are specified in
terms of DBH (diameter at breast height)
and the Height (Height is the height
Erom the ground to the top diameter
Listed for example:
'16 ft to a 4 in top" means that the
bree has to have a diameter of at least
4 inches at a height of 16 feet.
EX
P DBH. PCX
IL IMF30H
rx CHO100
Fig. 4 Commands to display information screen in Fig. 3.
Generally, fourteen lines are available for display of text in INTPRO
and twenty lines for TEXTPRO. Extra lines in a screen definition
are ignored. In preparing an application to run under both INTPRO
and TEXTPRO, the number of text lines should be limited to
fourteen.
Choice Screen Choice Screen
Choice screens can be used by a developer to allow a user only one
choice or multiple choices from the options presented. Fig. 5 is an
example of a choice screen and Fig. 6 is the listing of commands in
an interview control file to display the screen in Fig. 5. Choice
screens can be thought of as a special type of menu. The user
interaction area is used to display a question (maximum of 3 lines)
and the possible choices (or prompts). INTPRO allows up to eight
choices, whereas, TEXTPRO allows up to sixteen. Thus, if an
application is to work with both INTPRO and TEXTPRO, no more
than eight prompts per screen should be used.
Guide to Developing Application with INTPRO and TEXTPRO
ID CH0220
PL Fan type
2Ni Select the type of fan
yN2 you prefer to use:
PR1 axial
PR2 centrifugal
Ml fantype
IP axial centfug
IL INF220H
4X CH0230
Fig. 6 Commands to display choice screen in Fig. 5.
In choice screens, where a user may choose more than one choice,
pressing the Enter key when a choice is highlighted causes an
asterisk to be placed to the left of the prompt to indicate that it is
selected. Pressing the Enter key again will deselect the choice and
cause the asterisk to disappear. The cursor keys or the first letter
of the choice can be used to move the highlight bar. When the user
is only allowed one choice, pressing the PgDn key will cause the
currently highlighted choice to be selected. However, if the user
may choose more than one, then they must select at least one choice
before pressing the PgDn key, or a message will be displayed
indicating that a choice must be selected.
The results of both the multiple and single choice screens are stored
in a single variable per screen. This variable holds the prompt
numbers, in numerical order, of all choices the user selected. The
numbers are separated by spaces if there are two or more. The
commands required in the interview control file are discussed in the
following sections of this publication.
Guide to Developing Application with INTPRO and TEXTPRO
Alphanumeric Screen
Alphanumeric Screen
Alphanumeric screens are commonly used to request a user's name
and address. Fig. 7 is an example of an alphanumeric screen and
Fig. 8 is the listing of commands in an interview control file to
display the screen in Fig. 7. INTPRO does not have provisions for
performing any type of range checking on alphanumeric screens,
without using an external program.
inter the following intomution about
t; pepsin for idioN the storage is
begin designed:
company
address
state
zip code
Fig. 7 Sample alphanumeric screen from an application.
ED ALP110
FL Client information
2N1 Enter the following
2N2 the person for whom
2N3 being designed:
PR1 name
PR2 company
PR3 address
PR4 city
PR5 state
PR6 zip code
PR7 phone
VR1 name
VR2 company
7R3 address
TR4 city
7R5 state
7R6 zip_code
7R7 phone
client
IL INF110H
CH0120
information about
the storage is
Fig. 8 Commands for alphanumeric screen in Fig. 7.
Guide to Developing Application with INTPRO and TEXTPRO
The alphanumeric screen has the same format as the choice screen,
except that the prompts are limited to ten characters in length,
leaving room for a twenty-six character alphanumeric entry. This
is true whether the text takes up half or all of the screen. In either
case, the interactive portion of the screen is limited to the left half.
Any prompt longer than ten characters is truncated at the right. As
with the choice screen, the highlight bar is moved by using the up
and down arrow keys and the Enter key. The Enter key works just
like the down arrow key except on the last prompt. On this prompt,
the Enter key moves the application to the next screen, and the down
arrow key cycles back to the first prompt.
Virtually any printable character can be entered in an alphanumeric
screen. Each prompt in an alphanumeric screen must have a unique
variable name to hold the user's response. Each variable will
contain whatever the user last typed in for the corresponding
prompt before moving to the next screen.
Numeric Screen Numeric Screen
Numeric screens are intended for entry of numeric responses only.
Fig. 9 is an example of a numeric screen and Fig. 10 is the listing of
commands in an interview control file to display the screen in Fig.
9. For numeric screens, a developer can specify default values and
reasonable minimum and maximum values for responses and IN-
TPRO will compare the user response with the reasonable values
and display a message if the user-entered value is out of the specified
range.
CI i... d V-&-t-' au u F .. i"
Guide to Developing Application with INTPRO and TEXTPRO
CD NUN705WQ
1L Combined V-Notch and Free Weir
NI Enter the following information
2N2 for the Weir
R1I Weir Crest Evel. (ft)
>R2 Crest Length (ft)
PR3 Weir Coefficient
PR4 Weir Exponent
PR5 End Contractions
PR6 Angle of V-Notch (deg)
.R7 Control Elevation (ft)
Rl weircrest 0 0 1000
WR2 crest_length 0 0 1000
7R3 weir_coef 3.13 0 1000
7R4 weir_ezp 1.5 0 1000
R5 end _contract 0 0 10
R6 notch angle 0 0 360
7R7 notchelev 0 0 1000
IP combine.pcx
IL INF200CW
IX CH0952WQ
Fig. 10 Commands for numeric screen in Fig. 9.
The numeric screen has almost exactly the same form and function
as the alphanumeric screen. The only exceptions involve the
prompts and variables. In both INTPRO and TEXTPRO, a numeric
prompt can be up to twenty-five characters long, and the user entry
can be up to six characters long. As with the alphanumeric screen,
the prompt is truncated if it is too long. If a default value is supplied,
this value appears in square brackets between the prompt and the
entry value. One other difference between the numeric screen and
other screens is range checking. If the user chooses a number
outside the minimum and maximum range specified, a message
appears, explaining the situation and the application will not move
to the next screen until the user changes the number to one within
the specified range.
Message Screen Message Screen
Although message screens are logical screens to INTPRO, they do
not have the same affect as the prior screen types. The message
screen is used to define a message which can be displayed in the
message window. In Fig. 3, the 'Press a key to continue.' line is an
example of text displayed in a message window and Fig. 11 is the
listing of commands in an interview control file to define the mes-
sage. Message screens are warning or error messages which are
specific to the application. Text defined in a message screen in the
interview control file may be pertinent to various numeric or choice
screens. Instead of filling an entire display screen, messages are
displayed in the message window, just above the two help lines on
the display screen.
Guide to Developing Application with INTPRO and TEXTPRO
P MESKEY
press a key to continue.
Fig. 11 Commands for a message screen.
A developer specifies a message to be displayed by using the 'mesg'
command of the AR interpreter. Attempting to display a message
by using a'next screen' command will result in an error. This makes
sense upon understanding the intent of the MES screen, which is to
display a message on a screen that is displayed. The message can
be about calculations in progress, a discrepancy in input values, or
just a friendly word of encouragement. If there is a need to display
a less immediate message on the next screen, an information screen
can be used.
The maximum length of a message is ten lines. Each line will be
half a screen in width, regardless of the width of the text area on
the screen.
Command Screen Command Screen
Although command screens are logical screens to INTPRO, they do
not affect the display as the prior screen types. Command screens
are used to allow variables to be declared and AR operations to be
performed without changing the appearance of the screen being
displayed. Command screen descriptions in an interview control file
consist of variable declarations and AR interpreter statements, Fig.
12.
calcresult
beginn
calc result := user value 5;
nd
Fig. 12 Commands for a command screen.
INTPRO has several features available to a developer which have
nothing to do with the screen display. AR commands, simple vari-
able declarations, and calls to executable programs are among these
features. At times, a developer will want to use these features
without tying them to another type of screen. For instance, a
variable can be declared without having the user type enter a value
for it; or a group of external programs and AR statements can be
provided which are independent of one particular display screen.
Like all of the other screen types except for the message screen, the
command screen is part of the control flow. A prior screen must
reference a command screen as the next screen, and the command
screen must in turn reference another screen or else be the final
screen of an application. A user generally does not know that a
command screen is being executed. The command screen does not
change the current display unless it calls an external program which
changes the display.
Guide to Developing Application with INTPRO and TEXTPRO
There is one other difference between the command screen and other
screen types. It is executed only when a user is progressing forward
in an application. If a user presses PgUp and backs up through a
command screen, no commands in the command screen will be
executed, until the user moves forward again.
Guide to Developing Application with INTPRO and TEXTPRO
HELP FACILITY
There are two types of help available to users of INTPRO applica-
tions: key command help and screen specific help. When a user
presses the 'F2' function key on the computer keyboard, the key
command help screen is displayed. This screen lists the function
and cursor control keys which have special commands (Table 1).
This help screen is defined by INTPRO, but can be customized by a
developer. A developer can customize the key command help screen
be defining an information screen with the ID label 'INF10'.
The screen specific help is displayed when a user presses the 'Fl'
function key. The text for this screen must be defined by the
application developer. A complete application should have a unique
help screen for every screen which requests a user response or
introduces a new term or concept. Help information for a numeric
or choice screen may require several display screens of information.
An application developer can link several choice and information
screens together to help a user with a particular screen.
Guide to Developing Application with INTPRO and TEXTPRO
INTERVIEW CONTROL
FILE
The interview control file is the interface between an application
developer and INTPRO. Neither INTPRO nor TEXTPRO can run
without one. By default, INTPRO will attempt to use an interview
control file named TEST.INX' if the name of an interview control
file is not specified on the command line.
It should be noted that the interview control file prepared by a
developer is not the same interview control file that INTPRO reads.
INTPRO uses a program called WINTDATA.EXE to convert the
interview control file into an indexed interview control file. By
indexing the interview control file, the execution time of INTPRO is
enhanced. For convenience, both types of files are referred to as an
'interview control file', since only INTPRO and TEXTPRO use the
indexed version of the interview control file. A developer never
writes an indexed interview control file, and INTPRO and
TEXTPRO never read a non-indexed interview control file.
When INTPRO uses WINTDATA to generate an indexed file, the
file created has the same base file name as the original file, but
receives a new extension of '.INX'. Developers can use any legal
DOS file name for an interview control file, except the extension
'.INX' must never be used.
An interview control file can be prepared with any word processor
or text editor that produces ASCII files. Most word processors can
output ASCII text, but care must be taken to save the files in 'text'
or 'nondocument' mode -- otherwise, the files may contain strange
control characters that INTPRO won't know how to interpret.
The format of the interview control file is straightforward. Each
screen type consists of a unique identification (ID) label followed by
a series of commands. Each command is considered a part of the
most recent screen ID label. The first two characters of each line
are the command (ID, for example). This is true of every line in the
interview control file except those which are part of a text or AR
block as described below. Lines whose first two characters (exclud-
ing spaces) do not form a command are ignored.
Guide to Developing Application with INTPRO and TEXTPRO
FLOW CONTROL
Three commands are used by INTPRO to control the flow of an
application. They are the screen identification (ID) command, the
starting screen (ST) command, the next screen (NX) command, and
the help screen (HL) command.
ID Command ID Command
The ID command defines the structure of the interview control file.
All commands which follow an ID command (before the next ID
command or end of file) are considered to be a part of the same
screen. The format of the ID command is
ID label
where label' consists of three characters which identify the screen
type, immediately followed by up to five more characters which
define a unique screen name or number. The first three characters
which declare the screen type are INF (information screen), CHO
(choice screen), ALP (alphanumeric screen), NUM (numeric screen),
MES (message screen), and CMD (command screen). The ID label
may contain any combination of letters (A to Z), digits (0 to 9), and
the underscore character '_'. INTPRO is not case specific when
reading commands. Thus, the commands 'id inf5OOh' and 'ID
Inf500H' both declare the same information screen, specifically
INF500H.
Using the proper three letters to begin the screen ID label is critical,
as INTPRO uses these to determine how to handle the rest of the
commands for the screen. Each screen type differs in what is
displayed and what is expected of the user as input. The message
and command screens have further differences, as explained pre-
viously.
ST Command ST Command
INTPRO normally begins executing an application by displaying the
information screen with the ID of'INFl'. Since INTPRO must know
where to start, the ID of'INFl' is the default. For most applications,
defining a title screen as 'INFi' will meet this requirement. If the
first screen is INFI', then the ST command is not needed.
In some instances, there may be a need to execute an external
program or display a different type of screen when an application
starts. In these cases, an ST command must be included in the
interview control file. The ST command can appear anywhere in
the interview control file, and is not considered part of any screen.
It should appear only once in the interview control file. The format
for the ST command is the same as that of the ID command: ST,
followed by a space, followed by a screen key name. The screen key
following the ST command should be one that occurs in an ID
command elsewhere in the file.
Guide to Developing Application with INTPRO and TEXTPRO
For example, to start an application with the command screen of
CMDSTART, the following line would be included in the interview
control file.
ST CMDSTART
NX Command NX Command
The NX command is INTPRO's most important flow control com-
mand. This command links all of the screens in an application
together. Every screen (except message screens) must have an NX
command, which is used to determine which screen comes next --
unless it is overridden by a 'nextscreen' command in an AR block
(the AR interpreter is described in the AR: Developer's Guide to the
Arithmetic/Logic Interpreter). The NX command joins the applica-
tion screens together, from beginning to end.
In numeric, alphanumeric, information, and command screens, the
format of the NX command is the same as the ST and ID commands
-- the command NX followed by a screen ID label. There is one
special screen ID label (END) which signifies the end of an applica-
tion. If a particular screen is intended to be the last screen of an
application, it should include the command
NX END
If, on the other hand, the next screen should be the information
screen INFINITY, the screen's NX command should read
NX INFINITY
Many choice screens will use the NX command in the same way as
other screens use them, and the effect will be the same, in that the
application will go unconditionally on to the indicated screen ID
label. Some choice screens benefit from using additional options of
the NX command. There are two other ways to use NX on choice
screens. The simpler of the two is to follow'NX' with one screen key
for every prompt in the choice screen. If a choice screen has four
choices and the following NX command is used,
NX CHOICE INFORM NUMBER ALPHABET
the application would proceed to the choice screen CHOICE if the
user selected the first choice, the information screen INFORM if the
user chose the second choice, and so on. If a fifth choice were added
to the screen without modification to the NX line, and the user chose
the fifth choice, the first screen ID label of CHOICE would be used
as the next screen ID. In general, the first screen key in an NX
command line is the default if no screen key is given to correspond
to the selected choice.
The other method available for choice screens is for choice screens
on which more than one option can be selected. The form of the
command is as follows:
NX MLT default_key [number_list [screen key] ...]
Guide to Developing Application with INTPRO and TEXTPRO
That is, the key word MLT (for multiple choices) follows the NX
command; then the default screen key -- the screen key which is
chosen if none of the subsequent ones is chosen; finally, there is an
arbitrary number of number list/screen key pairs. Each number list
consists of a series of one or more prompt numbers separated by
underscore characters. If the prompt corresponding to every num-
ber in the list has been chosen by the user, then the screen key
immediately following the number list is chosen as the next screen.
Number lists are evaluated from left to right.
For example, the following command
NX MLT CHO01234 1 2 3 CH02345 1_2 INF2468 2_4
NUM4242
will select CH02345 as the next screen if the user chose choices 1,
2, and 3. If the user chose just 1 and 2, then INF2468 will be the
next screen. If choices 2 and 4 were chosen, then the application
proceeds to NUM4242. Otherwise, the default of CH01234 is used.
As stated before, the number list/screen pairs are processed from
left to right, and ordering can make a difference. Consider, for
example, what would happen if the first two pairs were reversed in
the above example as follows:
NX MLT CHO01234 1_2 INF2468 1_2_3 CHO02345 2_4
NUM4242
Any time both choices 1 and 2 are selected, INF2468 will be the next
screen. This includes the instance where 1, 2, and 3 are selected.
Thus, switching positions has made the pair '1_2_3 CH02345'
completely useless. The general rule is to keep specific number lists
(like (1_2_3) before more general ones (like 1_2).
This method is for use only on choice screens with multiple re-
sponses. It works well for fairly simple situations without too many
conditions. If the combinations of choices and next screens become
confusing, using the next screen command of the AR interpreter is
advised.
The previously mentioned method of listing one screen ID label per
choice prompt is still legal in choice screens with multiple responses,
but the result may not be useful. INTPRO selects the next screen
based on the lowest-numbered prompt chosen. If the user chooses
prompts 2,3, and 7, INTPRO will pick the screen key corresponding
to 2. The basic NX command with just one screen ID label also works
on choice screens with multiple responses.
To sum up, the basic NX command is very simple and always
available. More advanced features are available for choice screens,
and the AR interpreter's 'NEXTSCREEN' command, described in
detail in the AR: Developer's Guide to the Arithmetic/Logic Inter-
preter publication in the INTPRO documentation series.
HL Command IHL Command
The help screen command directs INTPRO to the appropriate screen
in response to a user pressing the F1 help key. The format of this
Guide to Developing Application with INTPRO and TEXTPRO
command is very similar to the basic version of the NX command,
with one screen key. Which help screen comes up is never depen-
dent on which prompt is highlighted or chosen.
In practice, the help screen is usually just an information screen
with extra information to help the user. It can, however, consist of
numerous screens. Theoretically, one help sequence can be longer
than the main part of an application, although this would be a rare
occurrence. The information screen type is most commonly used for
help information. For example, the following command would dis-
play the INFHELP' screen if the user pressed the F1 function key.
HL INF zLP
Unless a help screen is linked to additional screens, it would use the
screen key of END with the NX command, as follows:
NX END
This signifies the end of help information for the particular screen
in which the F1 key was pressed. The NX command could also be
any valid screen key. Thus, with a little creativity, the HL command
can start the user off on a full tutorial, or a step-by-step process to
come up with a desired answer. This provides a powerful device for
developing applications for people with different levels of experi-
ence.
The HL command has no effect in a screen that is presently a help
screen. In effect, help screens cannot have help screens. Since any
screen key can be given as a help screen key, it is possible for a screen
to be part of a help sequence at one point in an application, and also
be in the main part of the application.
If the HL command is left out of a screen, or if the screen is already
a help screen, the following message is displayed:
Sorry, no help is available for
this screen
In contrast, the key help screen (displayed through the F2 key) is
always available, even from a help screen.
Guide to Developing Application with INTPRO and TEXTPRO
DISPLAYING TEXT
INTPRO has six commands to control the display of text. The
commands are: TL (title text), TX (text), EX (end of text), QN
(question text), PR (prompt text) and HT (help text).
TL Command TL Command
INTPRO reserves a two line area at the top of the display screen to
display a title for each screen. TX is the command to declare text
for the title area. The format of the TL command is as follows:
TLi text line
The 'i' is an index used to distinguish the order of multiple TL
commands. The index can be from one through two. Up to two lines
are available for the text of the title. The place holder, 'textine'
represents the actual text of the title. The text line is optional, since
a title line can be blank. TL works the same in information, choice,
alphanumeric, and numeric screens. For half screens, each line can
be up to thirty-nine characters long. For full text screens, each line
can be up to seventy-nine characters long. The NP command is used
to display text across the entire width of the display.
TX Command TX Command
The command TX (text) indicates that text following the command
is to be displayed on the screen. The EX (end of text) command is
used to identify the end of the text. The TX command is different
from the other commands which display text on the screen in that
its line does not contain the text. The letters TX' should appear
alone at the beginning of a line, and nothing should follow until the
next line. Likewise, the letters 'EX' should appear alone at the
beginning of a line to signify the end of text. The lines between the
TX command and the succeeding EX command are all copied to the
text area of an information screen, or make up the message content
of a message screen. The number of characters allowed in a line is
39 for half screen text areas and 79 for full screen text areas.
Messages always consist of half screen sized lines. It is important
to place an EX command after the last line of text, or INTPRO will
interpret following commands as extraneous text.
EX Command EX Command
The EX command, like the TX command, appears on a line alone.
It is important that nothing besides the EX command and white
space characters (spaces, tabs, etc.) appear on the same line as an
EX command. If anything else (a stray period, for example) does
appear on the same line, the line is assumed to be a part of the text
and will be displayed on the screen if there is still room. This allows
a line of text to start with the characters 'EX'. It is perfectly safe to
start a line of text with the word 'exhale', for example. Since a TX
block can consist of a variable number of lines, the EX command
serves to isolate a text block from other interview control commands,
INTPRO requires this command to mark the end of a text block. It
should never be used where it does not belong. This means that no
TX text should ever consist of 'EX' by itself, nor should the EX
Guide to Developing Application with INTPRO and TEXTPRO
command ever be used to do anything but end a text or AR block. It
is, of course, just as bad to leave the EX command off the end of a
TX block.
QN Command QN Command
'QN' stands for question text. 'QN' can be used in choice, alphanu-
meric, and numeric screens. The format of the QN command is as
follows:
QNi question text
The 'i' is an index used to distinguish the order of multiple QN
commands. The index can be from one through three. Up to three
lines are available for the text of the question. The place holder,
'question text', should be replaced by the actual text of the question.
If desired, a blank question line will be displayed by omitting
'question_text' from the QN command. For half screens, each line
can be up to 39 characters. For full text screens, each line can be
up to 79 characters long.
Since three lines are allowed for the question, the index for a QN
command can be 1, 2, or 3. For example, the command lines
QN Please type in the name of
QN2 each of your pregnant cows
QN3 which is expected to have twins.
would produce the following text in the question area.
Please type in the name of
each of your pregnant cows
which is expected to have twins.
PR Command PR Command
PR commands are used to define prompts in choice, alphanumeric,
and numeric screens. The format of the prompt command is as
follows:
PRi prompt_text
The 'i' is an index value to indicate the order of prompts to be
displayed. With INTPRO, the index can be from 1 through 8.
TEXTPRO allows up to 16 as an index value. Thus, INTPRO allows
up to eight prompt commands and TEXTPRO allows up to sixteen.
The place holder, 'prompt_text', is replaced by the actual text of the
prompt.
In numeric and alphanumeric screens, the number of prompts
should be the same as the number of variables. In choice screens,
there should be at least two prompts, even though there is only one
variable.
Guide to Developing Application with INTPRO and TEXTPRO
Alphanumeric screens allow prompts to be up to ten characters long
and numeric screens allow 25 characters per prompt. Any extra is
ignored. Thus, if the following command
PR3 Type of Cattle
appeared in an alphanumeric screen definition, the resulting third
prompt would be displayed as follows:
Type of Ca
which doesn't make much sense. The question could be rephrased
so the prompt could simply read Type'.
With choice screens, prompts can be up to 39 characters in length
for half screen text areas and up to 78 characters for full screen text
areas.
HT Command HT Command
Normally, when text is not specified for an area on the screen, that
area remains blank. This is not true of the help text area of the
screen. When used, the HT command works just like the TL
command, except that the text is moved to the two-line help area at
the bottom of the screen. If the HT lines are not supplied, however,
INTPRO fills the help area with the default help lines. In the rare
cases where custom help lines are needed, the HT command can be
used to declare the text. The form of the command is:
HTi help_line_text
The 'i' is an index with the value of one or two, to indicate which of
the two help lines the text is to be displayed on. The place holder,
'helpline_text' is the actual text of the help line, which may be left
blank.
Guide to Developing Application with INTPRO and TEXTPRO
DEFINING VARIABLES
The VR command is used to define variables for numeric, alphanu-
meric, and choice response screens. The format of the VR command
is as follows:
VRi variable name default/choices min max
The 'i' in 'VRi' represents an index which is the number of the
variable being declared in a given screen. The default value for 'i'
is 1. INTPRO allows up to eight variables in a screen, using VR
commands ranging from TVR1' to 'VR8'. TEXTPRO, which allows
16 variables per screen, can use VR commands ranging from 'VRI'
to 'VR16'.
Every VR command must contain a variable_name. This name
should uniquely identify the variable and give the developer a name
to use in referring to a user's response or a value returned from an
external program. If the same variable name is used twice in an
application, the declarations are treated as separate instances of the
same variable. A variable name can be from one to forty-nine
characters long. It must start with a letter and can contain letters,
digits, and underscore characters. INTPRO is not case sensitive
with variable names. Thus the variable names 'case' and 'CASE'
are the same to INTPRO.
The 'default/choices' parameter is optional. This parameter serves
as a default value for a variable in numeric and alphanumeric
screens, and as the number of prompts a user is allowed to choose
in choice screens. Choice screens should have only one variable
command, while alphanumeric and numeric screens should have
one variable command for each prompt command.
For choice screens in which a user may select more than one choice,
this parameter determines the number of choices that a user will be
allowed to select. The default value is one. For example, if the value
is 3, the user will be allowed to select up to 3 choices. If the choices
parameter is greater than one, then the user must select at least
one choice.
In alphanumeric screens, the default value can be any string of
characters from one through seventy-nine characters long, as long
as it does not contain spaces. It is possible for a variable value to
contain spaces, but there is presently no way to express this in the
default variable value. Values longer than twenty-six characters
will not be displayed properly on the screen. It is suggested that
alphanumeric variables which are manipulated by the user be
limited to twenty-six characters. The longer maximum length is to
allow longer strings, such as full path names, to be used by the AR
interpreter and external programs.
In numeric screens, the default value serves the same purpose as it
does in alphanumeric screens, except that the value should be a
numeric string of no more than 6 characters in length. The first
character can be a "+" or "-" character, a decimal point can occur
once, and all other characters should be digits (0 9). To specify min
Guide to Developing Application with INTPRO and TEXTPRO
and max values without supplying the default value, use an asterisk
('*') as a place holder for the default parameter.
It is strongly recommended that a default value be supplied for any
numeric or alphanumeric value which will be used later in an AR
block or external calculation. Thus, if the user does not explicitly
specify a value, there will still be a reasonable value for calculations.
The 'min' (minimum value) and 'max' (maximum value) parameters
are used only with numeric screens for performing a range check on
a user's response. On any other screen, they are ignored. The 'min'
parameter should not be supplied unless the 'max' parameter is
supplied as well. The 'min' must not be greater than the 'max' or
the range check will never be satisfied.
The range check takes place on every numeric screen where a 'min'
and a 'max' are supplied. The 'min' value, the 'max' value, and the
value supplied by the user are all converted to numeric values and
compared with each other. If the user-supplied value is less than
the 'min' or greater than the 'max', an error message is displayed
and the user is not allowed to proceed without first correcting the
situation.
All variable values, even numeric ones, are handled as strings of
characters. If a variable is declared in one type of screen and used
in another type of screen, INTPRO will do its best to interpret the
variable in its correct context. An alphanumeric screen should be
able to handle a variable from any other screen, but care should be
taken in importing values into other types of screens, or unexpected
results may occur.
The VR command can also be used in information and command
screens. The purpose of the VR command in these screens is to
declare a variable which will later be used in an AR block or external
calculation. It is often advantageous to have the variable already
declared when calculations begin. In these screens, the variable is
automatically given the value in the default parameter. If the
default parameter is left off, the variable will hold an empty string.
The value of a variables can be displayed in any screen where text
would be displayed. To reference a variable by value, the special
characters '%W are used to precede the variable name. For example,
to display the value of the variable 'name' in the title of an informa-
tion screen the following command could be used:
TL Results for %/name
At the conclusion of an application, INTPRO writes a file named
'INTVIEW.DAT, which is a listing of all variables declared in an
application. This file is useful for debugging purposes.
Guide to Developing Application with INTPRO and TEXTPRO
OTHER COMMANDS
Several other commands are available to develop applications with
INTPRO. These additional commands for the AR interpreter, dis-
playing images, and executing external programs are described in
separate publications.
The arithmetic/logic (AR) interpreter of the INTPRO system is a
powerful feature, which allows a developer many capabilities. The
AR interpreter allows a developer to include simple programming
steps in the interview control file. The AR interpreter uses a
Pascal-like syntax for describing the steps to be executed. The AR
interpreter is described in detail in the AR: Developer's Guide to the
Arithmetic/Logic Interpreter publication included in the INTPRO
series.
Five commands are available to developers to control the display of
images from within INTPRO and TEXTPRO applications. These
commands are HP, FP, IM, NP, and PL. Use of these commands is
described in detail in the Developer's Guide to Using Graphics in
INTPRO and TEXTPRO Applications publication included in the
INTPRO series.
Three methods are available to developers to execute external
commands and pass data to other programs. These commands are
XA, XB, and the EXEC command of the AR interpreter. Use of these
commands is described in detail in the Developer's Guide to Interfac-
ing Other Programs to INTPRO and TEXTPRO publication in-
cluded in the INTPRO series.
Guide to Developing Application with INTPRO and TEXTPRO
SUMMARY OF
COMMANDS
In summary, for each of the six screen types, various commands are
available to a developer to specify the text and graphics to be
displayed. Table 2 summarizes the interview control file commands
available for INTPRO and TEXTPRO. For each screen type, the
applicable commands are listed.
Table 2. List of interview control file commands by screen type.
Alpha- Infor-
Choice numeric Numeric mation Message Command
ID ID ID ID ID ID
TL TL TL TL
QN QN QN
PR PR PR
VR VR VR VR
NP NP NP NP
HP HP HP HP
FP FP FP FP
IM IM IM IM
PL PL PL PL
HL HL HL HL
HT HT HT HT
XA XA XA XA XA
XB XB XB XB XB
AR AR AR AR AR
TX TX
EX EX EX EX EX EX
NX NX NX NX NX
Guide to Developing Application with INTPRO and TEXTPRO
SAMPLE RUN
Use of INTPRO and TEXTPRO is dependent on the commands in
the interview control file. Although the user interface is consistent
for all applications, the specific text and graphics displayed to a user
varies with each application. A detailed description of a sample run
of an INTPRO application is included in the Guide to a Sample
INTPRO and TEXTPRO Application publication included in the
INTPRO series.
Guide to Developing Application with INTPRO and TEXTPRO
ERROR MESSAGES
AND SOLUTIONS
Both INTPRO and TEXTPRO have built-in error messages related
to the use of graphics. A detailed listing of the error messages and
potential solutions, for each program is included in the publications
entitled, INTPRO: Developer's Guide and TEXTPRO: Developer's
Guide, respectively.
Guide to Developing Application with INTPRO and TEXTPRO
ACKNOWLEDGEMENTS
The authors would like to express their appreciation to the W.K
Kellogg Foundation of Battle Creek, Michigan, for providing partial
support for the initial development of this interactive program
development system.
Gary A. Peterson, Roger C. Brook, Arun Nanda, and Todd Fisher of
Michigan State University were instrumental in the original devel-
opment of INTPRO.
TECHNICAL SUPPORT
Should you need assistance in using this program, please contact
the IFAS Software Support office by phone at (904) 392-7853 or mail
at:
IFAS Software Support
University of Florida
0162 IFAS
Gainesville, FL 32611-0162
ORDERING
INFORMATION
IFAS experts have developed this program and many others for
Florida's agricultural-related industries. If you would like informa-
tion on ordering a program or would like to request a free catalog,
phone (904) 392-7853 or write:
IFAS Software Support
University of Florida
0162 IFAS
Gainesville, FL 32611-0162
Guide to Developing Application with INTPRO and TEXTPRO
Crulr 929
INTPRO: Developer's Guide
Dmeris G. Watson, Stephen T. Eissinger
Florida Cooperative Eiaon SoivM ntte tandwa e e -
University of Florida/John T. Weote, Dean
May 1991
1r .r i
(This page intentional left blank.)
4.
* .4
I,..
TABLE OF CONTENTS
ABSTRACT............................................ 1
INTRODUCTION...................................... 1
Hardware and Software Requirements 2
Notation 2
Screen Representation 2
INTRODUCTION TO THE USER INTERFACE ........... 4
Windows 4
Key Commands 5
GETTING STARTED .................................. 6
Starting Program 6
Stopping Program 6
Command Line Options 7
SAMPLE RUN ........................................ 11
ERROR MESSAGES AND SOLUTIONS ................ 12
Interview Control File Errors 12
Logic Errors 14
System Errors 17
User Interface Messages 24
ACKNOWLEDGEMENTS ............................. 27
TECHNICAL SUPPORT ............................. 27
ORDERING INFORMATION .......................... 27
INTPRO:
Developer's Guide
Dennis G. Watson, Stephen T. Eissinger*
ABSTRACT
INTPRO is one of a group of programs which comprise the interac-
tive program development system (INTPRO system). INTPRO is
an application development tool which allows a program developer
to prepare an application without coding in a computer language.
An application is described as a set of screens displayed on the
computer. The description of an application is written in an ASCII
file, called an interview control file, which is the input for INTPRO.
INTPRO executes an application based on the information con-
tained in the interview control file. User interface features are
handled automatically by INTPRO. The requirements, starting and
stopping instructions, reference to a sample run, and error messages
of INTPRO are discussed in this publication.
INTRODUCTION
An interactive program development system (INTPRO system) was
designed for rapid development of interactive computer applica-
tions. The system greatly reduces program development time by
providing a standard user interface for applications. The organiza-
tion of information on the display screen is controlled by the INT-
PRO program, and a developer determines the text and graphics to
be displayed.
An application developer specifies the text and graphics to be
included in an application by writing an ASCII file of instructions
for use with INTPRO. The ASCII file of instructions is called the
interview control file. The interview control file can be prepared
with word processing software. INTPRO operates in a graphics
display mode on an IBM-compatible personal computer. INTPRO
allows the display of text and graphics side-by-side.
This publication describes the requirements, starting and stopping
instructions, reference to a sample run, and error messages of
INTPRO. Other publications in the INTPRO documentation series
describe other programs and features of the INTPRO system.
* Assistant Professor and Programmer/Analyst, Agricultural
Engineering Dept., Institute of Food and Agricultural Sciences,
University of Florida, Gainesville.
INTPRO: Developer's Guide
Requirements Hardware and Software Requirements
INTPRO was designed for use on IBM PC-compatible microcom-
puters with IBM or Microsoft DOS (disk operating system) version
3.0 or higher. Computers used for application development will
benefit from having at least 640 kilobytes of random access memory
(RAM) and an IBM-compatible color graphics (CGA, EGA, or VGA)
display adaptor and monitor. A VGA graphics system is preferred
to develop applications with color images. Computers used to run
applications developed with INTPRO may require less memory,
depending on the complexity of the application developed.
Notation Notation
This documentation includes step-by-step instructions and ex-
amples of using INTPRO. At times, you will be required to enter
commands and make choices.
When asked to enter a command, an instruction similar to the
following will appear in this document.
Enter dir a:
When the word 'Enter' appears, press the keys corresponding to the
boldface characters which follow. Once all characters have been
typed, the 'Enter' key must be pressed. By pressing the 'Enter' key,
you are signaling the end of your response and instructing the
computer program to continue. In this example, the keys 'd', 'i', 'r',
'Space bar', 'a', and ':' should be pressed followed by the 'Enter' key.
At other times, you will be instructed to simply press a key. For
example, the following instruction may appear:
Press Space bar
The key or keys represented by the word or words in boldface, which
follow the word Tress' should be pressed and released by the user.
In the above example, the Space bar key should be pressed and
released. Another example of an instruction to press a key is:
Press Alt-F10
This instruction requires that the user press two keys at the same
time. The proper technique to press two keys is to press and hold
the first key (Alt in this case), press the second key (F10) and release
both keys. This key sequence is used to exit the INTPRO program.
Screen Representation Screen Representation
Throughout this documentation, representations of the display
screen are included. Two types of representation are used. One is
a figure of the entire screen, such as Fig. 1.
INTPRO: Developer's Guide
Select the post spacing of the
storage structure or
self supporting all:
2 feet
4 feet
6 feet
8 feet
PrssF1fo hl wthths cre
F+~A
POST SPACING
Fig. 1 Sample screen from INTPRO program.
The second method of representing the computer screen is by
showing a part of the screen. In this case, the text to which your
attention should be directed will be enclosed in a gray box, as the
example below.
Press a key to continue.
INTPRO: Developer's Guide
INTRODUCTION TO THE
USER INTERFACE
A user interface has been developed for all INTPRO applications
which divides the display screen into windows or sections, with each
window having a consistent purpose throughout the program. The
windows are: title, interaction, message, help, and output.
Windows Windows
In Fig. 2 the title window is in the upper-left corner. The title of
each screen is displayed in this window as black text on a white
background (color descriptions are for color monitors only).
IHTEIACTIDM
UIHDOU
Fig. 2 Screen layout of INTPRO program.
The interaction window is located directly below the title window
and is used to convey information to the user and to ask questions.
The interaction window is also used to enter responses and make
choices. The interaction window uses white text on a blue back-
ground. Highlighted choices and user input boxes are displayed
with blue text on a white background.
Just below the interaction window is a message window. The
message window does not appear on every screen, but only when a
special instruction needs to be conveyed to the user. The message
window uses red text on a white background.
The help window appears at the bottom-left corner of the display.
This window normally contains two lines which remind the user of
available help. The Fl function key is used to provide help which
is specific to the screen being displayed. The F2 function key is used
INTPRO: Developer's Guide
to display information about the special keys which are used by the
program. At any time in using the program, you can press one of
these keys for help information.
The entire right-half of the display screen is the graphics window.
This window is used by developers to display graphics which explain
or otherwise augment the text. A developer can override the
graphics window and display text, if needed.
Key Commands Key Commands
Certain keys on the computer keyboard are recognized by INTPRO
applications for specific purposes as listed in Table 1. Whenever you
press one of these keys, the program will respond as indicated in the
table. The PgUp and PgDn keys are very useful as they allow the
user to move forward and backward through the program.
Table 1. List of special keys and program responses.
Key Program Response
F1 Help information for the current screen
F2 Help information for special keys
F9 Restart the program from the beginning
Alt-F10 Exit the program
PgUp Go back to the previous screen
PgDn Continue to the next screen
The Enter key is used for two purposes. One purpose is to signal
the end of the entry of an alphanumeric or numeric entry. The other
purpose is to select or deselect a choice in a menu.
The backspace key, often represented (on the keyboard) as an arrow
pointing to the left, can be used to 'back over' characters which have
been typed, to correct errors. The backspace key moves the cursor
one character to the left and erases the character in that space.
INTPRO: Developer's Guide
GETTING STARTED
The first publication in this series of documentation on the INTPRO
system, INTPRO: Interactive Program Development System,
describes the installation procedure for the programs included in
the INTPRO system. The procedure for starting INTPRO, com-
mand line options, and stopping INTPRO will be described in this
section.
Starting Program Starting Program
If the recommendations for installing the INTPRO system were
followed, the directory in which INTPRO is located should be in the
path statement of the computer. Before using INTPRO, you should
have an interview control file. The interview control file,
'sample.inx' is included with the distribution disks. To start IN-
TPRO, the name INTPRO is typed followed by the name of the
interview control file, as follows:
Enter INTPRO sample
In this case, the interview control file is 'sample.inx'. If the file
extension is omitted, INTPRO assumes an extension of '.inx'. IN-
TPRO will start by displaying the banner screen with the copyright
message (Fig. 3).
Uerslon 2.0
Contact:
Copyright kenls G. Uatson or Ste Elissiuger
Iichigan State Univ., 1967, 1986 IFAS Softmare Support
University of Florida. 1989 hilding 120, Room 203
All rights reserved. University of Florida
Gaiuesvllle, Florida 32611
(504) 392-7853
Fig. 3 Opening screen of INTPRO.
Stopping Program Stopping Program
Although an INTPRO application may have a menu option to exit
the program, another alternative is provided to stop INTPRO. The
keystroke combination Alt-F10 causes INTPRO to stop. To exit
INTPRO,
INTPRO: Developer's Guide
Press Alt-F10
INTPRO will stop and the DOS prompt will be displayed.
Command Line Options Command Line Options
INTPRO offers flexibility in how it is executed through command
line parameters and DOS environmental variables. When dis-
tributing an application, it is a good idea to include the entire
command line in a batch file, thus making it easy for users. Com-
mand line parameters, including input and output file names, can
be combined and arranged in any order. The command line
parameters are used to indicate display mode, debugging level,
temporary file directory, and graphics file directory. A DOS en-
vironmental variable can also be used to set a graphics file directory.
Display Mode
Upon execution, INTPRO changes the video display mode to the
highest level graphics mode fully supported by the video system
hardware and INTPRO. Table 2 lists the graphics modes which
INTPRO fully supports with the appropriately sized font.
Table 2. Graphics display modes supported by INTPRO.
Mode Name Resolution Colors
CGA 640 x 200 2
EGALO 640 x 200 16
EGA 640 x 350 16
VGA 640 x 480 16
With a command line option, the graphics mode can be set to a
particular mode. The option requires the form '/mode name' where
the text 'mode name' is replaced by one of the mode names listed in
Table 2. A forward slash in the command line signifies to INTPRO
that a graphics mode indicator follows. If this parameter is omitted,
INTPRO simply picks the highest resolution (and number of colors)
which the graphics display system allows. Pictures shown
alongside text in INTPRO must be in one of the above four modes,
but pictures shown on their own (using FP or IM commands) can be
in any mode your graphics display system supports.
For example, to begin the sample application using the CGA display
resolution, the command to start INTPRO would be:
Enter INTPRO sample /CGA
or since the positioning of the command line options is not impor-
tant, the command could be:
Enter INTPRO /CGA sample
To start INTPRO using the EGA mode, the letters 'CGA' would be
replaced by 'EGA'. For application developers, this option is impor-
tant if an application which only has EGA graphics is used on a VGA
INTPRO: Developer's Guide
system. By using the '/EGA' parameter, the EGA graphics will
display properly.
Debugging Level
The debugging level command line option allows a closer look at the
steps INTPRO uses to execute an application. This option would
seldom be used unless technical support is requested. The debug-
ging level command line option takes the form of '-dn' where n is
replaced by the desired debugging level. The debugging level can
be any combination of the numerals 1, 2, or 3.
In INTPRO, the '-dl' option can be used to select a different graphics
mode than one of those fully supported by INTPRO. Using this
option will cause INTPRO to allow a user to select a different
graphics mode. INTPRO may work in some of these additional
modes, but they are not supported. To start the sample application
with the option to select a graphics mode,
Enter INTPRO -dl sample
The display mode selection screen will be displayed (Fig. 4).
Conf ir Graphic Devices
Display Device / Mode: IlH UGA, 640x1OO 16 color
Input Device or aouse: DOS driver for mouse
[ED -> choose an alternate Display.
[I] -) choose an alternate Input device or mouse.
[Escl -> Escape to MS.
[other] -> accept defaults
Choice 7 1 1
-[ HetaUINDOl/Plus Uer 3.41 1-
Fig. 4 Screen for selecting alternate video modes.
Should the need arise to experiment with a different display mode,
the following points should be considered:
Horizontal resolutions of 320 pixels will not work at all.
Appropriate fonts may not be available to maintain the proper
text size.
INTPRO may not recognize any two-color mode other than CGA
and will try to write text in 16 colors with unpredicted results.
Experience has shown 256-color modes to be slow in displaying
screens.
INTPRO: Developer's Guide
If a different mode works satisfactorily, its code can be used in the
command line as described in the prior section.
The other two debugging levels activate debugging statements
imbedded in INTPRO's code. To start the sample application with
debugging levels 2 and 3 activated,
Enter INTPRO -d23 sample
If technical assistance is requested, you may be asked to use this
command.
Temporary File Directory
Normally, INTPRO writes temporary output files to the current
directory. If it is unusable, an attempt is made to write the files to
the directory in which the actual executable file (INTPRO.EXE) is
found. If this attempt also fails, the user is prompted for the name
of a writable directory. Querying the user for a directory to write
temporary files to is undesirable and a last resort, thus INTPRO has
a command line option to specify a directory for temporary files. The
command line option has the form '-tdirectory', where the letters
'directory' are replaced with a DOS path. No spaces are allowed
between the 't' and the directory name.
If an application is likely to be executed from a full floppy disk or a
CD-ROM drive, then this parameter should be used. Any existing
DOS directory could be used. Choose a directory that most users
would have (such as 'c:\' if users have hard disks) or one that is
created in a batch file (such as 'c:\inttemp').
If you use the '-t' parameter, INTPRO will try the indicated directory
before trying the DOS default directory and the directory in which
INTPRO finds itself. If you wanted to start the sample application
using the 'c:\intpro\sample' directory for temporary files,
Enter INTPRO sample -tc:\intpro\sample
If an application uses external programs that read or write INTPRO
temporary files, these applications are expected to use the same
directory as INTPRO. The best alternatives are to either dictate to
the user that the current directory must have some writable space
or to use the '-t' parameter and insure that this directory is writable.
INTPRO normally leaves only one file in the temporary directory.
The file INTVIEW.DAT is always written to the temporary directory
when INTPRO is stopped. INTVIEW.DAT contains a list of all of
the variables generated and used by INTPRO.
Graphics File Directory
One of INTPRO's features is its ability to display graphic images.
Since graphic images can be numerous for one application and
require considerable storage space, a graphics file directory com-
mand line option allows a user to specify a separate directory for
graphics. This is especially useful if you are developing several
applications which use the same images this allows you to keep
one copy of each image on your disk. The option takes the form of
'-gdirectory', where the letters 'directory' are replaced with a valid
INTPRO: Developer's Guide
DOS path. No spaces are allowed between the 'g' and the directory
name. For example, to start INTPRO using the sample application
with graphic files stored in the 'c:\sample\graphics' directory, use
the following command.
Enter INTPRO sample -g:\sample\graphics
In addition to the command line option, INTPRO also recognizes an
environmental variable by the name of 'GRAPHICS' for the name
of a directory to search for graphics. The DOS command 'SET' is
used to set an environmental variable. 'SET' must be executed
before INTPRO. The form of the 'SET command is 'SET
GRAPHICS = directory', where the letters 'directory' are replaced
by one or more valid DOS directories. If more than one directory is
included in the 'SET' command, the directories must be separated
by a semicolon. The advantage of using the DOS environmental is
that it can cause INTPRO to search more than one directory,
whereas, the command line option is limited to one directory. The
use of an environmental variable is similar to the DOS PATH
command, since it also is an environmental variable. For example,
to use the DOS environmental variable to start INTPRO using the
sample application with graphic files stored in the
'c:\sample\graphics' directory, the following two commands are
required.
Enter SET GRAPHICS = c:\sample\graphics
Enter INTPRO sample
If some of the graphics for the sample application were also stored
in the 'c:\images' directory, the above 'SET' command would be
replaced by the following command:
Enter SET GRAPHICS c:\sample\graphics;c:\images
The order used by INTPRO in searching for graphics is important.
When looking for a graphics file, INTPRO first looks for the file
name as listed in the interview control file. If the file name did not
have a path, INTPRO would search the current DOS directory to
find it. If the file name as listed in the interview control file included
a path, INTPRO would search that path. If this fails, INTPRO looks
in the directory specified by the '-g' command line option if it exists.
Finally, it looks at the directories specified by the GRAPHICS
environmental variable if it exists. If you use a complete path name
in the interview control file to specify a graphics file, you should
insure the file exists in that directory, otherwise, INTPRO appends
file names directly onto paths, and you could end up searching
nonsense directories like 'c:\sample\c:\orange.pix'. In this case,
INTPRO would fail to find the file and produce an error message.
These command line options and environmental variable are mainly
for use by application developers. If others are to use the applica-
tion, a batch file should be prepared to simplify the process of
starting the application.
INTPRO: Developer's Guide
SAMPLE RUN
Usage of INTPRO is dependent on the commands in the interview
control file. Although the user interface is consistent for all applica-
tions, the specific text and graphics displayed to a user varies with
each application. A detailed description of a sample run of an
INTPRO application is included in the Guide to a Sample INTPRO
and TEXTPRO Application publication included in the INTPRO
series.
INTPRO: Developer's Guide
ERROR MESSAGES
AND SOLUTIONS
INTPRO has several built-in error messages. The messages are
divided into four categories: interview control file errors, logic
errors, system errors, and user interface messages. The error
messages listed in this section are representative of the error
messages generated by INTPRO with the exception that x's are
replaced with specific file names or screen IDs in the actual error
messages.
All messages except the user interface messages are intended for
developers. Application developers should correct all interview
control file errors and logic errors in the process of completing an
application. Most system errors can also be corrected for users.
Since many system errors are dependent on the free memory and
the video capacity of particular computers, it may be impossible to
eliminate all of them. If experience indicates that some of these
errors will still occur, they should be documented for users. The
user interface messages are commonly seen by users and should be
included in the documentation of applications.
Interview Control File Errors Interview Control File Errors
Interview control file errors are those which occur as a direct result
of an indexed interview control file being corrupted. These error
messages seldom occur, unless the indexed version of the interview
control file has become corrupted. Each of the following error
messages is displayed in a gray box and the subsequent text
provides an explanation and potential solution to the problem.
File ia not a valid interview control file.
Explanation: The interview control file is missing important
header information. This error indicates that the interview control
file was either not produced correctly or has been corrupted since
being created.
Solution: The indexed interview control file must be replaced.
First, delete the indexed interview control file (the one with the '.inx'
extension) and execute INTPRO again. INTPRO will automatically
recreate the '.inx' version of the file. If this does not work, the
interview control file has become corrupted and must be corrected,
replaced with an older version, or recreated.
INTPRO: Developer's Guide
Interview control tile ended prematurely
Explanation: INTPRO failed to read in a line while building its list
of screen keys and their file locations. This suggests that the
indexed control file either was not formed correctly or has become
corrupted.
Solution: The indexed interview control file must be replaced.
First, delete the indexed interview control file (the one with the '.inx'
extension) and execute INTPRO again. INTPRO will automatically
recreate the '.inx' version of the file. If this does not work, the
interview control file has become corrupted and must be corrected,
replaced with an older version, or recreated.
Interview control file has incorrect format for
number of ID entries.
Explanation: INTPRO was unable to interpret the line of the
interview control file which should have contained the number of
screen keys in the application. INTPRO needs this information in
order to read in the index table which follows the top few lines of the
file. The indexed interview control file was not produced correctly
or has been corrupted.
Solution: The indexed interview control file must be replaced.
First, delete the indexed interview control file (the one with the '.inx'
extension) and execute INTPRO again. INTPRO will automatically
recreate the '.inx' version of the file. If this does not work, the
interview control file has become corrupted and must be corrected,
replaced with an older version, or recreated.
Interview control file has incorrect format for
screen ID
Explanation: INTPRO was unable to interpret a line of the inter-
view control file which should have contained an entry in the screen
key index table. Without an accurate screen key table, INTPRO is
unable to function correctly. The indexed interview control file was
not produced correctly or has been corrupted.
Solution: The indexed interview control file must be replaced.
First, delete the indexed interview control file (the one with the'.inx'
extension) and execute INTPRO again. INTPRO will automatically
recreate the '.inx' version of the file. If this does not work, the
interview control file has become corrupted and must be corrected,
replaced with an older version, or recreated.
INTPRO: Developer's Guide
Interview control file has incorrect format for
start ID entry.
Explanation: INTPRO was unable to interpret the line that should
have contained the application's starting screen ID. Without this
entry, INTPRO does not know where to start. WINTDATA auto-
matically creates this line and uses 'INFI' as a default. The indexed
interview control file was not produced correctly or has been cor-
rupted.
Solution: The indexed interview control file must be replaced.
First, delete the indexed interview control file (the one with the '.inx'
extension) and execute INTPRO again. INTPRO will automatically
recreate the '.inx' version of the file. If this does not work, the
interview control file has become corrupted and must be corrected,
replaced with an older version, or recreated.
interviewr control file has incorrect or missing
version number.
Running WIMTDATA on the original text file may help.
Explanation: Recent versions of WINTDATA have included a
version number in the interview control file. Different version
numbers can represent subtle changes in the indexed file format
which INTPRO might not otherwise recognize in time to prevent
strange things from happening. This error indicates that the ver-
sion number was either wrong or missing.
Solution: The indexed interview control file must be replaced,
using a more recent version of WINTDATA. First, delete the in-
dexed interview control file (the one with the '.inx' extension) and
execute INTPRO again. INTPRO will automatically recreate the
'.inx' version of the file. If this does not work, the interview control
file has become corrupted and must be corrected, replaced with an
older version, or recreated.
Logic Errors Logic Errors
Logic errors are those which occur as a result of incorrectly describ-
ing a screen in the interview control file or exceeding the limitations
of INTPRO. Each of the following error messages is displayed in a
gray box and the subsequent text provides an explanation and
potential solution to the problem.
INTPRO: Developer's Guide
Application developer error: Unexpected
end of file. Possibly, no EX following.
a TX or AR. Cannot recover --
PRESS ANY KEY TO EXIT PROGRAM.
Explanation: INTPRO has reached the end of the interview control
file without being able to read in all of the commands it expects to
find. This is can be caused either by an incomplete screen definition
at the end of the file or by a TX or AR block without a subsequent
EX command to tell INTPRO to stop interpreting the lines as text
for display.
Solution: Check the end of the interview control file. Make sure
that there is no AR or TX command after the last EX command in
the file. Also, make sure the last screen definition contains a proper
ID and NX line. Finally, it could be that the indexed version of the
interview control file (identified by its '.inx' extension) was edited
directly. The indexed interview control file should never be edited.
Insufficient space in global variable
structure.
Program reaction is unpredictable.
Explanation: The application has produced more than 1500 global
variables. These include variables produced by external programs
that write'INTXIN.DAT' files, as well as the variables declared with
the VR command.
Solution: If the application does not call external programs which
write 'INTXIN.DAT' files and produce new variables, then the
number of VR commands in the interview control file must be
reduced, perhaps by allowing external programs or AR blocks (with
local variables) to process values which do not need to be preserved.
If the application does produce new variables through external
programs, it may also be possible to reduce the number of variables
by decreasing the number of lines added to 'NTXIN.DAT' files.
Insufficient space in local variable
structure..
Program reaction is unpredictable.
Explanation: INTPRO has a limit of 50 local variables in any one
AR block. If this error message appears, the AR block will be
operating without the benefit of the variable and the result is
unpredictable.
INTPRO: Developer's Guide
Solution: The number of local variables in the AR block must be
decreased. This error should never be ignored. It may be possible
to split the AR block into two or more parts (for use in two or more
screens) or to declare some of the variables as global variables before
the AR block is called. Finally, if the AR block is especially long it
may be best to rewrite the AR block as an external program Pascal
may be the easiest language to use for this.
Invalid screen type encountered --
Explanation: The first three letters of the screen ID in an ID
command did not represent one of the six screen types. The screen
type should be indicated by 'CHO', 'INF, 'ALP, 'NUM', 'CMD', or
'MES'.
Solution: Make sure that the first three letters of the screen ID in
each ID command match one of the above six, type identifiers.
Requested screen ID not found.
Application developer error.
Program reaction is unpredictable..
Explanation: A screen key was referenced in an NX or HL com-
mand, or in an AR'nextscreen' statement, and this screen key is not
found in the screen key index. INTPRO does not know where to look
in the file for the next screen it should go to.
Solution: Exit the application immediately, which may require
pressing ALT-F10 a few times. This error usually occurs while an
application is still being developed and not all of the screens have
been added. It is also possible that the referenced screen ID has
been misspelled. To correct the error, make sure all references to
NX, HL, and NEXTSCREEN commands match screen IDs on ID
commands in the interview control file. This error will occur only if
INTPRO actually tries to use the screen key. Ifthe errant reference
is not tried, the entire application can run without error.
WINTDATA tries to catch these errors. If WINTDATA detects one,
you should not ignore it, because INTPRO may not detect it imme-
diately.
This choice screen has more than one
variable declaration.
Explanation: A choice screen contains more than one variable
declaration. Choice screens (including multiple response choice
INTPRO: Developer's Guide
screens) always hold the entire user response in one variable.
INTPRO will thus not allow more than one variable to be declared
in a choice screen.
Solution: Examine the interview control file and make sure you do
not have more than one VR command in the description for the
screen on which the message appeared. If additional variables are
needed, use a 'CMD' screen to declare the variables.
System Errors System Errors
System error messages are a result of an error occurring while
INTPRO executes a DOS command. Each of the following error
messages is displayed in a gray box and the subsequent text
provides an explanation and potential solution to the problem.
Error in executing program.
Explanation: INTPRO had a problem executing an external pro-
gram initiated by an XA or XB command or by an 'EXEC' statement
in the AR block in the current screen. There are three possible
causes for this statement: 1) there is not enough free memory to run
the program; 2) the fully assembled command line is longer than
128 bytes long; or 3) a valid COMMAND.COM file was not found.
Solution: The most common cause of this error is insufficient free
(RAM) memory for the program to run. To solve this problem, you
may have to remove some resident programs from your computer's
memory (usually by removing them from your AUTOEXEC.BAT file
and rebooting). If you wrote the program yourself, you may want to
consider optimizing it or dividing it into smaller pieces.
DOS will reject any command line longer than 128 characters long.
The easiest time to run into problems with this is when you use
variables in your command string. You should always be reasonably
sure that the command line will not exceed 128 characters even after
the values for the variables have been filled in.
The cause for the third problem, not being able to find COM-
MAND.COM, occurs most often on floppy disk based systems. On
a hard disk, DOS generally boots up and remembers where COM-
MAND.COM is. If you plan to distribute to users who will use your
application on floppy disks, you should advise them to either run
the application from the B: drive while keeping a DOS disk in the
A: drive, or to copy COMMAND.COM onto their working copy of
your application disk. A license must be obtained to distribute
COMMAND.COM, but sufficient space can be left on a diskette for
a user to add the file.
INTPRO: Developer's Guide
Mmage file not found oz image .ia not
the corment type.
Explanation: INTPRO had a problem displaying an image re-
quested by an HP, FP, or IM command. This can mean that the
image does not exist within the graphics path, that the image file is
not a valid PCX file, or that the image file cannot be displayed under
current circumstances.
Solution: First, double-check to make sure that the image exists.
If the image is not in the default directory, use the DOS 'SET
command to look at the GRAPHICS environmental variable and/or
check the INTPRO command line (probably in a batch file) to make
sure that the '-g' parameter is correct.
Second, use a separate display utility to make sure that all of the
files are indeed valid PCX files and that they can be displayed on
your computer. If this test passes, make sure that the display modes
of the images are correct. This shouldn't be a problem with IM and
FP commands unless the graphics mode was set with the command
line parameter. For more information on this, refer to the publica-
tion on displaying images. Images shown with the HP command
must use the exact same graphics mode with which INTPRO is
started.
In order to run correctly, INTPRO need:.
a place in which to stoze a couple of small.
temporary files. So fax, I've tried:
'Izxxmx x .xmx",..
Izzz*zxxzi.n".. nd.
Please. type in another directory path to try:
Explanation: The files INTXOUT.DAT, INTXIN.DAT, and IN-
TVIEW.DAT all need to be created in the same directory. By
default, INTPRO will try both the current directory and the direc-
tory in which INTPRO finds itself before printing this message.
(These are often the same directory.) If a'-t' parameter was included
in the command line, this directory is checked before the other two.
If the above error message is printed, it means that none of the
directories were writable -- either they were not valid directories or
the disk(s) on which they were found had no free space.
Solution: For now, type in the name of a directory that you know
has writable space. If this is impossible or inconvenient, press
CTRL-C and INTPRO will exit. The best way to prevent this error
from coming up again depends on the circumstances. If the error
INTPRO: Developer's Guide
|