home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
World of Shareware - Software Farm 2
/
wosw_2.zip
/
wosw_2
/
DATABASE
/
ZEPHYR4B.ZIP
/
ZEPHYR4.002
/
lha
/
ZEPHYR4
/
ZEPHYR.DOC
< prev
Wrap
Text File
|
1992-12-20
|
97KB
|
1,959 lines
Getting Started
Welcome to ZEPHYR!
Whether this is your first experience with a data base management
system or not, we want it to be a pleasant and memorable one. You can save
yourself a good deal of aggravation by spending a few minutes with this
manual before you turn on your computer. Zephyr was designed to allow even
novice data base users to create sophisticated, menu-driven data base
applications in minutes rather than years. However, to get the most out of
Zephyr, you need to get acquainted with its tools and functions.
First, the good news. Zephyr is a menu-driven, relational data base
management system for non-programmers! It uses the fantastic FoxPro data
base engine from Fox Software. You will find its performance is second to
none: retrieval speeds are up to 1,000 times that of dBASE IV. Yet Zephyr
retains substantial language and file compatibility with all dBASE dia-
lects. It also adds a host of features which simply are not available in
any other menu-driven data base product. Here's a partial list:
Simultaneous access to 25 dBASE-compatible data bases
Up to 255 separate indexes to speed sorting and file relations
Display & print .PCX graphics fields using standard data bases
Load and access Zephyr as a 20K TSR with a single keystroke
SQL SELECT support speeds queries of relational data bases
Create pop-up data base lookup tables to speed data entry
The best windowing and user interface you'll find anywhere
State-of-the-art reports, labels, form letters, and lists
One billion records per data base; 256 fields per record
Unlimited length free-form text fields which are searchable
Pop-Up Calculator, Calendar, Appointment Scheduler, Puzzle
ZEPHYR Main Menu
Zephyr's Main Menu provides a series of Lotus-style menu bars across
the top row of the screen. Moving between these menu bars activates a
series of pull-down menus which provide access to all of Zephyr's main
functions. For dBASE 'gurus,' there also is a command mode option activat-
ed with the BUILD COMMAND choice. The Main Menu options are as follows:
1. INPUT
2. OUTPUT
3. FILE
4. EXECUTE
5. BUILD
6. CONFIG
7. QUIT
The following sections of the User's Guide will walk you through the
various options available on each of these pull-down menus.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 1
System Requirements
Zephyr will run on any DOS-based personal computer with 640K of system
memory, a hard disk, and DOS 2.1 or higher. Additional expanded memory can
double or triple Zephyr's overall performance. Both monochrome and
virtually all color cards and monitors are supported. A mouse is supported
but not required. To display .PCX graphics fields within Zephyr requires a
CGA, EGA, VGA, or Hercules graphics card and monitor. To print .PCX
graphics fields requires an HP LaserJet-compatible laser printer.
Installing ZEPHYR
Zephyr is distributed in compressed format to conserve disk space and
better assure the reliability of its system files. Special thanks for
LHArc, Yoshi's archiving utility, which is used with permission of the
author.
To install Zephyr, position to the drive on which you wish to install
the software. If this is Drive C, type C: <ENTER> at the DOS prompt. Insert
Zephyr distribution diskette #1 in Drive A and type A:INSTALL <ENTER>.
This tells the program to create a \ZEPHYR4 directory on the default drive
and install Zephyr there.
In 95% of the systems we have tested, Zephyr will run without a hitch
as installed. To test your luck, move to \ZEPHYR4 directory by typing the
following: CD \Zephyr4 <ENTER>. Type Zephyr and press <ENTER> to fire up
the software. You should see a logo and then the Zephyr Main Menu. If not
or if your computer hangs when you attempt to execute an option such as
BUILD DATA BASE, then read the next section.
Setting Up Your Computer
The beauty of DOS-based computers is their ability to run a vast
assortment of DOS-compatible software. This does not mean all DOS computers
are alike. There are many different ways to configure your system. Zephyr
attempts to decode your system configuration; however, there are certain
configurations which simply cannot be ascertained. These include systems
which drive a monochrome display from a color graphics card of some type.
Also certain types of gee-whiz memory will throw Zephyr for a loop unless
you specifically tell Zephyr what's going on.
Zephyr ordinarily does not need a configuration file (CONFIG.FP) to
load and execute properly. You will need to create one if situations such
as those outlined above exist on your computer. This can be done with any
editor, or type the following commands at the DOS level in the \ZEPHYR4
subdirectory to create one. Which configuration commands you will need to
insert in the CONFIG.FP file depends upon the types of problems you are
having. These are covered in the next sections of the User's Guide.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 2
CD \ZEPHYR4 <ENTER>
COPY CON CONFIG.FP <ENTER>
{Type configuration commands here}
<CTRL-Z> <ENTER>
Default Display Type
If the Zephyr command menu or submenus are unreadable, you may want to
manually choose another display type. This can be done by adding a line to
the CONFIG.FP file outlined above. Typically, this will be necessary where
you are using a monochrome, plasma, or LCD display with a color graphics
card of some sort. When Zephyr identifies a color card, it automatically
assumes you have a color monitor. Simply add one of the following lines to
your CONFIG.FP file to correct the problem. You may wish to experiment
with several until you find the best alternative.
COLOR SET=MONOCHROME COLOR SET=T5200_MONO
COLOR SET=COMPQ_MONO COLOR SET=BW
COLOR SET=TOSH_3200 COLOR SET=BLKWHT
Please note that creation of a CONFIG.FP file tells Zephyr you are
taking charge. Because of this, you always will need to add a COLOR SET
command in the CONFIG.FP file once you create this configuration file. If
you have a color monitor which displays perfectly, but you have to create a
CONFIG.FP file to resolve a memory problem (as explained below), then add
the following line to your CONFIG.FP file to preserve the proper color
settings for your display:
COLOR SET=COLOR
Expanded Memory Options
If you have a PC with 640K, skip this section. If you only have
extended memory in your system, you may also skip this section. If you
have expanded memory and Zephyr hangs when you choose certain options, read
on. Expanded memory comes in as many flavors as jelly beans. Hardware-
based expanded memory which conforms to the LIM 4.0 standard should cause
no problems. Expanded memory which derives its brains from a software
driver may or may not work depending upon the EMS driver.
You have several options to try which are listed below in 'most
benefit' order. The most beneficial option is EMS=ON which is the default
with no CONFIG.FP file. If this doesn't work, try the following in the
order in which they are listed. Then try running Zephyr again.
EMS64=OFF (All EMS used to speed file I/O)
EMS=64 (Only first 64K of EMS is used)
EMS=OFF (No EMS memory is used by Zephyr)
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 3
Disabling F11 & F12 Keys
Zephyr always tests for the presence of the F11 and F12 function keys
when it starts. A few old BIOS chips on computers without F11 and F12
function keys nevertheless report the presence of these keys. This will
cause Zephyr to hang when it loads. If your system does this, try adding
the following line to the CONFIG.FP configuration file:
F11F12=OFF
Utilizing RAM Disks
Zephyr's overall performance can be enhanced by using a RAM disk to
store overlay files and a program cache file. The overlay files require
about 500K while the program cache file typically requires less than 256K.
Make certain that your RAM disk is large enough to accommodate these files
before adding one or both of the following lines to your CONFIG.FP file.
OVERLAY=<drive:\dir>
PROGWORK=<drive:\dir>
When All Else Fails
Both Zephyr 4.0 and the FoxPro 2.0 data base engine are new products.
As with any new software, there is always the possibility that some novel
piece of software or hardware will not happily coexist. If you experience
problems, please call us between 6 p.m. and 9 p.m. Atlanta time Monday
through Thursday at 404/237-9420. You may save money by using our new long
distance number in the "lower 48" states: just dial 10288-0-700-WARD-MUNDY.
Zephyr Licenses & Special Offer
ShareWare is "try-before-you-buy" software. With the shareware copy,
you are extended a 30-day license to kick the tires and see if Zephyr meets
your needs. If it does, then you need to register and obtain an end-user
license within 30 days. If it doesn't, then simply pass it along to a
friend or computer users' group. Only the shareware version may be redis-
tributed and only if the recipient is clearly advised that the term of the
license for the shareware copy is 30 days. The Zephyr logo screen clearly
identifies which version you have and whether it can be redistributed.
After you have tried Zephyr, we obviously hope you will decide to
register. For what you receive, our license fees are the lowest in the
world, period! Payment of the current $50 license fee entitles you to the
current shipping version of Zephyr at no additional charge, a soft-bound
User's Guide, and 90-days' free support.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 4
For ShareWare distributors, this documentation serves as a license to
redistribute the ShareWare version of Zephyr for a copying fee not to
exceed $15 U.S. Zephyr must be obtained directly from us or an ASP distri-
butor and must be distributed in the same format in which you receive it on
the same or fewer number of disks. Any alteration of the software or the
documentation terminates this authorization.
Building Zephyr Applications
Overview
The easiest way to learn Zephyr is to take it for a test-drive. This
chapter walks you through creation of a sample application. We strongly
recommend you start here. Whether or not you are new to the data base
world, let us also recommend a wonderful new 700 page McGraw-Hill book by
Edward Jones. It's title is FoxPro2 Made Easy. It is available in most
major computer book stores. It will be the best money you ever spent.
With the exception of a couple of chapters, everything in this
exhaustive book can be put to good use with Zephyr. This manual attempts
to lay the groundwork for using Zephyr. It cannot possibly educate you on
all facets of the FoxPro data base engine. To get the most out of Zephyr,
spring for Mr. Jones' book. It will greatly enhance your enjoyment of this
software while introducing you to what, I think, is the best data base
engine on the market. If you have trouble finding the book, you can order
the book directly from us, and we will ship you a copy.
Creating A New Data Base
All of Zephyr's building block tools are housed in the BUILD menu
option. Use the <Right Arrow> cursor to move to this option. The DATA BASE
FILE selection will be highlighted. Press <ENTER> to proceed.
When prompted whether to create a NEW or revise an OLD data base,
press <ENTER> to choose NEW option. The FILE SELECTION WINDOW then will
display. When prompted for the name of your new data base file, type
SAMPLE and press <CTRL-ENTER>.
The FILE CREATION WINDOW then will display. Type in the information
shown below, pressing <ENTER> after each entry is completed. When you have
completed all of the entries, press <CTRL-ENTER> to save your new data base
file structure to your hard disk. Type N when asked whether to Add records
now.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 5
FIELD TYPE WIDTH DEC
------------ ---------- ----- ---
FIRSTMI Character 15 0
LASTNAME Character 15 0
ADDRESS Character 30 0
CITY Character 15 0
STATE Character 15 0
ZIP Character 6 0
PHONE Character 15 0
BIRTHDAY Date 8 0
MARRIED Logical 1 0
COMMENTS Memo 10 0
Creating A New Index
An index is a separate file created to enable you to quickly locate
records in a data base. For example, if we wanted to be able to quickly
retrieve records by last name, then we would create a LASTNAME index.
Similarly, if we wanted to be able to "sort" a data base in zip code order,
we would create a ZIP index. One of the beauties of indexes is that they
function as an instantaneous sorting mechanism. So long as an index is
'open' while the primary data base is in use, the index entries are
automatically kept up to date.
The old trusty Rolodex could also index its cards; however, it had one
serious limitation. The cards could only be indexed one way without
creating another whole deck of cards. Zephyr improves upon the Rolodex by
enabling you to create as many as 25 different indexes for a single data
base. To retrieve your data in a particular order, all that is necessary
is to designate the "lead" or primary index.
To create an index is a snap. Zephyr supports creation of both simple
and complex indexes. A simple index is an index of any single field in
your data base. A complex index is an index of more than one field in your
data base. For example, if we wanted to sort the SAMPLE data base on last
name and, within last names, by first name, then we would want to create a
complex index. If we create a simple index on only the LASTNAME field,
then John Smith and Joe Smith would not necessarily sort in the correct
alphabetical order. This may or may not matter to you.
Let's create one index of each type just to demonstrate the two
methods. Let's assume we want a zip code index to generate a mailing list
from our SAMPLE data base. Since we still are in the BUILD menu option,
simply move the cursor down to the INDEX option and press <ENTER>. A
window will prompt for whether to create a NEW index or revise an OLD one.
Leave NEW highlighted and press <ENTER>. Next a window will prompt for
whether to create a SIMPLE or COMPLEX index. Leave SIMPLE highlighted, and
press <ENTER>.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 6
The FIELD SELECTION WINDOW then will display with a list of all the
fields in your current data base. Use the <DOWN> cursor to highlight the
ZIP field and press <ENTER>. Zephyr will automatically create the ZIP
index and activate it for use.
Now let's create a complex index on LASTNAME and FIRSTMI. Note that
the order is important. We want the LASTNAME to be the primary key and
FIRSTMI to be secondary. Otherwise, we would be sorting all the Joe's
together rather than all the Smith's.
Choose the INDEX option again by pressing <ENTER> while it is high-
lighted. Choose the NEW index option by pressing <ENTER>. When prompted
whether to create a SIMPLE or COMPLEX index, type C and press <ENTER>. Or
you could have pressed the <SPACE BAR> to toggle between simple and
complex. Then press <ENTER> when COMPLEX is highlighted.
The INDEX EXPRESSION WINDOW then will appear. Type in the following
for the index expression: LASTNAME + FIRSTMI. Press <CTRL-ENTER> when you
have typed the entry as shown below. The FILE CREATION WINDOW then will
display. Type in FULLNAME as the name for this complex index. Then press
<ENTER> to create the index. Note: Both of these fields were "character"
type fields. It is legal in Zephyr to concatenate "character" fields.
This is not permissible with any other type fields. You can, however,
convert other types of fields to "character" expressions using functions.
We now have created two indexes for our SAMPLE data base. By changing
the "lead index," we can retrieve records in either LASTNAME or ZIP order.
We'll do this in a few minutes. Now let's add some data.
Adding Data to Your Data Base
Let's take off our BUILD hat for a moment and actually INPUT some data
into our new data base. Use the <HOME> cursor key to move to the INPUT menu
option. Now highlight the ADD RECORDS option by typing an A. Then press
<ENTER> to display a blank data entry screen. Make up several entries such
as the one shown below. Press <PgDn> to save each entry and move to
another blank screen. When you have finished adding records, press <ESC>
to end your ADD RECORDS session.
Browsing Thru Data Bases
One of Zephyr's most powerful features is its BROWSE RECORDS mode. It
gives you a spreadsheet-type view of your current data base sorted in the
order of the primary index. The view can be modified to look at only a
particular group of records by setting a FILTER. Or we can change the
order of the data by simply changing the LEAD INDEX. FoxPro2 Made Easy
dedicates over 100 pages to its explanation of all the features of the
BROWSE function. We will explore a few of the features now and come back
to the more complex ones later.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 7
To enter BROWSE mode, highlight the BROWSE RECORDS option in the INPUT
menu and press <ENTER>.
Moving through the data horizontally is accomplished by pressing the
<TAB> key. Or you can move in the reverse direction by pressing <SHIFT-
TAB>. To move down or up a row at a time, press the <Up> or <Dn> cursor
keys. Use <PgUp>/<PgDn> to move more quickly.
In a large data base, this would be cumbersome to say the least.
Zephyr supports indexed movement through the data base by pressing <CTRL-K>
and then typing all or part of the lead index key to find. Pressing
<ENTER> executes the search which will be virtually instantaneous on any
size data base. If a matching record is not found, the cursor will be
positioned on the closest match. <F11> moves you to the top of the file
while <F12> moves you to the bottom.
Suppose we decide we'd like to search on a different index key. Then
simply press the <F10> function key to display a list of current active
indexes for this data base. Highlight the desired index and press <ENTER>.
Then execute the search using the new lead index as outlined above.
There may be instances in which you need to find a particular expres-
sion but you do not know what field the expression is stored in. Move to
the top of your data base, then press <CTRL-F> and enter the expression to
find. Press <CTRL-ENTER> to execute the search.
Using Memo Fields
If you constructed the SAMPLE data base as recommended, you will note
that it includes a COMMENTS field with a notation beside it that says memo.
The data for memo fields is actually stored in SAMPLE.FPT. The 10 character
width of the memo field in the main data base merely stores a 'pointer' to
the memo data in the special memo file. This is good news because a memo
field can store data of any size. It is a variable length field with
virtually limitless possibilities. If a memo field in a particular record
is empty, its memo designation will always appear in all lowercase letters:
memo. If it contains data, the display will show Memo.
Data can be added or changed in a memo field while in BROWSE mode by
positioning the cursor on the desired memo field. Then press <F5> or
<CTRL-PgDn> to invoke the memo editor. Now move to the COMMENTS field and
add some data. You will note that the editor functions much like a word
processor. It includes block copy and delete functions, global search and
replace, and many other nice touches. These are covered in greater detail
in the FoxPro2 Made Easy reference book. When you have finished your entry
in the memo field, press <CTRL-W> to close the BROWSE window or <CTRL-F1>
to switch back to the browse table and leave the MEMO window open.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 8
Browse Formats
The default BROWSE settings provide you with access to all fields in
your current data base. Every field is formatted to its default specifica-
tions, every field is accessible, and no error correction is provided.
This may or may not be desirable depending upon your particular applica-
tion.
Zephyr provides access to all the tools available to a FoxPro program-
mer in customizing your BROWSE environment. Some of the functions are
relatively simple to use (such as a customized list of fields to display)
and some require a little more study. The more complex functions are
carefully explained under the BROWSE topic in the Zephyr HELP file. How to
access this information is covered in the next section. Choose the BROWSE
FORMAT option on the INPUT menu and you will be prompted to enter a BROWSE
expression.
Here you can enter any combination of BROWSE commands. To specify a
particular list of fields to display, simply enter the word "FIELDS"
followed by the field names of the fields to display. Separate the field
names with commas. For example, try FIELDS Lastname, Phone, Comments and
press <CTRL-ENTER>. Then, choose the BROWSE RECORDS option again and
examine the result.
Zephyr HELP System
Zephyr has over a megabyte of HELP waiting at your fingertips. In
addition to coverage of basic information relating to use of Zephyr, the
HELP system also includes documentation from Fox Software on virtually all
of the commands in the FoxPro programming language. This documentation is
included with permission from Fox Software. It may not be used for any
purpose other than in conjunction with running the Zephyr program.
To execute Zephyr's context-sensitive HELP, press the <F1> function
key at any time. The HELP system will appear in its own window. You may
either use the cursor keys to move through the topics or type the first
letter of the topic with which you want help. Then scroll to the exact
command desired. When the desired topic is highlighted, press <ENTER> to
display the text. Use the cursor keys to move through the text. Then type
T to redisplay the topics menu, or press <ESC> to exit from the help.
The help system is actually nothing more than a Zephyr data base
(ZHELP). It can be opened and manipulated just as any other data base can.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 9
Changing Lead Indexes
As mentioned previously, there are many occasions when you may wish to
access your data bases in a different order. Changing Lead Indexes is
Zephyr's way of allowing you to shift gears from one index to another.
From the INPUT menu, choose the INDEX SETTING option. Zephyr will display
a window with all current indexes in use with the primary data base.
Use the cursor keys to highlight the desired index and press <ENTER>
to make it the new lead index. Until changed again, retrieval and sorting
will be done in the order of the new lead index. Note that all indexes are
kept current as records are added or changed in the data base so long as
the indexes are open and in use. If the indexes appear in the index list,
they are open and in use.
Notice in the listing of indexes that the first choice always is
* NATURAL ORDER *. Selecting this option means records will be displayed
and sorted in the order in which they were physically entered into the data
base. All other indexes still are maintained as explained above. This
might be desirable for certain reports in which you want to list informa-
tion in the order in which it was entered.
Zephyr FILE Functions
Let's look briefly at Zephyr's tools for selecting, opening, and
closing data bases and indexes. All of these functions are housed under
the FILE menu option. Use the cursor keys to move and display that option.
Before using any data base, it first must be opened. Whenever you
create a new file or index, it is automatically opened. Zephyr also
remembers the files and indexes which were in use immediately before you
last exited the program. In all other cases, you must first open a data
base or index before using it.
Since Zephyr allows you to have up to 25 data bases and 25 indexes
open at the same time, there necessarily must be a way to select the
primary file and index to use. Finally, Zephyr permits you to close either
individual files and indexes or all files and indexes. Closing a file
closes its indexes.
All of the above functions are supported on the FILE pull-down menu.
Simply highlight the desired option and press <ENTER>. An appropriate
window will open in which you may choose the desired file. Press <ENTER>
to execute your choice. The Zephyr status line always displays the primary
data base file in use.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 10
Creating Zephyr OUTPUT
The power of Zephyr is its ability to permit non-programmers to design
virtually any imaginable type of output document. These range from simple
lists of columnar data from a data base, to multi-faceted reports and label
template files, to state-of-the-art form letters. Say goodbye forever to
importing and exporting data just to generate a form letter. Zephyr
includes what Data Based Advisor magazine called "one of the smartest form
letter functions around ... the only one you'll ever need." The next
sections walk you through building simple, but effective, examples of each
output variety supported. However, to get the most out of Zephyr reports
and labels, Edward Jones' FoxPro2 Made Easy is a must here.
With the exception of lists, all other Zephyr output is generated by
"pouring" data from up to 25 data bases through a template. A template is
a file of instructions which tells Zephyr how to format the output. It
does not tell Zephyr which records to display or print. That is done with
a filter.
Before you can generate anything other than a list, you must first
create the template file. Separate editors are included with Zephyr to
permit the creation and revision of reports, labels, and form letters.
These all are accessed from the BUILD pull-down menu. There is no limit
(other than the size of your hard disk) to the number of templates which
can be created.
If you are familiar with other dBASE compatible products, then you are
in for a pleasant surprise. The new FoxPro data base engine has scrapped
the familiar (but lousy) dBASE III report and label templates in favor of a
much more flexible and powerful off-spring. As with anything new, the
banded report writer in particular takes some practice to become an expert.
The payoff is much enhanced reports which were never before possible.
Zephyr REPORTS
To access the Zephyr report writer, choose the REPORT option from the
BUILD pull-down menu. Zephyr will display the NEW/OLD window allowing you
to select whether to build a new report or revise an old one. Since we are
just starting, choose the NEW option and press <ENTER>. The FILE SELECTION
WINDOW will appear. Name the report SAMPLE. Press <CTRL-ENTER>. The REPORT
WRITER WINDOW will display as shown below after pressing <ALT-O>.
Notice that the rows of the report are divided into bands for page
heading, detail, and page footing. Accessing the FoxPro report pull-down
menu by pressing <ALT-O> enables you to add additional bands for titles,
summaries and data groupings, specify report layout options, preview your
report, add and remove bands from the report, and toggle between text,
field, and box modes in designing report items. If all this sounds Greek
to you and you're not from Greece, we will clear the fog on the next page.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 11
Detail bands are used to specify the data which will comprise your
report. This typically consists of field names but may also include text
and/or boxes. In addition, any legal FoxPro expression (such as a date
computation or a calculated value from several fields) may be included in a
detail band. Each band represents a row of your report. If you need more
rows than are displayed, press <CTRL-N>. To remove a band, press <CTRL-M>.
Detail bands always execute once for each record.
PgHead and PgFoot bands are rows of a report which will only print
once per page (at the top and bottom of the page). While these bands
generally contain text (such as a heading or a page number), they also may
contain field data or FoxPro expressions. They execute once per page.
Title and Summary bands contain information which should only appear
at the beginning or end of a report, respectively. Group bands, as the
name implies, are bands which permit the grouping of information in a
report. These usually consist of a group heading and perhaps summary data
about the group (such as a count or a sub-total). Typically it is used to
divide a report into parts (such as people from each different state)
rather than running separate reports for each state.
The Page Layout option is used to set page length and margin widths to
accommodate different types of reporting requirements. Those using laser
printers may need to alter the page length setting from 60 to approximately
56 to avoid blank pages between actual pages of a report. Foreign users
also will need to experiment a little bit to accommodate foreign paper
sizes.
The Page Preview option provides a convenient means of checking your
work without leaving the report writer. It will actually display how your
report will look with data from your current data base. You then can make
any desired changes. Now let's create our sample report.
First, add a Title Band by accessing the FoxPro report menu <ALT-O>,
highlighting the Title/Summary option, and pressing <ENTER>. Use the <TAB>
key to move to the title option in the dialog window. Press <ENTER> to
mark this choice. Then <TAB> to the OK option and press <ENTER>. The
title band will be inserted at the top of your report worksheet. Use the
right cursor key to move to the center of the title band and type Sample
Zephyr Report. Press <ENTER> to complete the entry. If it is not cen-
tered, press <SPACE> while positioned in the text you typed. Once high-
lighted, use the cursor keys to move the text to the center. Then press
<ENTER> to complete your work.
Now let's create the Page Heading. In the sample, we want the page
number to display on the left margin and today's date to display on the
right margin. This requires our use of two FoxPro functions. DATE() is
the FoxPro function used to return today's date while _PAGENO will return
the current report page number.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 12
Since we want the word 'Page' to actually appear in the heading, we
need to type some literal text into the PgHead band. Using the cursor
keys, move to far left of first PgHead Band. Type Page and press <ENTER>.
Now move over a space with the cursor keys and press <CTRL-F> to bring
up the field dialog window. Use the <TAB> key to move to the blank field
beside the < Expr... >. Type in _PAGENO and press <CTRL-ENTER>. This will
insert the page number variable at the designated spot in the band.
Using the cursor keys, move to within 8 spaces of the right margin on
the same band. Repeat the steps above used to insert the page number,
except type the word DATE() rather than _PAGENO this time. This will
insert today's date. Check your work now by pressing <CTRL-I> for a
preview report. Type D when done. If you made a mistake, move the cursor
to the item which is incorrect, then press <SPACE BAR> to highlight it,
then press <DEL> to delete it. Then try again!
Now move to the first Detail Band. Let's specify the fields we want
to use in the report. The same steps can be used for fields as were used
above for the FoxPro variables, so we won't repeat them. There is an
alternative method which you may prefer if you consider yourself a novice.
Press <CTRL-F> to bring up the field dialog window. Press <ENTER> while
positioned in < Expr.. >. When the field selection window appears, press
<SHIFT-TAB> to move to the field list. Highlight the desired field
Firstmi. Press <ENTER> <CTRL-ENTER> <CTRL-ENTER>. Use cursor to move over a
space and repeat for LASTNAME and BIRTHDAY.
We added a monkey wrench just to be sure you're not sleeping. We
don't have an AGE field in our data base, but Zephyr can compute it anyway.
Follow the steps which were used above in entering the _PAGENO expression,
except enter the following expression: (DATE()-BIRTHDAY)/365. This tells
Zephyr to subtract birthdate from today and divide the result by 365 days.
Now for the finishing touches. Move to the left margin of the third
PgHead Band and type the headings which should appear over the fields:
First Name, Last Name, Birthday, and Age. Press <ENTER> when you are
finished. Then move to the next band and type a row of hyphens to simulate
an underscore. Press <ENTER> when you are finished. To preview your
report, press <CTRL-I>. Your results should look like what appears below.
Press D to exit Preview.
If everything looks correct, you are ready to save your report. If
not, revise the necessary entries as explained previously.
To save the SAMPLE report template, press <CTRL-W>.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 13
Zephyr LABELS
To access the Zephyr label editor, choose the LABEL option from the
BUILD pull-down menu. Zephyr will display the NEW/OLD window. Select
whether to build a new label template or revise an old one. Since we are
just starting, choose the NEW option and press <ENTER>. The FILE SELECTION
WINDOW will appear. Name the template SAMPLE. Press <CTRL-ENTER>. The LABEL
EDITOR will display. Press <ALT-L>.
There are six settings which control the formatting of labels.
1. Left Margin
2. Label Width
3. Label Height
4. Number of Labels Across
5. Spaces Between Labels
6. Lines Between Labels
Many of the more popular label settings already have been defined and
can be accessed by pressing <CTRL-L>. Highlight the desired format and
press the <ENTER> key. In the alternative, you may <TAB> to the various
setting and set them as desired. The label display will adjust accordingly
to provide a graphic representation of your labels.
The other step in creating a label template is to identify the fields
of information which should be printed. Using our SAMPLE data base, we can
create simple mailing labels by entering the field names as shown below.
Note that multiple fields can be included on a single line of the mailing
label by separating the field names with a comma. This will automatically
trim trailing spaces from fields and add a space between each two fields.
Once you have entered the data shown above, press <CTRL-I> to preview
the way your labels will actually look when printed. To save the label
template, press <CTRL-W>. Label templates can be revised in the same way
as reports.
Zephyr FORM LETTERS
Zephyr form letters are created using the FORM LETTER option on the
BUILD pull-down menu. Zephyr will display the NEW/OLD window. Select
whether to build a new form letter or revise an old one. Choose the NEW
option and press <ENTER>. The FILE SELECTION WINDOW will appear. Name the
form letter SAMPLE. Press <CTRL-ENTER>. The FORM LETTER EDITOR will display
with the name of your form letter template centered above the editor.
Note: the file extension of .TXT is used unless you include a file exten-
sion when you specify the name of the form letter.
Form letters consist of boilerplate text and field data expressions
which tell Zephyr to extract pieces of data from your data bases. These
expressions may be as simple as a field name, or they may be quite complex.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 14
The more complex expressions actually instruct Zephyr to evaluate condi-
tions and "jump" to a particular place in the form letter depending upon
the result of that evaluation.
If you wish to extract data from a field in the primary data base,
position to the place in the form letter where the data should be inserted.
Then press <F10> to pop up the field list. Use the cursor keys to high-
light the desired field, and press <ENTER>. The field data expression for
that field will be inserted in your form letter. Notice that simple field
data expressions consist of the file name, a period, and a field name
surrounded by pairs of //'s. When the form letter is executed from the
OUTPUT menu, the field contents will be substituted for field expressions.
In the example on the preceding page, you will notice the expression
//=CDOW(Birthday)//. This tells Zephyr to print the day of the week for
the particular birthday field in character form. The result would be one
of the days of the week: Sunday through Saturday. The FoxPro language
includes hundreds of functions, all of which are documented in the Zephyr
HELP file. Notice that a function consists of a command (CDOW) plus one or
more modifiers which are surrounded by parentheses. The equals sign (=)
tells Zephyr you are taking control and wish to enter a programming
expression. These expressions must be character expressions.
One of the more powerful functions in the dBASE language is the
IMMEDIATE IF function. Its syntax is IIF(condition,IFtrue,IFfalse). The
condition is any dBASE expression which evaluates to a logical true or
false. The IFtrue expression must be a character expression in Zephyr form
letters. It tells Zephyr what to do if the logical expression is true.
The IFfalse expression also must be a character expression in Zephyr form
letters. It tells Zephyr what to do if the logical expression evaluates to
false. For example, if you had a MARRIED field and you wished to print
"HITCHED" in the form letter if the person were married or "AVAILABLE" if
the person were not married, the Zephyr form letter expression would be
IIF(MARRIED,"HITCHED","AVAILABLE"). See the FoxPro2 Made Easy reference
book for numerous other examples.
Advanced Expressions
Zephyr form letters also may contain logical expressions which are
used to determine whether to jump to a particular paragraph in the form
letter. The syntax for the conditional GOTO expression is //}LA-
BEL,condition// where condition is the logical expression (explained below)
and LABEL is any desired label name to which processing jumps when the
logical condition evaluates to true. The syntax for the LABEL expression is
//{LABEL}//.
LASTNAME='Smith' is a logical expression which compares a character
field to a text expression. When 'Smith is in the LASTNAME field' then the
expression is TRUE. FILINGDT=DATE() is an example of structuring a compari-
son between a FILINGDT field and today's date. If true, the form letter
jumps to LABEL.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 15
The expressions actually would appear in your form letter as shown
below. //}PARA1,Lastname='Smith'// and //}PARA2,Filingdt=DATE()//. The
label expressions would be //{PARA1}// and //{PARA2}//.
On occasion, you may wish to store the actual margins for your form
letter in the form letter itself. The syntax is //@LMargin,RMargin//. If
you wished to set the left and right margins to 10 and 70, use //@10,70//.
Zephyr form letters may also manipulate other indexed data bases and
extract information from them as well. The syntax for extracting field
data from another file is //FILENAME->FIELDNAME//. To execute a search of
any data base, enter a seek command: //>file#,KEY// where file# is the
number of the work area for the desired file and KEY is an expression
matching the field type of the lead index for the desired file, e.g.
//>3,'Jones'// assuming a LastName lead index.
Zephyr Quick Lists
There may be occasions when you simply wish to extract a quick list of
information in columns which correspond to several fields from a particular
data base. First, select the desired file as the primary data base as
explained above. Then choose QUICK LIST from the OUTPUT menu.
The FIELD SELECTION WINDOW will display. Highlight each field you
wish to list in the order you want them listed. Press <ENTER> after each
selection. A window will display your choices as you make them. When you
finish choosing fields, press <ESC> to continue.
The FILTER SELECTION WINDOW will display. This provides an opportuni-
ty to narrow down the group of records to be displayed or printed. Refer
to the FILTER section of this User's Guide for more information. To delete
an existing filter, press <DEL> when the window first displays then <CTRL-
ENTER>. To proceed without entering a filter, press <ESC>. Or, you may
enter the filter expression. Then press <CTRL-ENTER> to proceed.
The INDEX SELECTION WINDOW will display. Highlight the desired lead
index (i.e. sort order) for your listing and press <ENTER>. Or, to leave
the existing lead index, just press <ESC>.
You will find quick lists are useful for extracting data to obtain a
quick, thumbnail sketch of your data. They also are valuable in honing
your Boolean logic (record selection) skills. If you make a mistake, don't
give up! Try again. No one ever learned data base management in a day.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 16
Zephyr Filters
One of the most critical data base management functions is the ability
to narrow down your data base to a specific group of records. In the dBASE
world, these selection criteria are known as filters. In Zephyr, a filter
controls which SUBSET of records can be accessed in both INPUT and OUTPUT
modes. If no filter is active, all records are accessible including those
marked for deletion. The FILTER SELECTION WINDOW can be accessed from both
the INPUT and OUTPUT menus. And it also appears as part of the output
process in generating any report, label, form letter, or list.
Most filters consist of a fieldname, a Boolean operator, and an
expression of the same type as the fieldname. Using <SHIFT-TAB> within the
FILTER SELECTION WINDOW moves you to the field list. Highlight the desired
field to be used to narrow down your data to a specific group of records
and press <ENTER>. Then enter a Boolean operator: = (equals), <> (not
equals), < (less than), > (greater than), <= (at most), >= (at least).
Then specify the value which must be TRUE for a record to be selected.
Press <CTRL-ENTER> to proceed. If your filter does not evaluate to a logi-
cal expression, Zephyr will display an error and let you try again.
Otherwise, records not matching the filter will disappear from view and use
until you change or delete the filter.
To assure that an expression matches the type of the fieldname to
which it refers, follow these simple rules. If the field type is charac-
ter, then the expression should be surrounded in quotes unless it is the
name of another field. In the latter case, the other field either must
also be a character field or it must be converted to a character field
using the conversion functions: DTOC() for dates or STR() for numeric
fields. These functions are covered in detail in the HELP file which is
accessed by pressing <F1>. For example, LASTNAME="Jones" is a valid filter
using a character field.
If the field type is numeric, then the value should be entered
literally without quotation marks. For example, FILINGFEE=50 is a valid
filter using a numeric field.
If the field type is date, then the value must be entered by surround-
ing the date text with braces. For example, FILINGDT={10/10/89} is a valid
filter. An alternative syntax is FILINGDT=CTOD("10/10/89"). The latter
example uses the character-to-date function to convert a character expres-
sion (surrounded in quotes) to a date expression. Either method will work.
You may join more than one expression to another using the .OR. and
.AND. operators. Lastname="Jones" .OR. Lastname="Smith" would filter out
all records in the data base except those whose last name was Jones or
Smith. Using .OR. means if either condition is TRUE, the record will
appear while using .AND. means all the conditions joined by .AND. must be
TRUE for the record to appear.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 17
Another very powerful Boolean operator is supported. $ means "is
contained in" to Zephyr. Thus, we could say "a"$LASTNAME which would find
all records with a last name containing the lower case letter "a." This
operator is particularly powerful in Zephyr since it allows you to search
for a particular word or phrase in memo fields as well as character fields.
To negate a particular expression, use the .NOT. connector. For example,
.NOT. "a"$LASTNAME would find all records in which the last name field did
not contain a lower case "a."
Many volumes could be written on filters. The best advice is to try a
few and examine the group of records produced with the filter active. Then
you can try another twist to the filter and see what it accomplishes.
FoxPro2 Made Easy also will prove to be an invaluable resource until you
are comfortable designing filters on your own.
Zephyr Print Options
Zephyr provides a simple method for choosing where to direct the
output from your reports, labels, form letters, and quick lists. You may
either display, print to a printer, or write to a file. These options all
are provided on the OUTPUT menu.
Zephyr's default is display only. To turn on printer output, high-
light the PRINTER OUTPUT OFF option, and press <ENTER>. This toggles the
printed output option to ON. Repeating the process toggles it back OFF.
If you prefer to send output to a file rather than the printer, then
highlight the FILE OUTPUT OFF option, and press <ENTER>. You then will be
prompted to name the output file. Type a legal DOS file name and press
<ENTER>. To toggle file output OFF again, highlight the option and press
<ENTER> again.
In a nutshell, that's the basics of Zephyr. Once you have mastered the
concepts in this chapter, you're ready to work on becoming a data base
guru. The next chapter guides you through many of Zephyr's more sophisti-
cated bells & whistles. If this is your first data base experience, call it
a day here and get some rest.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 18
Advanced Features
File Management
Zephyr supports manipulation of up to 25 data bases simultaneously.
For each data base, you can open one or more indexes so long as the total
number of open indexes does not exceed 25. With the exception of creating
new data bases and indexes, all of the file opening, closing, and selecting
options are located on the FILE pull-down menu shown below.
|----------------------|
| SELECT |
| FILE |
| INDEX |
|----------------------|
| OPEN |
| FILE |
| INDEX |
|----------------------|
| CLOSE |
| FILE |
| INDEX |
| RELATION |
| ALL |
|----------------------|
| IMPORT |
| EXPORT |
|----------------------|
| REINDEX |
| PACK |
|----------------------|
Before a file can be used, it first must be opened. Creating a new
file automatically opens it. In addition, the default BROWSE, EDIT, and
ADD options work only on the primary data base. The SELECT FILE option
allows you to choose the primary data base with which to work. The SELECT
INDEX option lets you change the lead index, if any. The latter two
options also are available on the INPUT pull-down menu.
NOTE: Zephyr always needs one work file. Never open more than 24 data
bases simultaneously or unpredictable behavior is likely! Also make
certain that sufficient FILES have been specified in your CONFIG.SYS file.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 19
Relational Data Bases
In many data base applications, it is more efficient to store various
pieces of information in multiple data bases. For example, a PTA data base
typically would include a file for PARENT information and a separate file
for CHILD information. By structuring the files in this way, it would not
be necessary to include father, mother, home address, home phone, and work
phone information in each CHILD record. Instead, a "unique key" field
could be added to both the PARENT and CHILD data bases so that various
records in the two files could be related.
Since home phone numbers typically are unique within a particular PTA
district, this might serve as an ideal key field for both files. Since
dBASE-dialect data bases usually only support "many-to-one" file relations,
we would want the CHILD data base to be our primary data base, the PARENT
data base to be our related data base, and the PARENT file would be indexed
on PHONE to allow the proper linkage of the two files. Thus, we could
create a PARENT data base that looked something like the following:
Field Name Field Type Field Length Field Decimals
LASTNAME C 15 0
FATHER C 20 0
MOTHER C 20 0
ADDRESS C 30 0
PHONE C 15 0
The CHILD data base would include entries like those shown below:
Field Name Field Type Field Length Field Decimals
CHILD C 20 0
PHONE C 15 0
TEACHER C 20 0
BIRTHDAY D 8 0
LASTNAME C 15 0
Note that both data bases contain a PHONE field and a LASTNAME field.
However, we would not want to link the data bases by last name since there
may be more than one 'Smith' in the same PTA. In addition, with today's
nuclear family relationships, a child's last name is not necessarily the
same as that of the couple with whom the child resides.
Files are related to one another by selecting RELATION on the BUILD
menu. Before establishing the relation, create both of the above data
bases, then SELECT the PARENT data base and build a new index on the PHONE
field. Then SELECT the CHILD data base as the primary data base. Choose the
RELATION option, then highlight the PHONE field when prompted.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 20
Once files are related, movement through one data base automatically
moves the record pointer to the appropriate record in the related data
base. For reports, labels, and form letters, the related fields can be
extracted simply by referencing the related file name and field name. The
syntax to extract the father's name while running a report of all school
kids would be Parent->Father. The same syntax could be used in BROWSE mode.
Up to 25 simultaneous relations are supported in Zephyr.
Importing & Exporting Data
Zephyr provides a rich variety of tools to assist in importing and
exporting data. The file types supported are shown in the FILE TYPES
SELECTION WINDOW whenever you choose the IMPORT or EXPORT options from the
FILE pull-down menu. See the README.DOC file for a current listing.
To import a file, first create a Zephyr data base which matches the
structure of the data in the external file. Select this file as your
primary data base. Then choose IMPORT, highlight the file type of the
external file, and press <ENTER>. The FILE SELECTION WINDOW will display.
Highlight the external file name and press <ENTER>. Zephyr will do the
rest.
To export file data, first select the Zephyr data base. Use the
FILTER option to define the group of records to be exported. Then choose
EXPORT, highlight the file type of the external file to create, and press
<ENTER>. The FILE NAMING WINDOW will display. Enter a name for the
external file to be created and press <ENTER>. Zephyr will do the rest.
File Maintenance Utilities
Zephyr provides the necessary tools to rebuild your data bases and
indexes in the unlikely event of an electrical problem. As with all
electronic data bases, Zephyr is absolutely dependent upon a reliable
source of electricity. Do not connect your computer on the same circuit
with other electrical hogs such as toasters, coffee pots, microwave ovens,
and air conditioners. Do not use your computer during electrical storms.
If your lights flicker from time to time, this is a tell-tale sign of a
power problem. Make certain your computer is on a circuit with a reliable
source of power.
In the event you experience power problems or if your computer locks
up in the middle of using Zephyr, usually all is not lost. The word
"usually" is used advisedly. Don't substitute luck for frequent backups,
or someday your computer most assuredly will get the last laugh! If you
have trouble finding records, try one or both of the following options.
The REINDEX option on the FILE menu rebuilds all of the currently
active indexes for the primary data base. It does not rebuild indexes of
any other open data base. Thus, you first should select the desired
primary data base. Then execute the REINDEX option.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 21
The PACK option on the FILE menu rebuilds the primary data base and
all associated indexes. It also permanently deletes any records marked for
deletion in the primary data base. This option typically takes longer to
execute because it rebuilds the data base and its indexes.
Before using either option, make certain that you have adequate disk
space to house a duplicate of all your indexes and, for the PACK option,
also your data base.
Add/Edit Format Files
Zephyr supports customized data entry screens for use in ADD and EDIT
input modes. Each screen, known in dBASE lingo as a format file, can be a
single screen in size or many, many screens. In addition, Zephyr supports
an unlimited number of data entry screens per data base. Designing these
screens is somewhat akin to programming since you typically must define
where the screens prompts should be displayed and where the user should
enter data. In the data base trade, these are known as says and gets. As
their names imply, a say command tells Zephyr to just say something while a
get tells Zephyr to get some information from the typist.
If all this sounds boring, then try Zephyr's ADD/EDIT FORMAT option on
the BUILD menu. It automatically builds a very pretty data entry screen
for you to match your current data base. Select the desired primary data
base, then choose the ADD/EDIT FORMAT option. Your computer will hum for a
few moments, and then Zephyr will display the finished product in Zephyr's
editor window. The file name of this data entry screen will be the same as
your data base file with a file extension of .FMT. If you are satisfied
with Zephyr's work or if you don't know what you are doing, simply press
<ESC> to leave the file as it displays.
After building a format file as outlined above, it automatically will
be used whenever you choose the ADD or EDIT options on the INPUT menu. If
you decide you would prefer not to use the custom screen, simply delete the
format file from disk. This can be done from the BUILD PROGRAM option with-
in Zephyr. Type DELETE filename.FMT where filename is the same as the name
of your primary data base.
If you decide you wish to design format files on your own, we recom-
mend you consider our MenuMaker software package. It lets you draw a data
entry screen as it should appear in your application. It then writes the
necessary code to generate the data entry screen in Zephyr.
Format files can have any file name you desire although we recommend
you maintain some relationship between the data base file names and their
associated format files. Otherwise, you may confuse which format files go
with which data bases. If you attempt to use a format file with the wrong
data base, error messages almost certainly will begin appearing.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 22
Selecting Add/Edit Format
Once you have built multiple format files, you need a means of
choosing which one you want to use. On the INPUT pull-down menu, there is
an ADD/EDIT FORMAT option. When this option is selected, Zephyr will
display a FILE SELECTION WINDOW with the file names of all format files in
the default directory. Simply highlight the desired format file and press
<ENTER>. That format file will always be used with the current data base
until another format file is chosen.
Do not attempt to delete a format file from your hard disk after you
have selected it as the lead format file. In the unlikely event that you
forget this advice, you may also need to delete FILENAME.MEM where FILENAME
corresponds to the name of the primary data base file. This file stores
the currently active format file as well as your browse settings. Once
deleted, these obviously would have to be reentered.
The <PgDn> and <PgUp> keys are used to maneuver through data entry
screens. When you reach the first screen or the last, Zephyr will automat-
ically move you to the next closest record in your data base.
Zephyr Command Mode
For those wanting to experiment with programming, Zephyr provides
access to command mode. In this mode, standard FoxPro commands can be
entered and executed just as if the user were writing a FoxPro program. A
couple words of warning are in order. Command mode provides virtually
complete access to the FoxPro data base engine. This means you can easily
destroy Zephyr's working environment. It is your responsibility to assure
that the entire FoxPro environment looks the same when you leave command
mode as when you entered. In particular, do not mess with Zephyr's win-
dows! Create your own if desired. Otherwise, the results of executing
Zephyr menu options may be totally unreliable.
Part of Zephyr's speed is accomplished by keeping all data bases and
indexes open while Zephyr is active. Make certain that you leave data
bases as you found them. Opening or closing files in command mode without
restoring them to the state in which they were found will almost certainly
confuse Zephyr since its internal house-keeping routines are not active
while command mode is operational.
To access command mode, choose the BUILD menu and press <PgDn> to
highlight the COMMANDS option. Then press <ENTER>. The command mode
prompt will display together with a window to execute your choices.
To exit from command mode and return to the Zephyr main menu, press
<ESC> at any time.
We do not provide technical support for command mode; however, the
FoxPro2 Made Simple reference manual will supply invaluable help.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 23
Configuration Settings
Zephyr has a number of tailorable features. These can be configured
to meet your individual needs. These features also make Zephyr more useful
for our overseas friends. By way of introduction, it should be noted that
Zephyr always 'remembers' what you were doing immediately before you exited
Zephyr. Thus, whatever configuration settings are changed before exiting
will be restored the next time you use Zephyr. NEVER turn off your computer
without first exiting from Zephyr gracefully!
In addition to the default configuration which is stored automatically
in a file named ZEPHYR.VUE, you also can create personalized configuration
files. This provides the ability to work with an unlimited combination of
files and a variety of different configuration options. These options
could be tailored to various individual's needs or to particular appli-
cations.
Before saving a new configuration, open all desired data bases and
indexes using the FILE pull-down menu options. Set up any desired rela-
tions as explained above. Also choose the primary data base as well as the
lead indexes for each open data base. And set any desired FILTERs.
Then select CONFIG DEFAULTS to view the listing of tailorable settings
in Zephyr. Most of the configurable options are toggled from one mode to
another simply by pressing <ENTER>. A few of the options provide either a
menu of choices or a list which is rotated by pressing the <SPACE BAR>.
Choose the desired option and press <ENTER>. In dBASE parlance, these
options are SET commands. Press <F1> for more detailed help on the various
configuration options. If you accidentally reconfigure your system in an
unworkable way, just delete ZEPHYR.VUE.
European Configuration
For our foreign users, Zephyr provides a complete set of options to
allow you to do things your way. These DEFAULT options include the
following:
DATE To set the date format for virtually any country
CURRENCY To set the currency symbol and Left/Right position
POINT To set the decimal point character
SEPARATOR To set the thousands separator in numbers
MARK To set the separator in dates
TIME To set 12 or 24 hour time format
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 24
All of these options are stored as part of the default config file.
In addition, for European languages which use characters with diacrit-
ical marks, the FoxPro data base engine includes support for indexing these
additional characters correctly. To index any character field which
includes characters with diacritical marks, create a COMPLEX index and use
the format shown below. Let's assume the field to be indexed is the
LASTNAME field in your data base.
SYS(15,EUROPEAN,LASTNAME)
Zephyr Edit Checks
Zephyr includes one of the most powerful error detection systems
available in a menu-driven data base management system. Zephyr edit checks
enable you to build a data base of "rules" which must be passed before data
can be added to or changed in any Zephyr data base.
Zephyr edit checks execute when all of the following are met:
1. The primary data file name must be less than 8 characters.
2. A custom data entry screen (Add/Edit Format) must exist.
3. An edit checks data base must exist with at least 1 record.
4. Edit checks do NOT operate in BROWSE mode.
5. The edit checks file is NOT open while primary file is in use.
The edit checks data base is a standard Zephyr data base file. Its
file name must be the same as the primary data base with the added number
"1" at the end of the file name. For example, if the primary data base is
SAMPLE, then the corresponding edit checks file would be named SAMPLE1.
The file must have at least two fields: the first specifies error condi-
tions and the second, error messages. The field names do not matter so
long as they are legal Zephyr field names.
Zephyr will build the edit checks file for you automatically. First,
select the primary data base. Then choose EDIT CHECKS on the BUILD menu. If
all the conditions specified on the previous page are met, Zephyr will
create the necessary edit checks file and place you in append mode. You
then can add records to the file which specify when an error condition
exists. A few examples may clear the fog.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 25
Suppose the primary data base contains a LASTNAME field. We want to
make certain that entries are made in these fields. In other words, we
want an error message to display when the LASTNAME field is left blank. In
the first field ERRORWHEN, define the error condition as follows:
EMPTY(LASTNAME)
EMPTY() is a FoxPro function which returns True if the field identi-
fied inside the parentheses is empty. In the second field ERRORMSG, we
would enter an error message to be displayed to the end-user when the error
exists:
The LASTNAME field cannot be blank.
Press <ENTER> to add another record to the file, or press <ESC> when
finished. This file will be closed automatically when you exit from EDIT
CHECKS.
Special note: Since the edit checks files are standard data bases,
they can be opened and manipulated just like any other file. Remember to
close them before switching to or using the primary data base.
Zephyr Calculated Fields
The edit checks table also may be used to provide calculated fields
support. This enables a developer to calculate values for particular
fields without user input. As with edit checks, these calculated fields
only function in EDIT and ADD modes.
To create a calculated field, specify a standard dBASE replace command
in the ErrorWhen field. The syntax is as follows:
REPLACE FIELDNAME WITH VALUE
Remember to surround the value with quotation marks if the field is a
character field. To replace a date field, the value must equate to a date
or may be converted using the CTOD() function. For example, to replace a
date field named FILINGDT with May 2, 1989, the expression would be --
REPLACE FILINGDT WITH CTOD("05/02/89")
If desired, you may specify the logical condition when the replacement
will take place in the ErrorMsg field. If this field is left blank, the
replacement will be executed whenever a record is saved. In the example
above, if you only wished to execute the replacement when the FILINGDT
field was left blank, the syntax would be EMPTY(FILINGDT).
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 26
For more advanced users, note that the REPLACE command can be used to
calculate fields in related data bases as well as the primary data base.
The only syntax change would be to precede the fieldname with the appropri-
ate file name and separator, e.g. FILENAME->fieldname.
Building Pre-Defined Output
Zephyr provides a handy utility for designing a table of output
entries which you use often. For example, there may be a series of monthly
reports which you want to execute once a month without having to remember
which reports to run and which files and filters to use. Zephyr handles
this painlessly by creating a data base (ZEPHYR.DBF) to store an unlimited
number of predefined output templates.
To create entries in the predefined output file, follow these simple
steps. First, create the necessary data bases, reports, labels, and form
letters to support the output you wish to generate. Then create a view
file (CONFIG SAVE) after selecting the files, indexes, relations, and
filters which will apply with this application. Then choose BUILD PRE-
DEFINED to add an entry to the predefined output file, ZEPHYR.DBF.
Entries in the predefined output file consist of a name for the
particular output. It will appear on the pop-up menu when OUTPUT PRE-
DEFINED is chosen. Enter any desired description in the CHOICE field.
In the VIEW field, enter the name of the Zephyr view file which
contains the file, index, filter, and relation settings described above.
If this field is left blank, the current default settings will be used. If
ZEPHYR is inserted in the VIEW field, the default settings when you last
exited Zephyr will be used. If an entry is specified, Zephyr will automat-
ically load this view before executing the commands entered below. When
the commands finish executing, Zephyr will restore the environment as it
existed when the pre-defined output selection was made.
The four other fields COMMAND1 through COMMAND4 permit you to enter an
unlimited variety of FoxPro commands. Each of these fields is 250 charac-
ters in length and can stored multiple commands. Simply separate each
command from the next with the vertical bar character (|). These commands
could be used to create separate windows, prompt the user for input, or run
reports, labels, form letters, and lists. Your imagination is about the
only limitation with Zephyr pre-formatted output. Press F1 for help with
various FoxPro command syntax or consult FoxPro2 Made Easy.
Press <CTRL-W> to save your entry. If you previously have made
entries which you would like to modify, use <PgUp> to scroll through the
records previously entered.
If you wish to exit from the pre-defined output file without making an
entry, simply press <ESC>. Note: ZEPHYR.DBF is a standard FoxPro data base
which can be opened like any other file. Close it before using Pre-Defined
Output!
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 27
Zephyr Pre-Defined Output
Once you have defined your predefined output specifications as
described above, execute any of them by choosing OUTPUT PRE-DEFINED on
Zephyr's pull-down menus. When chosen, a PRE-DEFINED OUTPUT WINDOW will
display listing the CHOICES as you defined them. Highlight the choice
desired and press <ENTER> to execute your choice. Or press <ESC> to exit
without making a selection.
As noted above, if a view has been defined in setting up the choice
that is selected, then Zephyr automatically will restore the working
environment which existed when predefined output was chosen. If no view is
defined for a particular output choice, then Zephyr will execute the
commands with the existing environment. Note: If the predefined output
commands change the existing environment and no view file is specified,
Zephyr will not restore the existing environment when the output finishes
executing!
Keyboard Macros
The FoxPro data base engine includes a sophisticated keyboard macro
facility which can be accessed within Zephyr. Keyboard macros work much
like a tape recorder. They provide a means of storing a series of key-
strokes which can be 'played back' when a special key or key combination
(which you define) is pressed. These macros can be of any length and
complexity. They can be used to navigate through all of Zephyr's pull-down
menus, to store repetitive text, to open browse windows, to change filters
or lead indexes, or virtually anything else which could be done using
Zephyr. Your imagination is about the only limit to the power of Zephyr
macros. Just remember that a macro executes in exactly the way it was
defined every time. Thus, if you move to a different location in Zephyr
and execute the same macro, it may not function the same way.
Since you always can append to an existing macro, start small. Test
the macro to make sure it does what you intended, then add another piece to
it. Zephyr macros are saved with the same file name (with .FKY file
extension) and at the same time that you elect to save a view with the
CONFIG SAVE option. If you do not save a configuration before exiting
Zephyr, then whatever macros were defined during your current work session
are lost forever. This may or may not be what you intended.
To define a macro, position to where you will execute the macro once
defined. Press <SHIFT-F10> to pop-up the MACRO KEY DEFINITION DIALOG BOX.
Press the key or key combination that will be used to playback the macro.
Do not change the macro name assigned to this macro. Now press <CTRL-
ENTER> to begin recording your macro. The dialog box will disappear. Now
press all the keys you desire to record into this macro.
When you wish to stop recording your macro, press <SHIFT-F10> again.
When the dialog appears, if you wish to save your macro in memory (not to
disk!), highlight the OK option and press <ENTER>. Do NOT erase ZEPHYR.XYZ!
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 28
Zephyr Messenger
On the INPUT pull-down menu, the last option is MESSENGER. This
option provides a means of displaying messages in a MESSAGE WINDOW within
Zephyr. To display a message, select the MESSENGER option. The screen
will flash momentarily. Type the message you wish to display and press
<ENTER>. The message will display in the message window.
While this function standing alone is quite useless, it becomes very
powerful when used in conjunction with keyboard macros. Indeed, we are in
the process of developing a complete Zephyr tutorial using a combination of
macros and messages.
As noted above, in designing macros particular care has to be exer-
cised to assure that a macro functions correctly regardless of one's
location within the Zephyr menu system. This is especially important if
you wish to imbed messages within your macros. The following key sequence
will assure that the cursor is positioned on the MESSENGER option from
anywhere on the Zephyr main menu. Press <HOME> <HOME> I <PgDn>.
While the messenger option provides a 5-8 second pause following
display of a message, this can be shortened or eliminated by pressing any
key. This poses a problem if you wish to imbed messages within a macro
since the next keystroke within the macro would immediately remove the
message from the display. You can avoid this result by taking advantage of
the FoxPro macro pause option. Record the message in your macro in the
normal way described above. Then press <SHIFT-F10>. When the dialog
appears, use the <TAB> key to move to Seconds field and press <ENTER>.
<TAB> over to the time field and type in the pause delay and press <ENTER>.
Now press P to imbed a pause in your macro.
Zephyr Math Functions
Count
Zephyr's count function is accessed from the main menu by selecting
OUTPUT COUNT. It provides a simple means of counting either all records in
the data base or a selected group which has been defined using the Zephyr
filter option. When this function is chosen, the FILTER SELECTION WINDOW
will display permitting you to specify the group of records to be counted.
To leave the filter as it is, press <ESC>. Or type in the desired filter
expression and press <CTRL-ENTER>. The count will be displayed.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 29
Field Sum
Zephyr's sum function is accessed by selecting OUTPUT SUM from the
main menu. It permits the user to add the values of any numeric field in
the primary data base for either all records or a selected group of
records. When the FILTER SELECTION WINDOW displays, specify the desired
filter or leave blank for all records. Press <CTRL-ENTER>. When the
NUMERIC FIELD SELECTION WINDOW displays, highlight the field to be summed.
Then press <ENTER>. The selected records for the specified field will be
summed.
Field Average
Zephyr's average function is accessed by selecting the OUTPUT AVERAGE
option from the main menu. It permits the user to average the values of
any numeric field in the primary data base for either all records or a
selected group of records. When the FILTER SELECTION WINDOW displays, spec-
ify the desired filter or leave it blank to select all records. Press
<CTRL-ENTER>. When the NUMERIC FIELD SELECTION WINDOW displays, highlight
the field to be averaged. Then press <ENTER>. The selected records for the
specified field will be averaged.
Calculated Fields
Zephyr provides the facility to compute many mathematical calculations
on the fly as part of the reporting or browse process. While the results
of these calculations are not stored in the data bases themselves, the
calculations are performed at machine speed. Oftentimes, you may find it
more convenient to perform these calculations as part of the report or
browse process rather than attempting to write a program. In addition to
standard math functions, virtually all financial functions are supported in
the FoxPro function library and hence are available for your use within
Zephyr.
The Zephyr HELP file provides additional documentation on many of the
financial functions. See the HELP file explanation of the BROWSE command
for the appropriate syntax in creating calculated fields in a browse
window. FoxPro2 Made Easy is another good reference source.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 30
Zephyr Tools
Calculator
Zephyr's calculator provides the standard functionality of the $9.95
WalMart special calculator. The calculator can be accessed in two ways.
From the Zephyr main menu, select EXECUTE CALCULATOR to pop-up the calcula-
tor window. When finished, press <ESC> twice to exit.
While in most other windows of the Zephyr program, you can access the
calculator by pressing <ALT-S> then C. Press <ESC> once to exit.
Calendar/Diary
Zephyr also provides a sophisticated calendar and diary system which
can be used to maintain appointments and schedules. The calendar/diary
system can be accessed in two ways. From the Zephyr main menu, choose
EXECUTE DIARY to pop-up the calendar/diary window. Press <ESC> twice to
exit. In most other windows of Zephyr, press <ALT-S> then D.
Once activated, the calendar will pop-up and display a calendar for
the current month with today's date highlighted. You can move through the
calendar month-by-month by pressing <PgDn> to move forward a month at a
time or <PgUp> to move back month by month. Or you can move forward a year
at a time by pressing <Shift-PgDn> or backward by pressing <Shift-PgUp>.
To return to today, press T.
To use the diary, position to the desired date, then press <TAB> to
move to the diary. Type any desired entries and press <Shift-TAB> to
return to the calendar. Dates in which appointments are scheduled will be
shaded in the calendar display. <ESC> exits from the calendar/diary.
Puzzle
The famous FoxPro puzzle is designed to provide you with an electronic
means of wasting enormous amounts of time. The puzzle can be accessed in
two ways. From the Zephyr main menu, select EXECUTE PUZZLE or from other
windows press <ALT-S> then Z.
Use the cursor keys to move the numbers until they are sorted properly
left to right and top to bottom. To shuffle the numbers, type S at any
time. <ESC> exits from the puzzle at any time. If accessed from the main
menu, press <ESC> a second time to return to the main menu.
Text Editor
A sophisticated editor is included within Zephyr. It can be used to
create or edit any ASCII file of virtually any size. From the Zephyr main
menu, choose EXECUTE EDITOR. You will be prompted whether to create a NEW
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 31
file or edit an OLD one. Use the <SPACE BAR> to toggle between the op-
tions. Then press <ENTER>. Type in the new file name or highlight the
desired old file, and press <ENTER>. Unless a file extension is specified,
Zephyr will use the extension of .TXT.
A pull-down EDITOR SELECTION WINDOW is accessed by pressing <ALT-E>.
You can tailor the editor to meet your needs by selecting the Preferences
option from the pull-down menu. <TAB> between the options and press
<ENTER> to turn the various options on or off. The editor supports most of
the principle functions found in most word processors.
Cut and paste are supported within the editor. To highlight a block
of text, position cursor to the start of text to be blocked, then press and
hold the <SHIFT> key while using the cursor keys to highlight the desired
block of text.
To copy the blocked text into the paste buffer, press <CTRL-C>. If
you wish to then delete the block of text, press <DEL>. Otherwise, move any
cursor key, and the block highlighting will disappear.
To paste the desired block after copying it to the paste buffer, move
the cursor to the desired position to insert the text, and press <CTRL-V>.
The block will also remain in the paste buffer until replaced by a new
block. Thus, a block can be pasted to more than one place in the document.
Global search and replace also are supported. Press <CTRL-F> to pop-
up the find and replace window. Type in the desired text to find. Then
<TAB> to the replace field and type in the desired replacement text. Press
<CTRL-ENTER> to execute the first find. Press <CTRL-E> to execute the
first replace, or press <CTRL-G> to skip the replace and move to the next
find. Continue this process until the end of document.
The standard editing keys function within the editor. <PgDn> and
<PgUp> move through a document one screen at a time. <CTRL-End> moves to
the end of the document, and <CTRL-Home> moves to the top of the document.
To save a document, press <CTRL-Enter> or <CTRL-W>. To end an editing
session and leave the document as the original, press <ESC>.
The editor automatically makes a copy of the original document with a
file extension of .BAK before saving the new version unless you disable
this feature in the preferences menu discussed above. Make certain that
your hard disk has adequate space to store both the original and the
duplicate, or unpredictable results may be experienced including damage to
either your original or new document!
Choosing the BUILD FORM LETTER option also accesses the editor
permitting you to type any desired text in an existing or new form. Using
this option, the file extension defaults to .TXT
The editor also is used whenever you access a MEMO field within
Zephyr. This allows text to be blocked, copied, or moved.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 32
Other Product Offerings
WAMPUM
One of the data base granddaddy's in the ShareWare market, WAMPUM
provides the richest assortment of data base management functions for the
lowest cost of any data base product in the world. It provides fully
relational data base management using dBASE III-compatible data bases.
Versions are available to support Clipper, dBASE III Plus, FoxBASE+, and
FoxPro indexes. In addition, NetBIOS-compatible network versions are
available in all index types.
dLITE Desktop File Manager
dLITE is a pop-up desktop file manager which permits a user to access
up to 10 different dBASE III-compatible data base applications from within
almost any text-based application. In addition to powerful file management
functions, it also includes a unique PASTE function permitting users to
extract data from any data base and stuff it into a word processing
document, spreadsheet, or any other foreground application. Requirements:
160K or 100K with 3.2 or 4.0 EMS memory, DOS 2.1 or higher, and dual
floppies or hard disk.
MenuMaker
MenuMaker is a data entry screen generator for use with WAMPUM, dLITE,
and Zephyr. The developer draws the data entry screen as it should appear
to end users. Then MenuMaker writes the necessary code to support WAMPUM,
dLITE, or Zephyr applications. Requirements: 320K of RAM, DOS 2.1 or
higher, and dual floppies or a hard disk.
Badge-O-Magic
Badge-O-Magic is a dBASE-compatible, badge and nametag generator
designed for use with an IBM PC-compatible computer and an HP LaserJet+, HP
LaserJet II (all models), HP LaserJet III, or 100% compatible. Using any
dBASE III or IV data base (one is included with the software), Badge-O-
Magic generates one to four line badges with an optional header and footer
line. Badges can be printed using type styles of 20 to 40 points.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 33
Credits
Special Thanks!
Our special tip of the hat to Fox Software for producing truly the
finest data base engine in the world! When you've mastered Zephyr, you
need to give serious consideration to purchasing FoxPro. Zephyr itself
stands as a tribute to what can be done using the FoxPro programming
language. Not only is the data base software the best in the business, but
the people who produce it and support it are by far the most knowledgeable
and most helpful in the entire industry. Reports of even the slightest bug
always have been met with pleasant appreciation and a prompt fix, sometimes
overnight.
Trademarks
This documentation references a number of products and companies whose
names are trademarks or registered trademarks of their respective owners or
companies. The references in this documentation are solely for purposes of
identification. No claim is made to ownership of anyone else's magic
words. A partial list of the trademarks and their owners follows:
Zephyr, WAMPUM, Ward Mundy Software
dLITE
Fox, FoxBASE+, Fox Holdings, Inc.
FoxPro
dBASE, dBASE any- Borland Intl.
thing
Clipper Nantucket Corp.
Zephyr User's Guide (c) Copyright Ward Mundy, 1989-1992. Page 34
ZEPHYR 4.0 ORDER & INVOICE
For ordering assistance, call 10288-0-700-WARD-MUNDY
+-------------------------------------------------------------------+
| User Name | |
|----------------|--------------------------------------------------|
| Address1 | |
|----------------|--------------------------------------------------|
| Address2 | |
|----------------|--------------------------------------------------|
| City State ZIP | |
+-------------------------------------------------------------------+
+-------------------------------------------------------------------+
| Quantity | Description |Item Cost| Total |
|----------|--------------------------------------|---------|-------|
| | Zephyr 4.0 Single-User License with | 50.00| |
| | soft-bound manual & current version | | |
|----------|--------------------------------------|---------|-------|
| | Zephyr 4.0 Network License | 250.00| |
|----------|--------------------------------------|---------|-------|
| | FoxPro2 Made Easy (U.S. only) | 30.00| |
|----------|--------------------------------------|---------|-------|
| | WAMPUM Single-User License | 50.00| |
| | Index: ( ) Clipper ( ) dB3+ | | |
|----------|--------------------------------------|---------|-------|
| | WAMPUM Network License | 250.00| |
| | Index: ( ) Clipper ( ) dB3+ | | |
|----------|--------------------------------------|---------|-------|
| | WAMPUM Soft-Bound User Guide | 20.00| |
|----------|--------------------------------------|---------|-------|
| | dLITE Single-User Lic & manual | 30.00| |
|----------|--------------------------------------|---------|-------|
| | MenuMaker Screen Generator | 20.00| |
|----------|--------------------------------------|---------|-------|
| | Badge-O-Magic Single-User | 50.00| |
|----------|--------------------------------------|---------|-------|
| | Badge-O-Magic Deluxe Version | 99.00| |
|----------|--------------------------------------|---------|-------|
| **** | Shipping and Handling per order | 5.00 U.S| |
| **** | $5 U.S. / $10 Canada & foreign |10.00 for| |
|==========|======================================|=========|=======|
| | GRAND TOTAL w/ SHIPPING |*********| |
+-------------------------------------------------------------------+
Include check or money order in US dollars payable to:
Ward Mundy, PO Box 1169, Atlanta, GA 30301 USA.
For credit card orders: ( ) VISA ( ) MasterCard Expire Date _____________
Signed: ______________________________ Card Number __________________________
*** For fastest service, FAX your credit card order to 404/237-1167. ***