Download as pdf or txt
Download as pdf or txt
You are on page 1of 200

ttlS tD E: Gtl EI{T/SE RUER AI|UIS0R

IIAT \BAS l
L
I
o

May 1993 Developing Gorporate Applications at the Desktop $3.e5 canada $4.es

lfsYour
Ghoose the Right Database Manager
ve!
rILE
DlHow-to Advice v FORUAI
for End Userc 'l
ASGII
lr Must-tead Ti ps
I
Xbase
BASIG
BtrieYe
DBF
for Deuelopers C/G++
IIB
PAL
SQLlables
rrA Recipe for s0r
Successful
Database Design
tr
ct OU'
Plus: E lll
==
I terlGroup lleveloPment zlF
ean
rg> Eee-=U
rith Lotus llotes R3 o-tl
I Pure$peed: o
Ilrning Xbase APPs I
lBeviewed! GUTDE
Ihe latest AlPha Four )

EA=EE
vl
rffiXililrffililil ffifil
I
t
t L.

\
*
I

*rt I
I ;
I - r
:::!
I 'l a
)
I *,
.-i

{t t

J
I I ^&
a a a a

IIT
a

a a a

ever tl

IS
a

Microsoft FiurPro 2.5?


,o Plenty For starters, the ing systems (and soon forthe Nlacintosh
new Microsoff FoxPro' 2.5 for and UNX) you can hare the most power-
J;h
#it6 Wurdows-has a richand pro- firl and most graphical Xbase applications
irum ductive environment with an
intuitive graphical interface.
across all major PC plaforms.
And if you are thinking about migrat-
So it's neverbeen easierforyouto tse and ing to Wlrdows in the fuhre, hare no fear.
develop powerfi.rl database applications. MicrosoftFoxPro
Els:o*ib
Plus there's avirhral hardware store forWmdcxnswill
of tools for both developers and mers. easilyrunallyour
For developers, there are profession- FoxPro 2.0 files.
al tools like Tiace and Debug windows,
Project Manager Menu Builde4, Screen
Builder, and ReportWriter. And each one
Butnomatter
which platform
you choosg you
ForPn 25
Hl
adDa"tase ofwindo''6 and
tahes
is designed to help you create the most can countonthe alla$ rou cnata darrJins a4batiots.
to

powerfirl applications possible. new MicrosoftFoxPro 2.5 to provideyou


For users, there are lots with the fustestPC-based database fluu1-
of handy tools that make it agement system available today
easy to do complex database For additional information, just zip
tasks without programming. on over to your nearest reselle6 or call us
Like Relational Query By Ex- at (800) 882'2000,Dept. JE6. We ll be
iltr#trk"" ample (RQBE),which allows more than happyto tellyouall theways
*#ffii,t? you to build and see queries Microsoft FoxPro 2.5 forWndows can
instantly Or the graphical Browse tool, get your adrenaline pumping.
an intuitive way to view data.
Andwith the arrilal of FoxPro2.5for
both theWrndows and MS-DOSoperat-
Mkxoslt
IMakingiteasier

.o'aa Nto*nrt Lfi.,lE ei hL.oMtotmdt4tun6ra6r.,De @|e$Mdsnc4tuhtutit6dtui*t]s',i&eL\ene.Edlltw)ezxxlt>rlE6ctuac,d4d&h)8MMN


L\r,ts@a'ncdr.d4dtt^)%Mttkn$, sro6rdF.4?be4k anffiddM'nNncMrl&aqncrqetuLn'4tubMrlrt*t)6t ttrb..t)t$xkrai.dMoluwv6M
DAIABASED
ADVISOR
ot{ THE COVEn
BUYER'S GUIDE
FEATURES

How to Ghoose Your BUYER'S GUIDE


Database Management For Develop€rs Only:
System How to Choose a Database
Management System
The question is not, "What's the best Program mability, data format,

I DBMS?" The question is, nvhat's the best


DBMS for the tash?" For an answer-as
well as more questions you should ask
youEelf-turn to page 58. Mike Leuis,
distribution... These arejust a few issues
developers must consider when choosing
a DBMS to meet mission-critical
requirements for the job at hand.
Kann Watterson, and Debbie Dichstein By Mihe l*wis 4l)
prwide sage advice for making sound
buyiog decisions. Included is a directory Database Design 101
and feature list of currently available Before you chome a DBMS, l.hink about
DBMS package6. how you'Il set up your data for maximum
use arld minimum headache.
Cover illu3tr.tion by CLudi. F.ull B! KaretWattersoft S
For End Users Only: How to Choose
a Dalabas€ Management System
FIat filer or relational DBMS? What t-o
look for in basic features, and why each
feature is important.
NEWS TEST DRIVES Br Debbie Dichstein 49
Directory of Database Management
AT PBESS TIME 6 NEW! Systems
Transporlal PRo-Access Now that you know what you need, you
PUBLISHER'S LETTER to Host Data need to know what's available.
By Witliam T. Otd, B! AnnMdtie Carcia, Assistont Edibr,
lPublisher A The Frustum Group gives t}e users what
President
they want-mainhame and with assistance frcn Torrence Dauis 58
miDicomputer data on the desktop.
EDITOR ON THE GO FIRST LOOK
By John L. Hawkinq B! Jim Brou)n fr
Editor-in-Chief lO Borland lntroduces a New,
NEW! Faster dBASE
DAIABASE COI{FIDEI{TIAL MapLinx-No Ph.D. Required Borland revamps dtsASE from the ground
By Buzz Hunter, Maplinr Corp. crGses the lines between up, and frnally releases the promised
InDestigatiue Reporter i94 geographic information systems, dBASE Compiler.
Windows, and ease ofuse. By DauidVeale a5
B! Karenwatterson I
SOFTWARE REVIEW
UPDATE! The Latest CA-Clipper: Newly
Path-VievF-A Different Path to Extended with HDDS
Code Generation RDDs now give CA-Clipper access to
ss'\*
x Need quick applicatio[s? Path6nder Data other file formats, and most of tie bugs
Systems can show you the way. have been thankfully squashed.
By John Muzller A By John Muzller, Technical Ed-itor 93
BOOK REVIEWS! INSIDE TRAGK: FOXPRO 2.5
Extra Help for C++ Programmers ls FoxPro for Windows a Reason to
I,ots ofhands-on C++ programming Switch to Windows?
packed into these five tomes. FoxPro for Windows may have a oice
By Jim Foye 32 interface, but other reasons should
compel you to switrh,like DDE and OLE.
81 Mohsen Moazami
ss and Inrry Kostmeyer l0l
es SOFTWARE REVIEW
Page 32 A Develop€r Evaluates Alpha Four
Is Alpha Four really relational, and
can you really develop major
applicatioN with it? One developer
explores the possibilities.
By Tod.d L. Go ld lO7

4 DATA BASED ADVISOF/MAY 1993


CONTENTS

Vol. I I, Ho. 5, llay 1993


A User Tries Alpha Four
How AJpha Four performs, even when the DEPABTMENTS
user testing it is under tfie gun to
increase productivity.
By Jim Mortld| I 15 FEEDBACK 14
FAX FEEDBACK t6
THE EXPEBTS SOFTWATCH 24
PnoDucr tlEws I
dBASE DEVELOPER DB CO I'lECTlOt{S
Coding for Speed Doing the Forum Shuffle
Just tweaking small sections ofyour code 81 Holly Couell, Sysop la3
can drastically impu,e the performance
ofyour applications. EXPBESS L/AIIE 147
By Malcolm C. Rubel,
ContributinE Ed.it$ 136 ADVENTISI G !]{DEX 193
CALEI{DAN OF EVEI'TS r93
HABDGORE CLIPPER
Build Subclasses to Simplity
Fillered Browses
Reusable browse code is easier to write if
you use a class creation tool like
SuperClass or Class(y). Pege 183
By Rick Spence, Conbibuting Editar 142
THE FOX FILES
FoxPro Tips & Tricks
Speed up FoxPro applications with these
commonly used but sometimes forgotten
tips and tricks.
By Yair Alan Griuer,
Contributing Editor l5O
CLIENT/SERVBR
PARADOX PBOGRAM]trER
Posting Records ADVISOR. :r--J
E
Ensure data-entry inteBrity through the
POSTRECORD event.
E I t:=l
By Brian J. Smith,
Contributing Ed,itor 156
n-EEiffi ---
C/C++ DEVELOPEB
Using FoxPro's Application
Programming lnterface: Adapting clieDt/server archtecture :_f,
Existing DOS Programs By Eri.c Rayl lt5 E,s{.1
How to use the API to put ordinary DOS
programs under FoxPro's conhol. CASE STUDY P.ge 121
Bl Michael L. Brachman 162 Forcst & Trees Gives GUI
Face to itainframe Data
Release 2.0 is put t}llough the beta ETIO TO ANAGEUEI{T
THE BASICS testing paces at a Fortune 500 firm. RDBMS Vendor Update:
By Linda L. Briggs 121 Who's Who?
The comp€titioD among RDBMS
CLIPPEB BASICS DATABASE REPORTING vendoB is heatiDg up agoin.
Developing Faster Clipper Apps Using Data Windows lor B! Jeannette Sill-Holeman 132
Consider these tips for general Reporling with PowerBuilder
CA-CIipper application development. We let you in o a litUe secret about SYSTEII INTEGBATIOII TIPS
BJ Dan D. Cutierrez, doing repolls through the TechEd News and windows NT
Contibuting Editor 16A DataWindow. Bl Mlchoal Horwith 127 Everyone is going over to Windows NI,
whether or not you like it.
PARADOX BASICS CLIENUSERVER DEVELOPER By Kelly Gillcspie,
Manipulate Your Data Build Set-Orienled List Boxes Client lSeruer Technical Editor 135
Foros plsy a huge role in Paradox data Worth 10,000 Words
mallipulation. You can build list boxes that seem to
By Tim Colling and. Rick Kligman 174 have a mountain ofdata in them.
B! Ddlid Menninger t3O

DATA BASED ADVISOF/MAY 1993 5


At Press Time
office in your country. Ifyou want to buy ers a highJevel interface to NetWare
Borland Has the compiler, it'l[ set you back $495. services, which will make it easier for
them to develop applications," says Bill
IDAPI Spec, Critch, Powersoft, director of business
and alliance programs. At this time, de-
dBASE Gompiler Ghannel velopers must understand C and the

Gomputin gis
Windows SDK to utilize NetWare serv-
ices, the company says. The Library will
n orland {and IDAPI partners IBM, be composed ofa set ofPowerScript func-
l{ Novell, and WordFerfect Corp.)
I-.1deli.,ered a working clraft of t-he
Acquired by tions and custom user objects that are
bundled into a PBL file. At this writing,
long-awaited spec for the Integrated Da-
tabase Application Programming Inter-
Trinzic Powersoft had not yet determined how
the product would be sold (stand-alone
face (IDAPI) to vendors and developers Tlinzic Corp., a Palo Alto, CA-based or bundled with PowerBuilder), or how
in late February. The drafthas two main maker of artificial intelligence software much it would cost.
components: the IDAPI API, which is an will acquire Channel Computing, the Powersoft will also develop an inter-
implementation of the SQL Access Portsmouth, NH company that markets face to Btrieve and NetWare SQL using
Group and VOpen's Call Level Interface Forest & Tlees, a query and reporting ODBC. The interface could be ready as
extended to include programming calls, tool and InfoPump, a middleware prod- early as the second quarter of 1993.
and the IDAPI technology, which in- uct in a stock swap said to be worth The agreement with Powersoft is the
cludes what Borland's calling "intelli- about $9 million. A spokesperson for result of a recent efort by Novell to
Bent integration services.' Combined, Trinzic says the company wants to enter garner support from development tool
these two elements will provide a stand- the clienUserver market, and Channel's vendors. In addition to the agreement
ards-based interface for accessing SQL tools provide a good inroad to this grow- with Powersoft, Novell plans similar
and-/or navigational data sources and ing market. In addition to Forest & joint marketing eflorts with Watcom
services across databases and networke. Trees and InfoPump, Trinzic plans to (makers of Watcom SQL) and Symbi-
Ofcourse drivers will be needed to con- market other client/server tools de- otics (makers of a C++ front end).
nect these disparate data sources. For signed for accessing legacy databases Heard on our forum: Powersoft will
its own product line, Borland is focusing that are currently under development at announce a Mac version of PowerBuil-
on the Windows and DOS drivers; IBM Tfinzic. And what about the 37 Channel der by the time you read this.
is focusing on developing OS/2 and AIX employees? It's looking pretty good for
drivers. Borland says a preliminary them.While Trinzic is headquartered in
IDAPI developer's kit will be available Palo Alto, it also has an office in
to partner companies in summer of1993, Waltham, Mass., and is said to be look-
with a commercial SDKto follow shortly.
The spec is in a comment period at this
ing for office space closer to Channel's
Portsmouth, New Hampshire office.
NLM of
writing, and will be re-released after re-
visions have been made. If you'd like a
lnterBase
copy of the IDAPI spec, call Borland at Planned
800-344-4394 or (408) 431-5209.
While Borland is de-emphasizing the
Powersoft to Borland says it plans an NLM version
comparison of IDAPI with Microsoft'g
Open Database Connectivity (ODBC) in-
Release of its InterBase database server, but
they won't say when it will ship or how
terface, Borland reps couldn't resist the
urge to say that ODBC is focused on the
NetWare library much it will cost. 'IVe view the tlTical
Borland desktop user upsizing in a PC
Windows envirooment, while IDAPI ad- Flowersoft Corp., the Burlington, I"AN environment, ald Novell owns the
dresses multiple operating environ- PMass.-based maters of PoweiBui I- lion's share of that market," says Mark
ments. If the goal is to proyide a stand- I d"., the popular clienUsewer de- Tice, director ofmarketing for the Int€r-
ard for database connectiyity, we non- velopment tool, will develop a Power- Base business unit at Borland. Tice says
der why we need two standards? Builder Library for NetWare and inter- the NLM version will be'lust like a
While we're on the subject ofBorland, faces to access Novell's Btrieve record normal InterBase server with full dis-
think back...Are you a registered owner management engine and NetWare SQL tributed capabilities." He adds that In-
of dBASE IV Developer's Edition? Re- databases through ODBC drivers. The terBase's multigenerational architec-
member the promise Borland made to PowerBuilder Library, which will be ture makes it well-suited for interactive
dBASE users to make good on A-T's available in the third quarter of 1993, PC users (as opposed to the competition,
promise to provide users with a coE- will make Netware tools ard services which he says is best for OLTP work).
piler? Well, the compiler is just about (including Netware's directory, print, Tice also touted InterBase's small foot-
ready. (See the "First Look" on page 85 and communications services) more ac- print: It requires 5M of disk space as
in this issue). Ifyou're eligible for a llee cessible to developers, the company opposed to the 20+M required by Sybase
compiler, call Borland at 800-233-2444. says. "The PowerBuilder Library for and Oracle. InterBase is currently avail-
Outside the U.S., contact the Borland NetWare will give application develop- able for TINIX and VA)WMS.D
COMPUTER DISCOUNT WAREHOUSE*
€E WHY PAY RETAIL? CDW'SELLS FOR LESS AND SERVICES YOU BETTER!

SPEG]At @ONilPETNT]VE
CAClipper UPGRADE OFFER
r
Fon @A"Glippeig
For CA-Clipper, FoxPro, Foxbase, dBASE
lll Plus, R:BASE, Superbase and DataEase
Users. Buy CA-Clipper 5.2 Competitive
Upgrade Now for Only $136.37 and Also
Receive from Computer Associates Your
Choice of CA-dBFast, CA-Clipper Toold"
The Prenrier Application or CA-Clipper/Compiler Kit for dBASE lV
Deveiopment S
at No Extra Charge
fut'f,uta When You Register! OMPUTER
/ttsoorEs

Software superior by design

CA-Glipper@ 5.2 UPGRADE FREE D'S7B'BUrION OF APPLICArIONS


z Disiribuie.EXEs al No Additional Cosl z Multiuser Applications Require No
The Premier Application Lic€nses, Buntime Fees or LAN Packs

Development System CAPAC'7Y


z Unlimiled Procedures/Funclions u Array Size: 4,096 Elements Per Dimension,
S'IA7IEBS DOS MEMOEY BARR'EBS ,
Unlimited Dimensions Expanded lremory User 0 to 32 lvlB 7 Virtual l\,,lemory:
,Dynamic Overlay Management: Run Applicalions Thal Exceod Available RAM L,p to 64 MB (Main Memory, Expanded Memory, Hard Disk Space)i Up to 16 I\,48 ol
Without lranually Creating Overlays '
Virlual Memory Managemenl Allows Object Memory (Character Strings, Arrays)i Up lo 9 MB (Main Memory, Expanded
Applicalions to Have Up to Several lregabyles ol Slrings and Afiays Memory) for Database Euttering

OPEN ABCTIT7EC7UBE: FBEEDON fO CBOW , SUPPL'ED DATABASE DR'VEB (DBF'


.Customize CA-Clipper with User-Defined Commands and Functions Build Becords Per Dala Filei 1000 Fields Per Record '
" 1 Billion (Limited Over 200 Open
Generic or Speciallzed Libraries .
Seamlessly lnlegrate Modules irom C, Data Files to Fib Handles); 15 Active lndex€s Per Open Dala File
Assembler, dBASE', and Pascal Access Data Transparently trom Foreign Dala t Characler Fields (Fixed Length): 65,536 Characlers z Numeric Fields: 30
Sources wilh Beplaceable Oatabase D vers and Funclion Libra €s (Available Digils, P€cision lJp lo 16 Signiiicant Digils " Supporl lor Logical Fields
Separately), lncludinO Data on LAN Database Servers and Mainframes Via (True/False), Dale Fields: 01/01/0100 - 1213112999 z Memo Fields (Variable
Galeways Length): 65/536 Characters

STMPLiCT7Y & CONrBOL: frlE OPITMAL BALANCE SYSTET| BEOU'B EMENTS


. lB[.{ PS/2, AT, XT, PC or 100% Compalibles; DOS 3.1 or Higheri 640K RAM
. Oescriptive Function/Command Names and Concise Operalors Promote
Language Fluency : Synlax lrcm Simple, Expressive Commands to String and and Hard Disk Bequired lor Development; Expanded Memory Requires LIM 4.0 or
File Primilives {or ]\rinimum Programming, Maximum Control - Promoles Higher;Works with All Netwo*s Compaiible with DOS 3.1 and Higher
Disciplined, Modular Programming Ior Easier Debugging, Simplilied Maintenanc€
and Greator Code Rousability , Build Pop-Up and Pull-Down Menus, Custom
BROWSES, and Text Editors Ouickly and Easily Soecial Competitive Upgrade Ofler
OPEN NE7WORKTNG: FBEEDOM
,
fO CONNECT

www :iJ:i 6.'J-/


Appiications Run on NeNvorks Supponing DOS 3.1 and Higher ? Modesl
Memory R6quiremenls Allow Smooth Operation with Even lhe Largest Network
Shells : Full Featured Record and File Locking; lnl6lligent Design Permits Read- cow 27723
Through Becord or File Locks - Connocl lo LAN Dalabase Servers

UOST ORDEBS BECEIVED II YOU H]{D I EEIIEN PRIGE CTI.I. US BEfl}NE Y(}U BUY CDW Carries over 9(n0 ComDuter Products
BY 7:3O P.[. C.S.T.
SHIP SAIIE DAY 2440 lllAF|A, NORTHBBOOK, tL 6m62 FAX (7OA) 291-1737 At Discount Prices. ll You Doht See lt, Call!

WHY WAIT? CALL COMPUTER DISCOUNT WAREHOUSE" NOW!


sde6 TiE csria.n.tl
gflXIOCSISlL
T€.hSrEal8e7ll)CSTiblFi
WE SELL NAME BRAND ITEMS FOR LESSI
(+#
g@F4!!!dkp!d6ih46
(8001 769-4CDW No Surch.ry. on Crcdlt C.rd.

!1993cDw compurercenreG. .c rax (708) 291-1737 EEU@-9-:


HlghVolum. Bld.lnvllod
PUBLISHER'S LETTER DATABASED
Produat Vol. ll o.5, ay 1993

Specifrc riitor-i&Chief John L. EawkiN


Mrn.r-g Ed or David I$d@
CUet Soivor Fditor Bdbea
Cu4frsorv6r T€chric!.l EditDr Kelly
Cote
Gillespie
us. -A.scirt Editor Michasl DoDing!
ToclDicd rditor John Mueller, CNE
Alri.iet Editor ADMsie cecia
Ind,ustry Coltributils Editort
M&k Burg6s, GersE F. Goley, ry,
Y. Ale Oive., De D. Gu[ieftz, Buz Hutar,

Specifia Needs M..lold C. Rubel, B.ia


Teh.ic.l Dtr€cto. Kllly ciuespie
CoEposen DBAFo.uESy.Op.
J. Smith, RicL Spene

EoUy Anne CoYeI, David C. Flier.

r By William T. Ota,
Bitl HoEe, John Mueller, CNE
Adituistitie€ A$i.aet MeliDd. MmE
President/Publisher Cftativ6 IrEto. Sh,mn M,,n
Productio! Muagd Tio L. B€m€tt
Gnphic Dodsnor J@i BDwn
Production Ardltant R.me Ledi
Advoniling IXEcto! BJ. Ghistione
Senior AccoDt Eetiv€ Julie Dubd
change going on today, and our choice is A.@ut E edtivs.
TTlB;:,-r::"'rt^li'.,".i'"m"7 whether we will prosper, or be marooned J@es B. By&, Par Edwsid!
! tbeir tiird
product-specific on our islands ofchoice. Metoting CoordiEtor
-Ady.r!i!i!A Coordi@ta
Lisa Meie Oa.keE
M.ltusa Holdetr
! magazine, Clipper Aduisor.lt However, the magazine that provides EpI€.! Lae ad R.prid. Katie bgln
* roared on the database scene an industry perspective, alnd reaches be- Circutatior Di@tor Becky git ho.k
with an initial print run of52,000 copies. yond the horizon ofan individual island, FultrllEdt Ms g€r A]dene Yeo
Circohaio! C@rdinato. BEnt Greco.y
this is a strong t€stimonial to the con- is Data Based Aduisor. ln our island
tinuing need for product-specific cover- amilog1 Data Based Ad,oisor covers all Peegy EeEon, Toftnce Davis,
JeMie Way, Lucy Test!
age. the major islands ofchoice. Each island
This follows the success ofAccessAdui- has a unique development enyironment, R€@ptioEiat ColleenPort€r
sor magazine, which premiered in Feb- with diferent attractions and different Colarclld Lra M. De Berr,
ruary 1993 with an initial print run of cultures. Thin} ofDBA as your database
Netwdt Muegsr SieveD O'H@a, CNE
29,000 copies for a brand new product. travel guide. It provides insights on
Cr€dtt lden got Jose S. Maftinez
ForPro Advisor rrow closely follows with where to go. . .how to get there. . .what
20,000 copies. With completely new the natives are doing. . .and what, and Shippirg/Bleivilg Eileen Smith
product-specific editorial content, all why, to buy when you get there.
three magazines are tapping into a new Publl8hed by Dat Based Solutlon3, lnc.
In a similar way, professional develop-
vertical audience of readers. ers need to know what s happening with Foude./CEO La.ry Eitel
Publishiag is a reflection of what's go- Pm.idoruPubush€r Willi@ T Ota
other products. They need to keep a fin- V.P./Aeiet€ PubUBh€r wart€. Kosek
ing on around us. Change and complex ger on the pulse ofthe industry. By being
inter-relationships are now a fact oflife. the industry-specific magazine on devel-
With information overload, more and
more people need good advice. This is
where our product-specific and industry-
specific magazines come into play.
ophg database applicafions, Data Based
Aduisor provides a sense of how the mar-
het is mouing with its rich variety of
b Aac
AIJOITED

editorial pages and, yes, even with its ye (12) i$ues U.S. i35, Clrda 155
They're the GUI equivalent of publish- advertising pages. Every advertisement
SUBIiCRIPTIONS: r
rincludes Gs frrGs11 1274a4613, rtretn t?5 (U s DolbE,
ing, providing a graphical user interface by a primar5r vendor, or third-party prod-
U.S.!rnl!, CLeinahas or P6tsl Money Or&B). S6d
eb6.nD(im cdeB & D.ta Bed Advisr Suhscnpdd Dept.,
that's Iiiendlier than newsletters, books uct, is further testimony that a vibrant, Bd 169013, E*ondidq CA 920,16 Phmc ords! onh: (3m)
or disks. Even advertisers can tell their changing market exists in our database BACX ISaUEg U.S t6, CrNda & Mdi.o i3, OaElu tro
story better il a four-color magazine for- arena.
(J.S. DoUu!, US BrnI!, ClerirghM€ dr Posrl Momy
Ord@) S6d b.cl t c o.dEE b lhk Ased Solltiru, Ir..,
o.at. "lt,e med,ium is indeed part of the ,1010 Mor.E Bhd., Suite 20o, S.. Diego, CA v21I7. Ldd ol
Data Based, Ad,visor provides a special Anicb av!il"!L m drh aor i17,19
me6sage.
opportunity for both readers and adver- ADVERTISINC: ad Etpra.Inq and dnptry {dvurisins
But why is there a need for both an tisers. The product-speciEc magazires ne3 ,.d infnDtim, .all (3o0) 3366m0, d *rih Dah Bed
soluiiotu, Inc., 1010 Mc.nr BIviL, Sutu 200, Ss Di€go, c,{
indu.stry magazine artd product sp ecifi c
-
were launched to educate a known popu-
magazines? Because, when you think DTSTLIBUTED hy Ltemationrl Periodi,l DnbibuiEs,
lation. Data Based, Advisor is here to 11760SoE4bVrU., Rn.,Si. t,Sao D,.go, CA 92121, (619)
about it, they complement each other. In
grow that population. It's the place to
toda/s world, no man is an island. TWo PUBLITITIED BJ Drb B@d SOIUIreE, IN'. 4OTO MEAI
reach people who aren't already commit- BIvd , Suib 2m, SD Disq CA 9z r 17. 1619) 433${Oo. lu 1619)
perspectives should be scrutinized- 433-9651 Caapus.n.: ?oi)o?,1614 MCI Mril, DATABISED
your task at hand, and your task as part t€d to a specific product. AJI ofour read- DATA BTSED aDr,IEOR t a r.gnkred brdoEk ofDrh
ers in this rapidly changing enyironment BEed solnrims, r... Th. fouNins ee nadmdc of Drh
of the competitive environment. Bacd sdlr,N, rn..: cri.rsaerAdvie., cl,ppd Dd.bpd,
The product specific magazines show are potential customers for the many Dah Bapd A{hisr R.ad6s Choice, Dlt ba. Cm6d.itlil,
new products being released in a highly Datab!$ Dpelops, Dahba. R.r.,t, D.brid., DB Clx)M.
yo.u hou tD do your task better. They ttm3, DNtuirhg SolutioN, Editn on tll. Co, E:pr8 lln.,
competitive database Earket. Field a.pd, H'rd.d. chtF, Prrrdu Pq@m., soli.
serve a focused audience interested in vde Ensinerins, Softpat.h, Th. fd Fil6, Th. vAR R.pdd.
how to better use a specific product. A That's why we've chosen Data Based @C.pright 1993 Dah B,sd soln1iffi,In. A[ r{*16 resped.
of conbnk in any rdb.r |:r.md iE prohibihd Fs
hpli.,ii<n
tight little island, of users and third- Adui,sor tp be at ind,ustry-specific maga- pronotnnrl rep'in6,.o.bd RlFbr Cordinltu, 3{x}336.
m6o.lor.du.a!i, l r.pri.ts,.mtld th. Corigtl cl*mc.
party interests, is creat€d thnough this zine. It will continue, stronger then ever,
common interest. But as I said, no man with its regular horizontal coverage of Printed in USA
is an island. There's a firadamenta.l sea the database industry at the desktop. D

8 DATA BASED ADVISORiMAY 1993


th-
Ir/: I

iut ILE [il


I I I I

I Itll I
il tv Ne-w

I I

L
t I t

-1 a ff ti'g'

Now you can have instant access browser that truly explois the promise
to complete, up-ro-date programming of CD-ROM-based publishing.
information for the Microsoft@ Subscribers to the Microsoft
Windows'- and Windows NT* Developer Network CD will also
YllU operating systems. Introducing the receive the latest development strarcgy
CAl'l BE 0ilE Microsoft Developer Network CD. information from the bimonthly
Updated quarterly, this CD-based
llF IHEM. Deueloper Nehuork Neus, as well as
service is the official channel for invitations to developer conferences.
new technology specifi cations. Over,14,000 developen are already
Even if you're not using Microsoft using the Developer Network CD
tools, you'll want to get this and the feedback confirms that it is
essential development resource. a revolutionary information product.
The CD contains complete In the words of Andrew khulman,
documentation for all Microsoft coauthor of U ndocumented
development products and toolk irs, Windotus, "The Developer Network
a growing library of over 700 source CD is a 'must have' for any serious
code examples, and many previously 'Windows
programmer.,,
urpublished tools and utilities. Get the inside scoop on Windows.
Technical articles open up the archi- A full-year subscription to the
tecnrre of Windows, and the Microsolt Microsoft Network Developer CD is
Knowledge Base makes public only $195 (plus tax and freight), and
developer product bug lists. Charles comes with a 90-day money-back
Petzrid's Programming Windows 3. 1, guarantee. So make the call.
Microsoft Systems Journal, and the
OLE 2.0 SDK are also included. In Tosutscrib.e, or for more informatio[,
Gall 1800) 759-5474,0ept. 0AAPZ.
shon, if Microsoft publishes it and
you need it, ir will be on this CD.
All this information is harnessed
by a powerful, Windows-based
#M Making it easier
o M]<rofr ColltDkn
ee1 ndru l&n!d. puEJ f
r

u*n".ry*a..a.-,i-.,v;;;;i,-*
All a
"\mffiAil#*,.8trj;1H,T"mtg3,prr-r{.r*.:,,",,,.'si
us
ornc,dn^,n,h.luuturr\b,6.
,""i1. h*oe.dsrherrfi,o,7\o.,4,4.t}pr
rn.ii!,. or,soo,r qo{s.
o!ed.,r. ii; t; ::iii; oMrz.
EDTTOR ON THE GO

InMemoriam
Tornl(emm
By John L. Hawkins, Editor-in-Chiet

ranee offunctionality But it's too klud5l tant can view the appointments only, not
T'- to report that Tom Kemm
,rrdtt" t- many obvious bugs for a in"'"ot"*. If an- important activity
"ua
I "r"""a february 22, several
version 4.1 Eoduct; it was gone froE xoy doesn't have a specific time-of-day, a note
""'"v suffering a heart at-
I i'r""k aftei i" **." it eod. U"t Ey associates can't
tr tack- He was 63. hard ilrive within davs. Version 5 is a
i.*iit" tU"t Promiies all tYPes of it. fnii b;havioi contradicts t'he
A freouent sDeaker at database confer- "."
documentation . and may be a bug What'
.o""". to- *i" *"ll-known for his popu- .Janceme"ts. itt be taking a close look it uaderminea a key re-
ever the cause,
t"r topi", dut Uu". normalization' Tom's s(xrn.
- outement in a shared calendar systen'
iusiiaio. pubtic appearance was at the A"t!'" fo"r" oo -"oaging contacts wit'h
.,ther oeoole makes ii too rigid. The only Calendar Creator for Wildows is actu-
Ir,Iicroso-ft ForPro Developer Conference
iast September in Phoenix. Ttraf,s lhe *"" t" an activity is to do it !"[ "ffr -r"t smart€r-it allowe multiple
I-tltra"t" r" U" *"rlaid. Create a calen-
last time I saw him. Over breaHast we soieone. "it""
Ifit's my one of my own chores,
.1". for conferencee, aoother for holidays,
talked about the many ways he hoped to i must do it with myself. This means that
the calendar view (my preferred perspec- a third for birthdays, a fourtJr for vaca-
imorove the database world. ti."s. tU"" calendirs for each person's
Tim was alwaYs workiog to imprcve tivej, insteaa of sUowilg me what fos&s I
T't en ctroose any combination
thinss for us. As presideDt of the Inter- have scheduled, shows my r141u every- ""ti.,itie".
where! I have to open up each "appoint' uoa tU"v .U display and print.toget'her
natlinat a-BASU User Group (IDBUG)' l"-"n'"Ae"aui. Unfortunately, that's
Tom was instrumental in having a la4e -"of -itt -vtetfto see what I'm really about aU Calendar Creator does lt's not
Xbase conference added to the 1991 doirre. This design llaw, coupled wittr
Act!Tor Windows' lack of multi-ueer ca- Lallv a schedute manager, it's not Eulti-
Og/E** i" San Francisco. I was al' the it unacceptable for my ;;: ;i it doesn't let You track addi-
receivins end of massive MCI Mail mes- pability, makes
tional information about your activities
to- organized speakers and situatioa.
It's qreat ifyou need cool calendars'
--ttti-"
Jr-"tt "iand sessio-ns to show the world
"u*L" Microsoft, Schedule+ is clearly a version
It allows DriJcting of schedules in three ii a much better version of
that Xbase was prospering and impor- 1-
Schedule+. a shared calendar system
sizes. but fails to dowDsize the print font,
tant. Perhaps it workedi soon after, ma- ti"iJo"s ,"tIv spi& printing and
ior comoanies start€d buying up the pio resul'tiog i! smaller calendars with un- ";-"
i" tn lv m"lti-use.. Bui if,s only a sched-
'o"er Sase 6r-s ard Products' i"t*^.tion. It prints overlap
"""a"Ut"-
ping appointments i-uconsi.8tetrtly, mak- ub k&oer. not a Pltrd- You cao enter
It's always tough to lose a colleague; it's r-a.t"d ioio it".t, but you can't track
esoeciallv touqh when we lose someone i"e-it ii"-.v for events within events,
contacts and activities.
so'tlevoted to tbe public good. Tom Kemm suih as five days ofComdex plus various -
is valuable, and
events during those days. It shareB a O-t"U oftfr"* p-ducts
will be missed. *i*-ttk" of not showing the I recommend them if You're sure You
"o--oo rra *lut tUey do-and dorft do'
Pl necded name of a multi-day event at tlle top of "iJ.."t
Meanwbile, I'm still searching for a net
each dav.
The Windows environment is 8ti11 wet *o.t pUU p-a""t tlat
supporta t'he way
Schedule+ is multi-user, and lets you
behind the ears. Just because you klow who can view and I, my associates, and my office operates'
*hat vou .teed doesn't mean you cal find ""t"bli"h """i"tuot"
schedule. This is a great Maybe in 1994.
ii",it. O* example is PtMs (personal maintain vour
iofo-rmatioo managers), t}lose dedicated
*rv to share schedules with associates, Email
database products that Leep track ofc'n-
I t6oueht. Not so. We all ne€d to krow
,*,rt domdex and the many other indus- As I said last month, mY two main
t to-do lists, and the are ComPuServe Mail
like. "o-irt^"ot",
"t".l\;hied Polaris PackRat, Act! for irv events we attend, yet we are forced to
every event on eocft of our calen-
"--J "u"t -" MCI Mail is a maddening
and MciMail.
windotra. Microsoft, Schedule+, Calen- "iter se*ice if you access it with a-shaight
dar Creator for Windows, and Campbell dars. We efiouH be able to have a shared
co-- progra-m. Its interface
calendar for shared events, Therc maybe "nicitio""its prompts are unintui-
Services OnTime for Windows. These are
a wav. but the pamphlet that passes for is incoDsistent,
all 6r:e oroducts, buL none provide my documentation addresses only 25 per- live. and its linqoriented mainfiame-
desired mix of features . I'm back to usirg is right uP there with
cent of our questions,
my pocket DaYtimer book and a giant "ivf" "iitot
The assietant capability is further ComouServe's.
wall calendar.
flawed because, while you can maintain 'f}'j nain of usine MCI MaiI directly is
PackRat does the mqst and has neL why I was pleased- to dis.over The Wire
work capability. It provides an amaz ing notes as well as appointmeDts, t'he assis-

10 DATA BASED AOVISOHA'AY 1993


-
for \A/i n<lornzs--
The Complete Development Environment for SQL
Server Programmers

Finally there's a fast, easy way to deverop with sQL


windows' hosted seL server diveropr"ni inri-rir"nt. Server. rntroducing a powerfur
sQL seryer backcnd develoEnent envircrimentaimeJ A feature rich, winrdows based,
oirectty at increasing developer productivity.
SQL-Programmer is one of the^most useful back-end
development tools to enter the client/server
workplace. lt provides Microsoftosel serr"i, sveAiel
cateway deveropers with an intuitive enviro#";i6;i; Micro Decisionware rnc. Database io'iilr",.
fiio"ir"nr "no
ano maintenance oi]iprogr"rmror"

. SOL--Programmer permits developers to


create and edit the programmabb ;bjects
so endearing to SYBASE and l\ricrosott SeL fre Edt aun y,e, Sench
Seryerdatabase enqines.
. So-L-Programmer leatures a ,,test while you
edit" development environment for woriing
on programmable objects tike stored proce:
dures and views.. SPIO 6TlIUS tctmlf
. SOL-Programmer also P@6!hlEi V.lidJt|_DP ./ 2 .l-ping
permits multiDle simul-
taneous, distinct SOL Server conneclions. d.lttE @tu&id.d Er I(...dd.(trud.t .d_..r.r
This means that a developer can sign on to d..L.. @nr'.aq 6nr(I0)
d.r. t*.{._id . dC.bd au._dt ,l 5.l..ping
different servers, open objects;n each, d..b.! @td€a d'sfro) d.cEi @Ri,
vtew and manipulate lhese all lrom lhe same .tele @V.Ld tn &d,s @V.nioki Fin.Y- Er !hh-.*. ra..tG.
d.clI! €)d.s dEtsot
SOL-Programmer work place.
sb.a lDdd - rin(ddrdl nm (l{tuin
. SQl-Programmer extracts ISOL compatible '.rib
(€irddtd
'=
tux) Si..9 i. 6x€a!E
t9p. .of
scripts from any of the connected databases sut I
and servers. Permitting the reproduclion of
Th. tgP. of qu.rq !s
..i.!l €hldd . SIEP 2
the source commands used to define lhe Irh d*rl 'inltuld)
@ dd.t = @dii tgp. of qu..g i. InSEnT
entire database. or selecled porlions of it. {L l@dba != n'l) uPdat..o& ra ditu.t
Scflpt generation can optionallv Droduce lrtt.bl. c..!t.d *6r SEL€'I-
, L..p .[ rlc. br di. dapoart r/
INSEBT stalements for automatii repopula-
tion ol lhe tabte's DATA.

. Sol-Programmer produces production qual_ ffit ($leci ^ lrEh plrb..db.3'3obj.'r3


ity reports to prolessionaliy document your
databases, and lo provide programmers and
anatysts with valuable information necessary
to perform quality impact analysis.
. SQL-Progra mme. is the complete development environment
SOL-Programmer is m u lti-ptog ra mmer
ready, permitting programmable obiects to be for SQL Server programmers
checked out for ediling. safeguarding against can be opened at once on djfferent
two or more developers attempting to edit the intuitive, includes both on-line help, and
serverc,/gateways and databases. pJinted documentation plus automated
same object at the same time. This can be
enlorced to all SQL-programmer users by lhe . drrect access lo HELPSOL.
Sol-Programmer automates the Droduction
SA.(system administrator). Sol_programmer ol execution plans, CpU usaqe and l/O
marntatns a revision history of all progaamma_
. SOL-Programmer is the first commerciat
Dte oblects.
statisllcs direc y from the S-OL Server application oI this type to take advantage ol
engine. conlinued loreground processing while
. SOL-Programmer recognizes the need for . SQl-Programmer features a visual on-line
SQL Server is actua y performinq th; data-
developers to be uninhibited and provides base operalions. This means yorr can use
search within all programmable objects.
pornt and ctick access to a ..FreeseL!,, any olher Windows apptication while waiting
window. ln fact, multiple FreeSeL! windows . for resulls from SOL Server databas;
SOL-Programmer, although extremely operations_

Call us for complete SeL-programmer specifications or


place your order TOLL-FREE irom the U.S. and Canada

STZ
1-aoo-567-9a27
or direct at (819) 77B-SO4S, Fax (B_19) ZTB_7945, American Express
Card accepted
Sylvain Faust lnc., 44 Oe I'Apogee, Hull, euebec, Canada JgA 2W3
c 1992 1993 svtv",n Far.l lrc' prbd'l ,* h.Eih h,v. b€€n E d rs id.difi.dion purG6 dry, art my
')n'r ho rrddenErrc .nd l- Egi*Ed r"der*ft. or r\€i. €rpedi€ o-panc
EDITOR OX THE GO

Wire has some goofu interface problems , Helo menu. Oddities abound, suggest-
{iom SWETE, a Windows-based front -Ft -to go onJine rather ine ihe Wire s desigDer€ didr't bot'her to
.rra fo. MCt Ma.il. Ttre Wire does make u" ,"irre
"oJ to disPIaY helP The Enter keY ioo1' at mainstream Windows products
MCI life much easier, but it's unsatis$- ihan
Joesrr't consi"tently behave as it should to see how these t}ings are done'
ing too. Based on the Parado-x 9ngine'
i-fi" Wi." requires l,hat I load i, Wittdo*" .pplication' The t€xt edi The Wire's address book cracks me up'
irune.E)c even though I'm alreadY tor" also uses oonstandard conventions, Save an MCI [D from a message You've
rrt-ittg ot Netware. Since The Wire so I'm constanl,ly erasing entire lines ."""i""d, ,rra vo, get it siored and dis-
when I want to dilete a sirgle word For played first+list nane-l guess so I can
i"n't mllti-user nor even multi-lasking, I""ilu through everyone oamed
i aon t k ,ow *hv SHARE is needed, and no apparent rea6on, various -maint€- "".ou
nanci operations are accessed from the I must manually edit each entry
i'J rather not give up memory to it The
Ralo-h!
n;t it in last. first order, which ration-
trr
th" displayed List. But then The
^lli"" uaes this format to address mer
Wire
sages. (If vou get such a message from
kioo" *hv') Since The Wire
-i- ooo'rou each
also stores person's frrll name in
Xbase Detrelopers: no.-al style in i separate field, this
nonsense is nonsensical.
The Wire aasumes You know some'
nunber, which You maY
Your Xbase APPlication
one s MCI MaiI
not. I discovered that I can get the num-

tt
ber bv entering my best guess of a full
oa-Jo. na-e-tD itypically Erst initial
oius laet name), the"lrying to send the
messase. The Wire goes on line, tries to
use mv address, gets an MCI error me+
. adds the eror message to t'he top
"^t
nf.m -o"ue" and disconnects' Fortu-
=.. nateiv- oart the error is a list of possi-
if
ble addiessee numbers. Ifone of tlem is
ihe one I want, I edit the adtlress book,
Report Writer cut the ertor mes6age out of mY mes-
sage. and resend it successfirlly l'm not
\ sr.rie i'm doing it nght, but at least I have

o Letter Writer
a way to get an unknown MCI nuober;
ttre Lstirction Eanual says nothing
about this common need.
Vc6ior lJ
Nor Availablcl Docume[tation is seriously inade-
."includes
nuate. emlainhe the obvious and not
Label Maker a word about many aspects ofthe
Codc Gor{ralod "Lrrine
oridu-ct. such as several fiel& t'hathave
int it"Tech-
ire rrt^"" tut no i.Dstructions for

t
t use.
"""t"i"
support hasn't been able to
u.nv
"i"t"
tftan the manual Tech
support also hasn't been able- to explain
whv inDortinq a Suitaase ot messageg
Give your end-users the ability to .. . "rosed
i Windows crash that has ever
since prevent€d me from re-entering
Droduce custom repoftst letters, and labels! wi$ any xbase
The Wire. tA Suitcase is a spcial folder
Th; SACE Data\.\,titerrv is a world-alass Repon writer tlnt integrales desiened to transfer messages between
Anolication. Unlike R&RrM it rs specifrcally designed for even the most comPuter a.l"tt"p and notebook i-ostallation of
trrll"*" ,sers. ln [act, no other ieport writer oflers SAGE's combination of " Wire.) I'm stil locked out, awaiting
The
i.,nar.*"ir"* "ra
oi to*.es i"cluding Plain English Field & File Names, Character
Window a oromised "uPdate."
-&""atl, I liie The wire' I just caD't
lnterhce. and WYSIWYG D€si$ Iayout'
User ficure out why a Product wit'h so manY
Xbase development companies have already decided to
oller iJugh edges G called version 2'10!
Manv o[ the most Dopular
,h;;;;wii., * ,; ;dd-on product to iheir application The Datavrtiter has powerful
On tho go
utilities *ut can reduce, to minutes, the time to int€grate with your applicarion' confetencea
In June, I speak at FoxPt o
in Toronto and MinneaPolis At
DatabaseClienUserver World In Bos-
tt . i;- t"tai"e u panel on the Etat€ of
Data dicriomris aErlible sA0r DataWatla.," )Gase,with representatives ftom Bor-
Ior: SBT , AccoumMaEn
I ak. AEnue . DahMa,
800-995-7944 land. ComPutlr Associates and Mi-
cDmnon C.nts , RSAn
3t0-+12-2224 B.ing Yor. questions! O
"-.off,.
'1993
12 DATA BASED ADVISOFUMAY
L
\'
i#
Ir
,C. /
d :
7 T
& r I a-' f

Ia.

I
r ry

zachary has what it takes to get this crowd out of your face.
Zachary's Award Winning Rapid Zachary knows CA-Clipper Zachary writes reports.
Application Development will When you rellZachary what you wanl Zachary includes both a developer and end-
save you a lot of (tlpically by drawingir or selecting menu user custom report writer.
options) he knows how to code it usin!
time producing optimum CA-Clipper rechniqucs - eve"n if
DATA Now hire the programmer's assistant
applications, vou d{)n'l you can afford!
We guarantee it. Zachar) comes complete \r ilh documenlation.
PIrr. Zrah-y ortorn"tically programs all
ol lhe basic u\er utilities evei alpplication
a lulonal and supporl. \o salaries. br:nuses
or racations are neces\an. rnd the benefit\
need\: full indexinE/sonins roulines.
As a CA-Clipper. programrner, you are are all yours!
browse windows. pick list\:dialog boxe\.
probabl) used to rhe unreasonabje demands col()r seleclion. e\ en an end-user help system
of your impatient users. You mav also be Take advantage ofour easy payment plan
used to their frequent and often annoying
Jusr J munrhl) in\rallment\ ol $165. cht8ed
to your credit card.
questions. "Is it done yet?" "l need ii now!
When can I have it?" it makes you wonder. "Zachary offers me * 60 days free technical support
* 60 day Money Back Guarantee
Donl rhey know lhar good software rakes
time?^ Whar-does it take lo gel these people
at least as much * same day shipment
out ot vour thce', productivity as
Discover Zachary. the programmer's assis-
tanl you can afford. Zachary i\ a software
3 full-time To Order Zacharv
or to get more informatio'n
machinel he cranks oul cod;just the wa)
you wnnt him !o.
programmers!" and your free demo kit
Alison Balrer. LA CUG
By usinS Zachary's award winnins RAD cALt ilOW
Technology, you will deliver'N1,
appticarioi'* i'n
comilere
re.niJ,;.": ii.1-,1 Zachary learns from you.
Bulld your own libraD of components:
8tDo-876-3645
prototlpes bul real p.ogra.. you. urlrr .xn
put lo worl immediately. Eaiilr add screens. dalabase\ and mouse objects and FREC DEi,to DtsK CD E LE
iunctionality and mak.lrrung.;u. ;, eo. Zachary will reuse them for new-projects.
No more expensive rewriles.- Zachary tests your programs,
Zachan mrkes it earier tor vorr ro nrrr Zachary can run your applicrtion in ruto-
pilot for testing or demonstration ve ions
acrr.ar
,"i il;;'";;;;i;
"ppt;i"ii".i'int"
Join thousands of other over-worked Zachary writes documentation.
CA-CIipper develope.. ylr."
lT lipp.l]y
lace thecrowd and siy lt's FIMSHED,
Zactrary iuromaiicatty l."ari",
u.ornpt"r. '106
Zachary Software lnc.
Access Road, Norwood, MA 02062
user's manual. including: rcreen shors.'help
and by thc way, so is the manual." text, a table of contentJeven a full index. ' TEL: 617/ 551-0860 FAX: 617/55i-0857
Feedbacffii
of the competitors. She also covered many of the teams and
flon a Jet Plane products, whether or not they finished.
Although the application was dimcult, many teams acco-m-
On a recent transatlantic flight (on Virgin Atlantic), a copy plished iuch of the application, and the client received a
ofthe February 1992iss1Je of Data Bdsd Advisor was pte*tl finished product.
ia the Busines s Class lounge reading material. It aPpearB that
this copy has flown between London and no Iess than six major
U.S. cities approximately 20 times. From notes.jotted irr
,,*.J[:T,?"*ff s:f'r":fi
Durham, North Carollna
I
Jaoanese. it miv have also been to Osaka several times
I made my notes and replaced the magazine with theothers,
onlv to Ieam that thev werc to be destroyed as this 767 was
to 6e "refilled.' I plac;d the issue on a flight to Geneva with Ed-'s note: Droege Computing is gearing up for alother
SwissAir, and I hope that it continues to be passed on in the competition i-n November. To find out more, contact them at
sEune manner.
Droege Computing Sewices, Inc., 1860 Front St., Durham,
Just thought you d like to know. Keep up the good work' NC 27705, (919) 383-9749.

Dominic Balnea
Mayle, Colnwall
Unlted Klngdom
! Our 9-Traek solution
In "ASCII to DBI- (December 1992), Steve Freides pre-
sented a clever approach to a common problem: how to import
large amounts ofdata into a DBF fi1e whe-n you may not have
n Crossing the Finish Line enoueh free disk epace to accommodate all ofit,
Or-ri g-track soft-ware solves the disk space problem and
Dian Schafthausels 'The Racers" (February) did an ercel- other common import problems With our software, you can
lent job ofcapturing the excitement, t€nsion and atmosphere import 9-track daia directly into DBF tables several megs at
of thl developer competition. We appreciated- howehe weaved a time. After the transfer, tle DBF can be immediately USEd'
together the elemenis ofthe competition and the human side bata carl also be translated into EBCDIC, packed decimal,
zoned decimal, packed hex, and packed BCD. Data carr also
be manipulated, reordered, or apfended wit]r literal text such
as decimal points, dashes, among other features.
Thanks 6 Steve for his articli, and for providing us the
opportunity to present our approach.

ItB.LOE webb Llnzmayer, Presldent


Elecrovalue lndusldal, lnc.
Morriglown, N€w Jersey

to lmplement a transaction logginO system to


Use DB-LOG Ed-'t note: For more info, contact Electrovalue Industrial,
monitor database activity. Simply install DB-10G, specify a list Inc.,26 Garden St., Morristown, NJ 07960, €OI) 267-1117 '
offiles to monitor, and any updateslo thefiles willbe recorded
in a lo0 file. Allwithoul source code Ghanges!

E Gorrections
Logs changes to database liles In "Ease Your Database Development Woes" (April), Karen
Watterson reported that Olin Redmon, the manager of Data
Greates Xbase audit trail file Administration at a pharroaceulical company was provlcled
with a version of SDi Technologies' S-Designor that doesn't
require a hardware lock.
tdeat lht Clippw, ilBASE, turPru nd othqs Iilonique Lery, President of SDP Technologies, says-that
they "ditlnt pr;vide Redmon's firm with an unprctected sin-
AttDws tnnsactlon tldlnltlon lot dalabse intqilty ni.-tser veoion of S-Desimor, an urpmt€cted network ver-
iion was provided due to network technical constrdints '
P*loms rulhfrk ilrd lorvail tsovw
$lnd alone and nalli'asil caqahw

DL Systems, lnc. Send, vour 'Feedback" letter to Ddta Based, Adoisor,


;F"eiio"b," 4o7o Motcna Blod., Suite 200, San Dizgo' CA
P.0. Bor 87361
SZiIZ- t1'yo"" letter itoludes cde, please send. it on disk'
Carol Stream, lt 60188
Iatters will be edited' for brevity.
n
I I r infol ati n call{708) 653-7925
Il I u n n

14 DATA BASED ADVISOF/MAY 1993


S-Designdr 3.2
Eile Edit Qicriona le Di \ryindows ?

Conceptual Data Model

ffiE
EE
0 EO
z@,

0 0 0 0

o
0
Generation Reverse Engineering

le tdit
S D€sig 3.2
qisplay
EE
0 r] Oictiona Qptjons Styte Windows ?

o
0
o

S-Des'rgnor is o porerlul dotobose design tool bosed on the


[ntity-Relotionship mefiodology. lt hos o rigorous Mo level
design opproorh, with true ronreptuol ond physicol doto
modek. Ihe conreptuol model is derigned using entities,
otlributes, relofionships, identifiers, ond inhedtonre. Aher inini-
verifitolion of model tonsistency, fie physirol level is
generoted.usingstondordnormolirotion printiples.
-
S-Designor fien generoles ceotion striDls lor olmosl
ony dllobose ond evrn generoles referenliol inlegrity
tdggers lor suppoding dltoboses. S-Designo/s revirse
Generation Reverse Engineerin0
_t
engineering f undionolities moki mointenonte
o[ existing opplirotions eosy. l
0rode, DB2,
lnformix, Sybose
SDP Terhnologiet . ()ne TlesDrool (orporde (enter . Suile 805
lngres, RDB, /lsl4A0,
Ulsrrhrter, tt.
60154. tox: 1708) 947.425t
S l\'.r,n,{ r u,,JL ,Jrr,{ \Dp Ir.hn.h,r,.,
(Ih.' f'.JuLr trJ{k\JrLiJ!,,r,.
'. t,..t rt,( r.\nir,\r h.njrr. SQI Sewer,
S0LBose,

, I $il
D I\/ OI.t I()DAY TOR Y()UR FREE S-DESIGNOR DEMO I(IT.
DATA

ls Glient/Server
Working for You?
F'

Fax Feedback o 619'483'9776

It'c our lntont to plovido you with pe inont' h'nd3-on 6. Which database servers would you like to see
lnfontration on clionusetver comPutlng' Weto asked covered in DBA?
you about your lntontion! regarding cllonur€tYort E Microsofl/Sybase SQL Server
'nd
many 3ald thoy'ro nlovlng in that ditection' Low, l't'3 D Gupta SQLBase
got spocllic. What kinds ol apPlication! ar' you D ORACLE
moving to the cllonvielrol onvh9nment? whal havo tr Others(please sPecifu )
boon tho blggost obdrclor? How have you ovolconr
thom (or havo youl? Tako a low ltlom'nts lo answol
the quoltionr bolow to h.lp u3 thapo our oditor3tl
Gontent to ttloot tloul neod!.

l. What indultly do You wod( in?


tr Banking D Manufactudng 7. What technical problems ate you facing when
E Government E Medical imptementing client/servet?
E Human Resources tr OiVGas
Describe:
D Insurance tr Public Utilities
D Legal 0 Real Estate
E other

2, Do you plan to move applications into the


client/setver environment?
E Yes
ONo

3. What do you want to read about clienuserver?


BOrvUS, We're looking tor tiPs!
E Database server tuning tips
E Front end tuning tips We'll pay $75 for original tips. If you have an interesting
B Case studies front end or database sewer tip, fax it to us at the num-
E How-to articles ber listed above. If we publish your tip, well send you a
D System integration tips check.
E Other (please specifu)
Optional!
Name

4, Ale you porting existing applications to Company-


clienUierv-r, or developing new applications in
clienuservet?
City/StatelZi
E Porting existing aPPlications
E Developing new applications for clienUserver Phone

5. What kinds ol mission critical apPlicataons


May we contact you? EYes ENo
aro you running in a clienusotrei envilonment? !l you don't have a tax machine' mail to:
Describe: Data Based Advisor Fax Feedback
4010 Morena Blvd., Suite 200
San Diego, CA 92117

Please respond by June 1, 1993. Thanks!

16 DATA BASED AOVISOFI/MAY 1993


/ u
,'r
6
Dlr Structlr. i rL trILE
tt'i lt.ld il.* lspe gldth
lli 1r,frr,92
t3l {. ,t ,c,n } I PtoDlrcT 2S
5
7 uEtst0x
14l 11,t8? 3 !TICE 1B
,51 @?l?/92 a stnlus
5 XOTE lo
I
6 10
PI'tU'E la
otrJECr la
95

. FlerFle usel standad dBASt flemolields,b Dplaces iE 0ld,

I a 'l
l
t I*
lixed .dbt lile lormal wit our last elficient vadahe .kBt .dtv l mat

j ,8,18,2t.42t

9tTlt
,P ICTUI;}
SEPL6CE OIJECT
ltITrl

. See how easv il is h use [hrFle. Re0l e mem0 fields iust lile alwavs.
. You ll be ama4d al.whal FU can slorc in a fle*ile.lr0rc tafl iusl mem0s, now you thrtrle s fl00 handles all dre &tiili You alrEady ln$rtr0w b st0l['
can save andy$, 0tiech. even gnphhs, u anyfiing €he you can put on you ureei. piclures. a[ays, and 0biEts-fiey rul fre saaie as memos.

Facts You Should Know AbouJ Memo Files.,.


t. Fixed blocks waste space. 5. Memos are Easy to Use. NEW - FLEXHeI9 System
How much space does "Hello World" The only good thing about usinq Now add space-efficient help text,
take up in a memo file? 512 bytes. lt's Clipper's memo-fields is the faci that il's wi*i avnarfiic noi-ii^r", iJi[v .i i,"r,
such a waste. Why? Because Clipper simple. Now, FLEXFILE makes it just as Clipper 5 application programs.
stores memos in fixed blocks of 512 easy, you won't even have to change
bytes each, even if you only need 1 1. your codel ltl - SPEED & Data Security
The FLEXFILE variable length field
FLEXFILE's variable length fields occupy
just 6 bytes plus the size of the data. So 6. A Better Alternative engine has been rebuilt for increased
FLEXFILE is a complete memo file (.dbt) performance and security. FlexFile now
for "Hello World" that's only 17 bytes. includes a set of diagnostic and recovery
You can add up the difference...
replacement system. lf you use Clipper
memo fields, you already know how to routines to ensure data integrity.
2. Memo Files Don't Recycle. use FLEXFILE. All you need to do is \bu have the facb, now get the FLEX!
This is called memo-bloat, memos get convert your old .DBT files. then relink
big and fat because they are lazy. When including FLEXFILE, and it goes to work SPEItltmtErffim
memos get edited larger than the block seemlessly, Use standard memo fields
size (512k), they get an entire new set of and command syntax, and get all the
blocks. The old ones are left behind as
garbage. FLEXFILE recycles all unused
benefits and efficiencies of FLEXFILE.
Gr|tcni
space, qu ickly and efficiently.
3. 32M Size Limit.
FIEXFILE ll h Even Bettea..
llEW - Replaceable Device Driver
8,oo,-2,,8-FIEX
3539
This may seem like a lot of space. but
with memo-bloat and today's complex Use FlexFile iust like you use memos APGRADE 3o-.hy money-back sutboEo
VISA, Mast.r Card, AMEX
applications. you run out fast. FLEXFILE now, with no code changes necessary! SPf/C'AL Ch*k, Money Or.ler ot CAD
Just convert your.dbt files and relink
has no maximum file size-it's limited
only by your available disk space. using FLEXFILE, it's that easy. hDSTs
4. Limited to Text Characters. llEl/ - Rapid Text Search
Ouickly locate any
Users complain that they can only store text in FLEXFILEs,
.DBF files, or DOS text files. Use logical lat rru^ta Ylatrnx a
certain characters in their memos. With
AND, OR and NOT filters to find exactly
FLEXFILE they can store any character
or binary data. including WordPerfect'"
or MS Word'" files. What's more,
what you're looking for
NEU - On-the-Fly Compression
FLEXFILE
uEof,I tantt Srraltat3tD
FLEXFILE can store graphics, pictures, Save even more space with our fast, GAflA"L SOFTWARE,
multi-dimensional arrays, objects. or seamless compression of strings,
DOS files. Anything fits in a FlexFile. arrays, DOS files and FLEXFILE fields.
3333 West Commorcial Blvd. Suite r13
k. L.!d.rdab. noi.L 333@ 'NC.
tel: 305-7312331 Fax: 305.,a&36,,t
@ 1992 GANAHLSoFfwARE tnc Att ghtsrcseNed. FLEXF|LE it a t.d.nar* arcanaht sottwarc. att iade nanes retercn.ed hercin aG pop
rHE WOTf DWIDE STANDARD

Neul dBASE Gompilen


100% Gompatiile, ll0% Bonland
It's here! The only standard CJike preprocessor!
dBASEo compiler Borland is working hard to
that is 100% compati make dBASE the best data-
ble with the dBASE g- base application development

language. Now you can environment. Why not put it


compile and run existing to work for you today!
applications without
modilication.
I
I I I tI I

t.
I
I I I

I
lrl I
I
I I I I

I I
$ ! I 1

I g
IE
A
Suggested

I{A
list price
$,t95.**
I

Fu
t 80dad
dBASE
I $Smrlu
compiler." Powerful application development
Davies. President. tools in the dBASE Compiler
-BobAccounting Systems 90-day money-back guarantee!
SBT make programming easier. The
MAKE Facility provides intelli- l$ee youn dealer on Gall now I
li$milulg alllicalions
royalU-hee
gent compilation to quickly bui
sophisticated applications. The " I l-800-330-$4s4, efl.8100 I
In Canada call. I -800-461-3327
Whether you use dBASE III PLUS Borland dBASE Linker (BDL)
or dBASE IV it's easy to build combines compiled code modules -r--I--I
lully functional DOS executables into a single .EXE file. dSPLIT
(.EXEs). And with no royalty or
runtime fees. dist ributing applica-
and dJOIN utilities make it easy to
distribute large applications on Borland
tions is easy and economical. multiple diskettes. There's even a Power made easy
dBAsE RlnTift. 8I 4332- l
rHE WOTLDWTDE gTA DAID

New dBA$t lU uZ.0


Uets you fiome lon di nIGr
Eel youn wonl done lasbn powerful applications with less
New dBASE IV' version 2.0 is up t ]'
code. And now you can generate
to ten times faster than version royalty-free .EXEs using the
1.5 and dBASE III PLUS6! new, 1O0Vo language-compatible
Browsing data, executing queries, dBASE Compiter!
and generating reports are all Get dBASE today and get
home for dinner tonight.
faster ---e ven on networks.
But program speed is only pan
I
of dBASE's overall performance $PtErAt
supenonty. UPGRAIT PRICT!

fr
(oilP0llnltoRr!
dBASE@ gets -)
your work done I
d
PNEFER TO DO
AUSII{ESS VIIIT
faster because
r
I I
it's more usable. (Suggested
NsrmD n.r A recent study list price
proves it!* For $79s.)

everyday tasks, dBA$t males il easy OfJer good. for


dBASE users got lo do mone
slandalote ot
I-AN upgrades
E\
816T NEIY
their work done
Whether you're a database user or +0
DATIXASE i4{NAGER 257o faster than Bodand
application developer, dBASE puts
FoxPro users. dBASE IU
DATADASE PRODLTCT
your information to work. Visual
design tools let you create database
dBASE lU oufloxes lhe competilion
tables, queries, forms, and reports
dBASE IT toxPt0 ---Ir--- f
eO-aay, money-back guaranree! I
onscreen. Query By Example gives
hdaslry slandard

Desiqned for lJserc


Yss I{o
you fast answers to your questions. I
See youn tualen on Gallnow I
Yes

Doslgnod tor profiammeE lEs


No

Yo$
No wonder NSTL rated dBASE I l-800-880-0404, exr. t070 I
tops in versatility and usabilityj I In Canada, call I-800-461-3-127 r
0lJeries oplimired lor stand-
alone I nelworked compulers Yes flo L-rr---J
lnllanlly accessibl6 ylsust
design iools YEs llo Ile #l clroice lon
Fullcross-ptatlorm
compalibility Yes t{o amlication deuelorcns
T16l$rlion procossing

Multiuser ready
Y8s

Yes
No

No
The dBASE language lets you use Borland
English-like commands to create Power made easy
, t$t2_.t soJtu\E Dis6t R?lireis R.por! multiE d.iab.* p@slfu,
:y*y:-T]T"j 9:rP; :*' May 1ee2. corEilht @ l e3 Bdrrlnd rnrhan..d
Test Drives
TransPortal PRO-Access To Host Data
32?O terminals. Your PC must 1-This Wo.d Ior Windows macro prompts the
Fioure
uslerlor SQL record selection criteria; note the Bumba
have an emulation board, IRMA
and it session running in the background'
card, or network router, AS/4OO
must run a terminal emulator as
well as the PC suPPort API or
I have the HLLAPI available.
If you're going to use
Transportal PRO functions from
aWindows language, You can use
Rumba or Win3270 instead of a
DoS-based terminal emulation
package. However, HLLAPI must
still be available.
The commands and functions
f f vour data Drocessing environment are very easy to use. TheY consist
I iricludes -ainf.amJ ot midrange of routines to establish and test
lcomputers, you're probably familiar the availability and status of a
wit.h th; dilem;a of PC users who need host connection, scanning for text
wrong because the data on the AS/400 is
access to data residing on the bigger or pulling text ftom a host screen. and
machines. sendine kevstrokes to the host screen' updated frequentlY.
Users often have problems getting the Transp"ortal PRO has no file transfer To solve the update Problem, I wmte
data thev need from mainframe or mid- routines. a WordBasic Program to hook uP
ranee aiplications for several reasons' TransPortal PRO to the customer
Maiv users are intimidated bY the com- fransportal PBO in the real wo?ld support application. This application
olexiiv or unfamiliarity ofolder host ap- Our company has a customer suPPort oril'" do*n io the PC the data required
olications, so they opt to re-create the aoolication that resides on an AS/400. L build a word data table, which in turn
bata rather than getting iL from the host' The application keePs rrack of all is used to mail-merqe documents and
Often the host data isn't in the format customers, their support contracts, create mailing labels. tWordBasic is
thev want. Today's sophisticated PC us- outsiandins oroblems, etc. Support Word for Windows' macro programming
ers want data in familiar formats they technicians
-use
the soltware daily and laneuase.) Since we work in the
can work with, like spreadsheets and keep customer contact information up to Win"rlowi environment, we used Wall
databases. date. We often need to Produce Data's Rumba terminal emulation
For developers, Transportal PRO can mail-mersed letters or labels, and we do software to access the 49400 . Transpor-
be iust the inswer for connecting PC this thriugh Microsoft's Word for tal PRO routines allow my application to
their applications to host data.
use'rs and Windows. Various users have created connect to our AS/400, start SQL, select
TransPortal PRO, from The Frustum Word data tables that replicate the a sroup of records, and pull data fiom
Croup. lnc.. is a set of commands and customer file on the AS/400. th6se records for the Word for Windows
functions that allow DOS' and Windows- Naturally, this approach requires data table. Usersdon'thave to pulldowl
hased aoplications to communicate with dual e{fort in maintaining the customer hundreds of customer records or rekey
mainfiame and midrange based records, and the PC version is olten information. We can also update the
svstems.
"
Transportal PRO uses the High l,evel
Language Application Program ming Tablel_AccessmethodsthatTransportalPRoprovidesfolsomeapplicationdevelopment
Inteiface (HLLAPI) to communicate languages.
with host systems. HLLAPI is well
defined, but you tYPicallY must use a it
low-level language like assembler to use Programmlng Language Access methgd How tg use

it. Transportal PRO b.ing. HHLAPI to dBASE, FoXBASE+, FoxPro BIN Memory residenl Po rtion
ol Transporlal PBO must be
hish-level lancuases. toerted lirst. then lhe'CALL'
"T.ansoortal PRO comes with BIN,
command executes TransPortal
LlB, and dvnamic link library files for PRO roulines.
hooking applications to host data LinkTranspo PRO library
sources. Table I lists a few popular Clipper, C, QuickBasic 4.0 LIB
into EXE and call the lunclions
lansuages that work with Transportal or later
Iike a thid-party library
prol ar,-d th" file access method for each
Visual Basic, PowerBuilder, OLL Declare Transportal PRO lunclions
lanzuage. as extemal and then reference
Transoortal PRO orovides set
a basic WordBasic
the function like anY tunction
of functions. like iNlT, READ, and (similar lo calling Windows
SEND, that allow You to connect to an API functions).
IBM host suPPorting VT/100, 5250 or

,^ IIATA RASFN ADVISOR/MAY 1993


SIEP I:
Pirk o
lield
@UERV E#AKER
@
EE
finolly, o Q.ue-ry-By-Exonple builder
SIEP 2:
eosy enou gh Ior lhe nosl noui(e user!
Selerl
!n Ior C_ligrer, torPro, INCLUDES FULL
o
opor[lo] IorBAJf oid dBAsE tV. CE E
Query Maker is: gg9
@ Query l,/taker is a retational Ouery-by-Example plus shippinq to
ourrcter that can be-inctuded royaity iree in'your
r_ox apptications. Ouery Makei mlkes it eaty USA and Canada: $6
lor,ylur end users lo create lherr own querie's Other countries: $12
SI EP 3:
Iy pe ln or frlters.
Specity compiler version
! vol UE Additional versions: 949
The query's field names are shown with plain
English descriptions and can be taken fdm
multiple databases. This menu drjven module ROYALTY FREE
lets your user select from 16 difierent operators
in alDop-up list. These jnclude such oierators 60 Day Money Back Guarantee!
@ as Begins with". "Ends with , ,,Contains text, STRATEG!C
and "Sounds ltke . The user can even fine
SIEP 4:
Expond
the
c!@ryiled6,@F.,.d
iune the evaluation by adding parentheses.
The, resulting query is also drsptayed rn plarn
English and can be used to litier'recordd in a
lllfiil ,0.,,f,,3"oJi
query reporl or to lind any record in your appticaiion s
dalabases. Users can_maintain multidl; queries
whrch are saved lo .DBF database
lillJ/lll;r.;i:[ril;
fiies. (41s) 563-3755
@ qyery [lalel comes in versions wriflen in FAX: (415) 563-1907
Clipper 5.01/5.02, CJiopsr gr.r.,,r, 100"0
FoxPro 2.0/2.5. FoXBASE and AeeSt lV &'?.:rf"[ :"mJ"g.THi*S-gm

I
o
s
WORD Ireedon from tlemo
Iield limitotions.
Word proressino for Cliooer
r
gives you...
IorPrd, torBASI & dBASt N.
EDITING FEATURES: INCLUDES FULL
Word Wrapper is a memo field alternative for Fox tr Search & replace across some or all memos SOURCE CODE
Ulrpper and dBASE IV programmers. ll is a u (-:ul or copy a marked block to a ctipboard.
royalty-tree word processor lhal slores freejorm
rext d_rrecfly in regular.DBF database fields.
f Paste text from one memo into another Word Wrapper: $ 99
Q Delete a word. line or anv marked block. Word Wrapper Toolbox $ 1 49
bpecrnca y, tt slores one line ol Iext per dBASE l-l Vertically scroll within a window
record. A second indexed field relatds the memo f Zoom kom a partial lo lull screen window plus shipping to:
oack lo your parent tile. Ll Use a mouse in the Foxpro version. USA and Canada: $6 (each)

il
E Toggle between insert and overwrite modes. Other countries: $12 (each,
Toolbox requires Word Wraooer
Since, texl is saved in dBASE files, you get a TOOLBOX ADD-ON Specity compiler versron.
retrabte storage formal. ln contrast, mem"o files
are easrty corrupted and almosl impossible to fix.
ft Spell check a memo with a 60,000 word
user-modifiabte dictionary that suoaests
ROYALTY FREE
Er:-I.rrEt-* alternate sDellinos
tr Boldfacc ind u;derline text.
O Browse and edit a subset ol memos in a
60 Day Money Eack Guaruntee!

STRATEGIC
Word Wrapper automalicaly recycles unneeded file menu driven module. This lets each record
space. tn conkast, every time a memo field is
ediled. a new copy rs appended lo the frtes end.
have a variable number of memos attached.
O Creale mail-merged lorm-tetters with piain -
English field names picked from a pop-up
lllYtil ,ou, u=r3"G"i
GIVES YOU TOT lrst.

Yo u ca n contro the ediri ng


p a ce m ent U n ke
ndow' s sze and
e mo elds you can m the
O Specity headers, footers. page numbers,
marg,ns, page breaks and page ranges.
O Beformat a memo to a diff;re-nt widih
lllll/lflh*i#xHl
n UM be of n es tha can be e tered up to tr lmport and export memos from ASC .
(41s) 563-3755
99
per m emo ou n iu rthe c u sto m EE ord O Run Word Wrapper on a LAN with included FAx: (415) s63-1907
ppe th rough th e n c uded fu sou rce code netwo* functions.
ritte n n ,l00% F Pro CI ppe or d BAS E tv) ForB^sE, .id 6rBB iE dii.d ffiE ;'
I
I

Test Drives I

i
TransPortal PRO Continued
Figure 3-Calls are made lo Transportal PBO from i
FiEure DECLARE statement establlshes the
2-The Conclusion string
within Basic. The SEND$ variable is loaded with a
llnk between WordBasic and the OLL' Desoite the limitations that executes a Transportal PBO command.
of the documentation, I
Iike the product because I
itmakes accessing IBM I

HLI-API routines easv! If i


EgdEk}slg&dd
you're like me, You
probably have enough i
coding projects on Your
I
list to keep you busY for a
few lifetimes. TransPor- I
tal PRO relieves You of
the burden of having to I
know another language I

inside and out-esPe- i


reEhrbdb! i^i
rif, cially a lowJevel one like
C or assembler-to access
an IBM host machine
mail-merge rable- before using them. through HLLAPI. a Trarspott l PRO
ensurinq that the data is up to date. A developers kit retails for $1,495; The Frustum Group, lnc. I

Fisure I shows a Word for Windows rovaltv feeJ are $395 for each copy of 90 Park Avenue, Suite 1600
-"crlo that orompts the user for SQL Transoortal PRO vou distribute with New York, NY 10016
.ecord seleciion iriteria The Rumba vour ipplications, which includes the 800-548-5660, (2 12) 338-0721
"Clippei
AS/400 session is running irl the back- 6r C ptograms that have Trans-
sround. and the macro has staned SQL po.1il enO's library frle linked intn the Jim Brown has a degree in Computer
if both *indo*" were visible, you'd be executable file. lnformation Systems from Southwest Texas
able to see the AS/400 screens as the state Universitv in San Marcos, Texas. He is
I

macro feeds keystrokes to the AS/400 a Senior Softw;re Engineer for Slockholdet
and pulls data from the host screens. Systems, lnc., in Norcross, Georgia.
Fis. 2 shows the DECLARE
state;ent that establishes the link
between WordBasic and the dYnamic
lhk library (DLL). In Fig. 3, calls are
made to Tiansportal PRO from within
Maplinx-No PhD Required
Basic The SEi\DS variable is loaded we're seeing an explosion of desktop
mapping paikages on the market that
with a strine. The fi rst word in the string range from city Planning guides to
executes a fransportal PRO command; rlesk"too GIS svsiems (See mv review of
the rest of the string contains parame- Uaoln'fo Z.O for Windows in the Decem-
ters and filler sPaces containing ber lgg2 DBA) Somewhere in the mid-
completion codes. dle (oriced between $100 and $500) are
a nei, class ofgeographic query tools'
Ease of use Geoqraphic query tools give people a
Transportal PRO comes with several visual-method for making intelligent
Clipper ind dBASE comPatible PRG decisions quickly. They go beyond print-
files, written to make thc parameter ins maDs which show sales regions or
nassins nrocesses more intuitivc Unfor- de'iiverv routes. MapLinx, for example,
iunaely, if you use the product with a is integrated to work with Contacl
non-Xbase language, you'rc left to your tt?hv are we seeing so many new Software International's PoPular
own devices. contact management system, ACT! for
The Frustum GrouP also suPPlies
various libraries that allow the product
W mn"u*;ffiilfl1'dL,ll:
information syslems (ClSt packages
Windows. Maplinx also automatically
installs a WordforWindows mail- merge
to be used with a wide range of PC have been around for Years, they've template on systems thaL have Word for
orogram ming languages. yet I he manual typically been comPlex, exPensive Windows installed.
.,.r1., di.c.rsses how to use thc commands svstems used by govemment agencles or Geographic qucry tools can be used by
and functions from dBASE, FoxBASE+, lirms with complex routing needs, or interested in locations.
and other interpretive languages. ^l-osianvone
although it appeals most to people in
coroorat ions with the marketing
A flyer that accompanies the manual budgets to perform complex gmgraphic fieldslike siles or marketing, citY
too biieflv describes how to use the market analvsis. Some of the CIS planning, public services, delivery, and
product with Clipper. C, and Windows packages have a reputation for being so recruiting.
ianglug"" like QuickBasic and Visual iomplex, that "you need a degree in
Basic. You're on your own again when it geography to learn them." fwo velsion3
comes to making Transportal PRO work - Because of the popularity of Windows Maplinx comes in two verstons:
using these languages. and graphical user interfaces (GUIs), Maplinx for Windows ($149.95) and

22 DATA BASED ADVISOR/I,4AY 1993


ThehvOf SIx
You know the rules. Program develcp- graphics images, word-proc essing files
ment is slow and complicated.
so on. Since The SIx Driver
is tricky. Compatlbility is prohlematic. Etc.
remoue. the limir ation ofwhar npc
Etc. Bcape these resffict lOnS, USl ng The
o[ Jata ytru can put in a memo
SIx Driver Replaceable Database Driver
( RDD) withCA-CI ipper to break your
fielJ. uc thought it wou[l be a
good idea to remove the cur-
creativity fiee
rent si-ze lirnitations, tcn.
So Easy It Doesn't Seem Legal. The result? Memo can
Advanced features and functions are hold up to 4GB of data
srmp le to build into any program. The SIx per file.
thi ver RDD rntegrates se amlessly, work- We're Your
ing below the application' s code-level
surface to e liminate re-compiling.
Compatibility
Data is also encrypted/ decrypted Accomplice.
\ /an r 100 o/ocompatibil-
below the s urface so each work
area can be idenrified indi-
ity with Cli pper, FoxPro,
Paradox, oi Btrieve data-
vidually as encryptable,
assuring painless integra.
bases? Just re-link your
program with The SIx
tion ofdata security.
",,7.t!! Driver.Appreciate
Unlock Rushmore Technol-
Incredible Index ogyl Our similar
Power. Mach SIx query
UseSETSCOPEt optimizer uses bit-
create vimra[y instan- maps an d index
taneous index filters. t'ii..'r
i,_i-..: ts to acceler-
Build SU&lndexes onthe ate FOR condition
fly without havi ng to as queries up to 1,000
the LAN Sen... for more times. (No kiddingl No
data than yr l. Even code changes, either.)
"roll-your-..rr n , ouilJing
customized indexes.rne Cl:nptrr-*22 Steal One Soon!
Now priced at only
record at a time. a
I $199. The SIx drivei
Thke A Memo.
Anlrvhere You'd
AII The Rules comes complete with
fully documented, self-
Like. contained CA-Clinner
VariField'' Super Mems save Tace, rrcrease srred, source code examples for every firnction and utiliw.
and expanrJ versatiliry. Forger abour 5l 2 I'vtc rnem.rrv N?e've also included SofSolution\ Experr Help, plus
bloat- you can set the bloc"k size fi ,m l6 ro I024 hvteJ. the dbMAX Interactive Engine.
And, instead of letting Jiscartled mem,,-hl-rl<s s:ai up Gder rtxJay, anrJ we'll rntence you to 12 months
_
space, The SIx Driver re-uses each block for a more
efficient use of disk resources. Taking the concept of 9i IRE^E upgrades, FREE tech supporr, plus our
Mach SIx query optimizer and a 30-day money-back
memo-file efficiency all the way, The SIx Driver iom- satisfu ction guarantee.
presses data on the fly.
You can't beat this offerwithout a crowbar,so whv
SIx Diver memos are binary so vinually anything norcall right now? 1.800.683.1657
can be stored inside: objects, multi-dimensional arrays]

w SueeessUUape"
Th€ Data Driv€r Company

27349 Jefferson Ave., Suite 101, Temecula, CAgZsgO. Tel (9O9) 699-9657 o Fax (9O9) 695.5679
Test Drives
MapLinx Continued

Maolinx Pro for Windows zio code resions. Similarly, Maplinx Pro
l-MapLinr Pro makes it easy to zoom in on a
Figure
t$ggg.gSl. Both include data- *itt di"pta"v city boundary outlines (fig
region and display city boundalies.
bases to display 23,700 U S. cit- l). wheieai Maplirx only locates cities
ies. 42.000 zip codes, states and in'road-map faihion (with larger fonts
counties. and U.S. and interstate for biEeer cities).
highways. MaPLinx is a U.S.- Be-c-ause of the additional data.
only product. Maplinx Pro needs almost 14M versus
The major difference between 6M for MaDLinx. The l0 releases can
the two versions is that MaPLinx theoreticallv run on a 286 with as Iittle
Pro has the abilitY to disPlaY ziP as 2M RAivf under Windows 3.0 or
code boundaries. The entry-level hieher. The Maplinx Pro for Windows
Maplinx package onlY shows RJlease I.00.2O I review here doesn't
zip-code centroids, which means suooort advanced Windows features like
the ziD code numbers are Physt- aviramic data exchange (DDE), object
eallv iocated on the map, but Iinkine and embedding tOLE), or multi-
with no boundaries outlining the ole dociument interface tMDI) tMaplinx
ivill reportedly leapfiog OLE 1.0 and
offer support for DDE and OLE once
OLE 2.0 is released.)
f,lenur
When you start MaPLinx, You see a
Sl.lu. defautt U.S. map with the states out-
Ploduct Company Erpcctcd lined. T Venu Barincludes File lEdit
Sprhg 1933 I Mao - .r'd I View I Search I Con'
40r993
ia"t"'l 'itc.uti" I Options I Help. No-
tablv missing from a staldard Windows
CA-.BFas1 2 o Compuld Associales November 19e2 1993 Edii menu iere options for Undo and
1994
Cut, although MaPLinx imPlements
these bv letting you select previous
1993
views. Other menus had oplions that
generated a "Feature Not Installed" dia-
los window.
1993 -Below
the Menu Bar is an icon bar
ShFphg
with icons for selecting a reFn 'n t le
dBASEIV2,O
lq DOS
Eorbnd loldnalbnal Nc{ amdncad
cliPboar'
copied to the rf 1n-
shbphg nolations,disPlaY -'rrg cttres,
lnl€rmtbnal displaying tiigh
March 1993
dBASE IV E1OS Borbnd Not annourced . .rwing dis-
tanies. zooming in - out, displaying
dBASE lor wln.bws Borland Inlernational January 19s2 1994
previous views, displaying the U.S. map,
KRS 1993 displavine database or query informa-
mi41993 tion, diariing and searching with circles,
rectangles, or polygon areas, and the'
401993 matic shading.
FoPrdlo,UNlX Midosollcdo 1994 Thematic shading lets you color or
June l9S3 shade up to three database fields and
their numeric value. In figure 2, I used
thematic shading to color code dealers,
lnlomixOnline6.0 lnlo.mixSolt*ate customers, and conLacLs' and in this case
1993? displayed all lO prospects, includingone
in the Austin area.
M$OOS 6 2Q 1990
At the bottom of the screen is the
OSv2 2.1 IBM Sprhg 1993 Database Status Line which associates
uD to four database liles you have set up
Pow.€uild€r 3.0 Pow$lr CotP.
with color coded "user symbols" and ap-
SOLBaS 6 0 1994 plicable quantities.
1994
The databa3a connection
Sphg1993 Maplinx 1.0 supports onlY dBASE
and ACT: for Windows databases. but
wh&sBase2.0 Sonwar€ Producls lntr 2Q 1993 Maolinx l 5. whieb should be available
May 1SS3 bv the l,ime vou read this, will reportedly
ui* Paradox ard ASCII CSV
"rppott

24 DATA BASED ADVISOF/MAY 1993


One size does notfit alll
GENIFER is th e perfect fit-
Custom tailored
with templates E N I ER
!
to match -o

yoar
B
software.
GP}T IFE R
For FoxBASE+
3-

ENIFE
FoTCLIPPER
B

IF
FOT QU ICKSILVER ?
5

NI E
d
F

If you like to spend your time creating software solutions and nol coding programs, you should get GENIFER
Version 3. Whatever software you work with, dBASE, Clipper, FoxPro, FoxSaSpi, euicksilver or dBXL we
have. a tailored solution for you. In the world of competitive and diversified database software, one size does
not fit a_11. That's why GENIFER Version 3 is what you need to create business applications that include all
kinds of data screens and reports with pop-up windows and pull-down menus. Then using a specific template
set, you can generate code that is tailored to your needs. You get software that performs aciording to your
design. Professional software that you can pass on to others, or even sell with pride.
Ask your dealer for a demo or call:1-800-777 -0126 for a demo diskette and a free brochure.
Get your application software custom tailored with GENIFER right away.

tr
1029 Solano Avenue . Berkeley, California 94706

Ocopyright 1991 Bylel Corporation. All nghts reserued_


Test Drives
MapLinx Continued
inconvenience and plans to cor-
Figure 2-Maior cities with boundaries, wlth all Pros-
pits ln blue and one Prospecl who is within a 100-mlle rect it h a future version.
radlus of Austin
Should you buy it?
Desktop mapping Products
like Maol-inx are the kinds of

r--+-_ \# tool yoJ don't klow You need


until you use them. MaPLinx 1.0
has some rough edges and
doesnt support full Windows 3 1
:**\ lB+- functionality the waY I'd like,
but I'm confident enough in its
existing functionality and direc-
tion t,o recommendit. In addition Clipper with Class
to adding support for Paradox I oesoen Soltware, lnc., has
and ASCII files, and making it L"aai ,or".t"""esto its class
easier to edit the "Associate
Database Fields" screen, I'd like library tol CA-Clipper, Starclass 2.0.
a more polished hetp. Maplinx' Version 2.0 now has 28 classes, which
Figure 3-The "Associate dBASE Fields" screen is on-line help is fme-most users
whe.e you correlate database lields wilh MapLinx' may never crack the manual-
includeg event-drlven classes lor
Symbols and Thematic Fill opllons. wlndowing, browslng, editlng, scroll
but it could be more aesthetic
and include more hypertext bars, background ProcessinE and
;nie; -i;-.ll"@ bdt
iniegrated mouse suPPort, among
links.
Speaking of the manual, it's gthers. Loesgen says 2.0 is code
@ I3 6 E-i-Ii] I.l=.-I
an attractive 200-plus Page compatlble with p.ograms written with
l* tE- In .Cr l affair that includes two hands- Starclass 1.01. SlarClass 2.0 ls
,*r lffiIn a F; 14 on sections: a 60-page tutorial
fr.,66iFl;t r. $199US, and includes source code.
.a6 r lioills-_Tn .a lioi-aa-Tn ald another 20 pages on"How to
F*bdeirrrnl!i_E use Maplinx." The latter shows, Lgesgen Software, lnc., 1712 Avenue
for example, how to use Road, Box 5i1605, Tolonto, ON MSM
E Maplinx' mail-merge interface 't24, Canada, (416) 784-3618,lax (415)
E
E
with Word for Windows 784.3?68
(Mapl-irx also supports exPort
of CSV mail-merge frles to other
major word processors), how to Gupta's Newest
use the Clipboard, and how to
(comma separated values, e.g. mail
use Mapl,irx with ACT! for Windows. Front Ends
merge) files. MapLinx Pro l 5 is also
scheduled r,o include county boundaries My major complaint with the manual upta upgtaded Solwindows
and area codes-initially as dots, but
Iater with boundaries.
was that one manual is used for both
versions of Maplinx, so there are too
G tront end
4.0 and Ouest2.0, lls
development tools. SOLWindows now
many parenthetic comments, e. g.
Maplinx needs to work on the user Maplinx Pro only. includes Team Windows, a comPo-
interface for setting up the database
links. Rather than perform an intuitive I called support only once, but nent that lets teams of programmers
File lOpen ldatabase file, you have to received prompt, courteous, accurate work on client/server aPplicatlons,
start by setting up the contact symbol answers to my questions. and Quest Window, which brings
fields (the ones displayed on the Quest query lealures and obiect'
Database Status Bar) and the thematic a Maplinx orlented programming (OOP) leatu res
shading fields. Ifyou don't, you won't be MapLinx Corp. like multi-level lnherilance, polymor-
able to take advantage of MaPLinx' 5068 W. Plano Parkway
geographic query features like "show me Plano, TX 75093 phism and encapsulation to SQLWIn'
all my prospects" or 'trow many dealers 800-352-3414, (214) 231-1 400 dows. The OOP leatures ln
do I have in the region I've outlined?' Fax (214)733-8193 SQLWlndows are "hidden" within the
Only after you've done this grunt SOLWindows Appllcation Outliner, so
work should you open the dBASE or Kaaen Watteason b an lndependent writet developers don't have lo use the'n.
ACT! file and fill in the 'Associate and consullant specializlng in advanced
olhe. enhancements to soLwin-
dBASE (or ACT!)" Fields screen (fig. 3). dalabase, connectivity, and application
The other complaint I have is that once design igsueg. Her articles appear regularly dows include lncreased Support lot
i^ Dala Based advisor.
you've set it up, there's no way to edit SQL back ends, comPlete suPPort lor
your settings. Maplinx forces you to Dynamic Data Exchange (DDE) and
start over.
close the database and
MapLinx is aware of this major

26 DATA BASED ADVISOR/MAY 1993


DAIAR{SED
aD[-sqR
Fea#scfl
Awild

r.ffi,
//,

.I
How much longer can you afford to wait?
Create Overlaid Programs-Fast. Memory Swap Funclion. Time is Money.
ELINKER-, the world's first and ELINKER Z.O is the ONLY linker BLINKER removes the need ,or
fastest dynamic overlay linker, to offer an integrated memory overlay structures, simplifies pro-
reduces your link time to seconds, swap function, so you can run gram design and reduces memo-
eliminates the need for overlay other large programs from within ry requirements to save you time,
structures and reduces program your program, with negligible effort and memory. You know
memory requirements. Now you memory overhead. time is money, and link time is
can use one linker for all your no exception.
software projects. ,fr
'. Free Demo

@
0ne Linker, Many Languages. lJ.l

BLINKER 2.0 links and automati-


cally overlays DOS programs
m
Z 'l--r
-;.
I
iZ To try our free
5.25" demo on
your own code:
written in Microsoff C, BASIC, A
Assembler, QuickBASlC-, Fortran,
I m Call: 804-747-6700
Pascal, Watcom" C, Zortech C++, r 0r
Clipper, FORCE and in Bortand"
C, C++, Assembler, and more. FAX: 804-747-4200
order now!
Special Clipper Features.
ELINKER compresses the Clipper
EL!NKER"
Htgh PerformdnLp OUndmir Dve.lag Linkpr
lf you can't wait any longer,
we otfer a risk free 30 day
symbol table to save more memory money back guarantee.
BLINKER Z.O
supports the 5.0 paging system to Don't Settle for Less.
is available in
enhance program execution speed Other major features rnclude full 5.25" or 3.5" I
and offers incremental linking to Codeview' support, overlay diskette format
re-link code changes in a fraction of caching to Etvls/xMs at program
a second. Also includes a proriler run-time for enhanced execution Price $299 Blinklac
and the ability to "burn-in" environ- speed, burn-in of serial numbers P.O. Eox 7154
Richmond VA
ment variables. and creation of demo versions. @ 232?t
O lEEll Blrnkln.. Etinks rs a tra.tsftrk of Asmt s Soft!@ l\7Eut-tffi lnc.
Test Drives
Path-View-A Different Path
to Gode Generation
object Linklng and Embedding (OLE),
may have used in other application and richer reporting options.
generators. The screen painter provides
a full range ofdrawing capabilities Iike SOLwindows 4.0 comes in two
UPDATE box and line drawing.
While the screen painter seems
conligurations, Standard and Corpo-
rate, The Standard Edition is $1,995
deceptively simple, it's actually quite and includes the SOL Windows 4.0
f\ath-View. from Pal,hfinder Data powerful. In this screen, you define the
Application Design Module, Report
Psy",-", l nc., rs an appllcalron user interface and design the database.
Windows, SO LTa lk/Wi ndows,
I generator for CA-Clipper 5 and Path-View can place more than one
Clipper Summer '87. windowin a screen definition (WSD) file. SOLBase for Windows and the
Unlike most application generators The screen painter can handle up to nine SQLBase Single-User Engine. The
that use a data dictio na ry- b ased windows and nine tables per WSD. You Corporate Edilion is $3,495; it comes
approach to application generation, can also choose between browse and
Path-View defines the databases used to standard displays. (Figure 2 shows the with SQ LWi ndo\,Ys 4.0 Standard
create an application using the screen standard window type. It shows one Edition, Ouesl, Teamwindows, and
definitions you create. Part of the record at a time; the browse window Editwindows.
process required to paint a data-entry shows multiple records.) Ouest 2.0 now lets you manage
screen is to add fields for data entry. The screen painter provides a full data and do queries using Forms. 2.0
Each time you add a field, Path-View range of field types and validation
asks for all the particulars of that field. features. Field types include all the has inc.eased security leatu,es, the
When you generate the application, standardXbase data t1pes in addition to ability to install and de-inslallindivid-
Path-View automatically generates the calculated fields. To display the current ual Quest activilies, Ouery templates,
database as well. The same screen defi- database structure, simply press the FB support ror Microsoft's OLE slandard
nition handles both thedatabase and the key. Pressing F4 displays a dialog box
user interface. (The "Modifu structure of that allows you to input a picture as client and server, enhanced
a field" menu option allows youtomodifu definition for the field. (You may also use suppo.t lor SOL, cross-tabular and
a datatrase structure, but Clipper's DBU templates even though the manual two-pass totaling reports, and
application has more capabilities.) doesn't seem to mention this.) back.end support for lnformix,
Like Bytel Corp.'s Genifer, Path-View AS/400, and HP Allbaser'SOL.
Gen' the app allows you to validate a field according
To generate your first application,you to a word or character list; numeric, Oue9t2.0 is $595. Quest2.1, a main-
open up Path-View's very simple main alpha, or daterange; or a file lookup. You tenance release, will be available in
menu. Ithas four items (frve ifyou count can also directly access user-defined June and will be free to Ouest2.0 buy-
"Terminate Path-View") items from functions (UDFs) stored in extemal files ers. Gupta Co.p., 1060 Marsh Road,
which to choose: Screen/Data Definition, using the Validation function. Menlo Park, CA 9402s, (415) 321-9500.
Menu Generation/Modification, Pro- Path-View also supports the Clipper 5.x
gram Generation, and Alter Path-View WHEN clause.
System Defaults. The second item, Menu Genera- Where Disparate
Selecting Screen-/Data Definition tionModification, generates the menus.
takes you to the screen painter, the main When prompted for what menus you Data Meets
part of the program (see fig. 1). It looks want to use, you're oflered the default
much like any other screen painter you menu setup supplied with Path-View, or Irools & Techniques general
updated
you can create your own. The I Data Junctlon, a
Figure 1-Palh-View's screen painter has options tot hierarchical menu structure can purpose data conversion lool fol
drawing and database tools. be quite complex. You then may moving data among slructured lile
choose among Lotus-style bar, lormatg. Verslon 4.2 now supports
CUA-style pull-down, or pop-up Lotus Works, M icrosott Works,
menus.
The third item, Program asksam 5.0, Excel 4.0, O&A 4.0,
Generation, generates the CA-dBFa3t, Approach, Ace File,
program based on the screen you Champion Accounting, DataBoss,
painted and any custom menus DataEase 4.5, DataFlex 3,0, Paradox
you generated.
4.0, DataPerlect, Mlcrosoft SOL Serv-
Allyou need to do is filloutthe
blanks in the supplied dialog er, Gupta SOLBage, Progress, IBM
box. For example, you can spec- Malntrame DB2, SOUDS and VSAM
ify mouse support, or you can (vla Mlc.o Declsionware's Dalabase
generate single or multi-user Gateway), ahd ZM, among others.
code.

28 DATA BASEO ADVISOF/MAY 1993


t @
a
, ,
e.

F
g+E Databasc Llbrary
(gErrB)
by Pioneer Software
8+E Database Library plovides complere
database connecu!,lty to Mndows and OS/2
dBASE Management
BEAC HCOftIB E R5
BEST BUYST
Graphics
F
AnAG0 dBXt
6
apps using Dl'ilal]}ic Link Libraries. oELIB s95 Drtrbas6 Graphics Toolkit 229
can .ead. insert, update. creale or delete Clador Prorossional Dev. 459 dCE 239
database records for tie folowing formats: I DrtaBoss l5g dGT Unlimitod 449
Oracie. dBASE, SoL S€rver, Sybase, DB2, dBASE lll PIll3 521 E$pir 249
Paradox. INGRES. AS/400 iSOL/4OOI, Btdeve. Excel. iNFORMTX dBASE tV t99 Iastgrlph ttz
Netware SeL, and more. Gareways supported include: rBM DDCS/2. FiloPro Plus tlashctaphics
6
6A t50
Micro Decisionware, Sybase Net catew?y. and Gupta SOL Nerwork
MSFoxP.o CAft flipper $5
Listr 9399 Ours: $g5g MS toxPro Disrribution lft 3S0 Silvo.Print Librsry
tAK..t$all 262tuO0g I03
lls Access CALL
Paradox 1.0 569 Oueries/Reports
Speci.l Edition t5 O+E Databaso Edito, 269
Parodox Ergirs CAtt n&B Report Writo(xBASE) 159 T
DataTable Spreadsheet
control - ll tl'ili dBASE Compilers
WP Cre.tG lor Clilp.,
t49
AnAG0 0uicksilver 295 Linkers
F.ri#{#fl:,i:{#,r*L
sophisricaled Windows
spreadrheer
X *,:_"( J*'
Clipper 5.2 499 .STtirldPlus
dBF.st ror Wirdows 359 Blinkor
SflARXEASE 34S PLinkS6+
445
269
il:ls
T
il:fl'-*:Hff,.:il1:i,j::*:' #i':
I
Application Gerorators
perlect
user ht.rface for any
a
darabasc. .(.,1.jf i;,XdE Artlul0dc 179
Screens & Menus
Flrsh Tools! ,9
wlth its output picture ctause masktng you can edit and format ArtlulTwo 266 II|-SCREE PTo lll 3t5
data aght in the ce[ as you t?e it! Works with al1y stand3rd EMir/DBF 716 S.ywhrt?! 45
dialog editor fo. interacttve setup. Supports aI C/C++ Windoss B&B f,olort Codo GororotorlTg Vern Sir'r Screon Desigl 79
compilers and Pascal-
Ul2
gI
356
List: $a95 Ours: 9449 Wircon CAtt TranslElors & Bridges
gA*eturu * 2553-OOO3 Codobaie 1.5 295
Gode Analyzers Dita Junctions Adv, 269
dAI{ALYSTGOI.D CAIL oatr Juoction Prot. t79
CUAcccss lam.ura Data Dictio[ary :Xls dbAIB 89
by Custom Micro Concepts CUAcc Conmunication Liblaries outside ln lor Wildows 6g I
CuAccess allows Clipper developers to CommTools 259
Additioral dBASE Producrs
produce appllcations that are SAA/CUA Silvorcomm SPCS
compliant. w.ith Windowsr!-Iike user Silvor Fox SPCS
19S
2N
BfiEt cat-r
htedaces, lncluding pull down menus, Toleprthy Clipwod/Spellolip t79
movable and rcslzable windows. check
tSg
dclip CAtt
\
boxes, radio buttons, list boxes, push EEE:I Documentation Aids Dr. Swilch 55
buttons. etc., qdth full mouse and key Cle.r for dBASE t75 Expen Hoh Hypertoxt Sys. ttg

o
board suppod, context-sensiuve help, Sourcs Print+ version
LAil
145 305
and much more, wlth minimat codingl Includes tunction library
and Dalog Palnrcr. DaIa.dnven te.hnolos, is burlr jn:
Ez-lrcrrll z6
Llit: $295
GGnoral Libraries Gor-ft ,35
Ours: 9249 FU[Cky ll 44s sos HE|P! 5
I|AX,etzra # SOOl-fiX)l Pro Clip 89 TSRific 89
VeIn Six's Clipper Toolbox 95 WATCoIUI SOL Dsv. Edition iltg

CAdBFast Windows 2.O €


by Computer Associates GUARANIEED BEST PRICES!
dBlast (Coll for detoils)
The complete standalone dBASE/Xbase *

s
development language for MS Windows. fo order coll: 80O-2145-7899
Creat€ fast. powerfir, easy to-use graphlcal
applications. Over 2OO extenstons to lhe
Corporqte (CORSOlll. 8OO 422-6507 €
aAXt 9Og 389-922t
dBASE III PLUS language a-nd includes an
interactive editor. comptler. and linker.
lnternotionol: 9O8 389-9228
Chafenge your creaUvity and imaglnationl Customer Service: 9OA 1A9-9229
Design multipte Elndows, pult down menus, check box€s. list
For mor€ lnforEatlon on the productg
Loxes, radlo buttons, bit map pictures, arld moret
fcatured oD tlrcsc pagcs cell-
FAX...,, r,@3 9O8 389-8I73
Llst: $55O Oore: $359
#
FA*.etteta rOO4-OOO3
Pilafiat
. All prices ore subiecr !o (honge wiAout norice-
Test Drives
Path-View Continued

Another great feature is


built-in support for Concen-
tric Data Systems' R&R
Path-uiewisnicefor Report Writer. The support
oOS single-user llcenses ate $99'
is quite seamless; R&R
R€port Writer felt like a part 5199 and $299 lor Stand.rd, Proles'
deu eloping applic ations on
of the application rather slonal and Advances respectlvely.
an oc c asional ar ad hoc b asis, than an add-on. To use LAN license8 are 5499 tor a 4-user
R&R, you simPlY add a license; additlonal usels $100 each.
andit's great for ueating menu item to the standard
Call for other Pricing. Tools &
menu which calls the
quichpr o gr ams that don' t Pathfinder R&R RePort Techniques lnc-, 2201 Norlhland
Writer PRG file. Path-View Drive, Austin, TX 78756, (512) 459-
requiremanymodule$ takes care of the details of 1308, fax (512) 459-'t309.
accessing R&R RePort
Writer for you. Using this
The fourth item, Alter Path-View
option also means you don't Stro-Ware is
have t spend a lot of time debugging
New Distributor
System Defaults, allows you to change your code to get this support.
the Path-View environment. Like
Program Generation, you simply change
the contents of several fields in a dialog
box. This option allows you to enter an
Unlike other code generators on the
market, Path-View doesn't provide any
way to automatically compile and link a
s tro-Ware has taken over distri-
bution ot Aladdln Publishlng
products ln North and South America.
multi-module program. You must write
author name or specifu that you want to your CLP, and LNK frles. Aladdln Publishing is part of a South
generate Clipper Summer 87 code - own MAK Alrican company that develoPs
However, Path-View does include a
Pluses and minuses simple batch file for compiling and link- ClipSOL, BDOKit, UnCliP, and other
ing single.module "standard" programs Clipper add-ons. The new distributot-
One nice feature gives you the option (The Path-View manual defines a
to automaticallv generate code with or standard program as one that uses all ship is headed bY Neil Stromin, who
without mouse support. Unlike other the Path-View defaults and no add-on will also handle supPort and service.
appgens, you don't have to suPPIY a libraries other than the supplied mouse Stro-ware, 12000 w. Pico Blvd., Sulte
t[rird-party library or modify the library.) 203, Los Angeles, CA 90064, (310) 575'
[emplates. Since many users now view Figure 2 shows a typical program
mouse support as a requirement-not a produced using only the Path-View
1932.
luxury-this feature is espccially defaults. There are no built-in hooks for Easy EDI
welcome. multi-module programs. The best
Unfortunately, I found mouse support method for creating glue code (menuing latrick Frantz Consultlnq (PFC)
to be somewhat uneven. For example, a system or other connection between l'snippeo Ez-Eol 1.1. ;z-EDl
program using the default Path-View modules) for a multi-module program is
configuration opens in the "C'oto" section provides basic electronic data lnter-
to write it yourselfl Pathhnder supplies
which allows you to find the record you change (EDl) features, like creatlng
a sample program that you can use to
want to edit. Curiously missing in this link multiple modules together, but this EOI liles from dala-entry screens or
area is mouse support. However, once still makes the product less convenient lrom ASCll, dBASE, or Lotus files'
you go back to the main menu, the mouse to use than a true code generator. printing EOI liles and viewing them in
cursor reappears and you can select The manual provided with this
many of the menu items with a simple a window, creating and analyzing EDI
product has a slightly home-made feel to
click of the mouse button. envelopes, and converting EOI liles to
it, but don't mistake this for a
Iack ofquality. Pathfrnder chose ASCll, dBASE, or Lotus fite lormals.
Figu.e 2-A typical program produced with Path-View.
to add some niceties that other This version requlres communication
ln the Notes wlndow is a mouse cursor. Mouse support
vendors will want to consider sottware, but expect them to release
is fully integrated.
adding. For example, the sPiral one wlth built-in communicatiohg sup-
bound manual stays open while
you use it, unlike the perfect port. Contact PFC lor p.ices. Patrlck
bound manuals used by many Frantz Consulting, P.O. Box 1337,
vendors. Syracuse, NY 13201, (315) 476'1564,
The manual has two sections. lax (31s) 476-1564.
The first contains complete
instructions for using the major
features. The second is a tutorial Beckner Goes
for learning how to usc most of
Path-View's features. While the Shareware
descriptions in the first section eckneavision, lnc., released
orai\.r r ril or[$ rrm a.li rx0csr il]rr are adequate for reference
purposes, you really need to go
B Beckner Llbrary & Utilitles ll.

30 DATA BASED ADVISOR/MAY 1993


a

ereason AS
inwas chOsen Over the
CASE tools.

/a/
.Qx
a s
O
a
It makes database desig n easler.
ln two inde- more control over the aspects of ERI'ul has the features
pendent surveys, CASE that really matter. Wherher riiilfi",
more database professionals
DATA BASED DB/t)(t0 s3
AD\/ISOR readers of DBMS you're designing Xbase files or prefer And, by choosing
Beade6 Choice and, Data Based SQL tables, ERu.'ln's Windows '' ERwln you'll save thousands see u: at
Auad Advrsor voted interface gives you multiple views of dollars over CASE tools like Booth tl ttl
wi Pr 'Rtst ,,1Brutt: LOSiC WOr
CASE/Dc'it<n bot
ks of your' database $ructure right KnowledgeWare and Bachman.
gR-*,r ,f,a down to the foreign key Order now and you'll also receive
Reader's Choice in the level. Capturing business aFREE copy ofTom Bruce's new
"CASE tools" category. rules is almost fun. book "Designing Quality DatabasesJ'
Why did this select group of 1992 Reverse-engineenng is as Cast your own vote for
I
thousands of database pro- easy as drag and drop. And change-call Logic Works and
fessionals choose ERwin- ttaDrtt, you enjoy complete control
cllorct order ERuln todayl
a database design tool- Wilnet Best over SQL schema genera- (609) 243-0088.
over the CASE tools't .ASE kx tion, including triggers for Far: (609)243-il92.
It's simple. ERwrnfocuses clientAerver development.
on database design-delivering The choice is easy. Only logic o

works
ERl i, is comparible $nh windoss I Lnd €dlier yerions. Al prnuds nmed .re radem ks 214 Camegie Center
of rhcn tosp€ctive conrpa.ics. ERHix n a hdcmrr or LoSic \\ ork. Inc. e bgic Worts. 1991. Princeton. New Jersey 08540
Test Drives
Path-View Continued

throush the tutorial to leam to use the tion reduces the overall time required to
produ"ct. lt took me about eight hours to define it.
complete the tutorial. The integrated R&R R€Port Writer nam
and mouse support are welcome features
The new release has all the lealures of
End ol the path that more vendors should include with
their products. the original version, but it's now being
If vou DIan to create complex applica'
tions thai require multiple modules' you sold aa shareware, with a registratlon
mav warrt to look at a full-featured code a P.th.View price ot $50. Beckner Library has
eenerator like Ul2 or Genifer. Path-View Pathfinder Syslems, lnc array, binary, class, date, envlron-
"mav
not meed the needs of a hardcore 21M oak Ave. ment, llle/record, math/linEnqial'
developer who needs a more flexible Manhattan Beach, CA 90266
nroduct. (310) 546-6333
mouse, Printel/s Poo ler/laser,
' However, Path-View is a nice fit for programming, string, time, 8nd vldeo
someone who develops applications on John Mueller is the technical editor for Oafa
functlons, among othets. Meta'
an occasional or ad hoc basis, arrd it's Based Advisot, a prolllic computer book lunctions (completed applications)
great for creating quick programs that author, and the owner ol Datacon Services. include general ledger, word process-
don't require many modules. It's screen a consulting firm specializing in Novell
painter approach to creating an applica- networks and dalabase managemenl ing, lorms generator, rePort/label
systems. reptacement, command line browse'
index and comPute commands, and
amortlzalion achedule. Becknervi'
Extra Help for G++ sion, lnc, P.O. Box 11945, Winston-
Salem, NC 27116.1945, fax (9'19)
Programmers 760-1003.

crosoft for example), then your burgeon-


ing library will grow by several more New VBAssist
volumes.
Naturally, publishers have responded
from Sheridan
to the success ofBorland C++ with many
new books that are intended to cover the
basics-using the compiler and tools, the
s heridan Soltware Systems,
Inc. shipped VBAssisl 2.0, a
new version ol its ptogrammlng tool
C.+ language, and Windows Program' that lets users visually create, edit'
m ing-w ithout overwhelming the
reader, and in a single volume. and gave customized versions of the
obiects within the Visual Basic
ts@K tsIWI]BM Using Bo and C++3,2nd Edition Toolbox with ProPerty Templales.
Le€ Atkinson and Mark Atkinson VBAssisl 2.0 also allows usel9 to
$34.95
create scrollable lorms and picture
A re vou overwhelmed bv all ofthe Que, Carmel, Indiaoa
1992, 1,158 pages boxes, and lets users organize sgutce
I miruals that come wiih Borland
a lC++? Perhaps thal's because t Jsinp Borlond C++ 3 covers the
code with VBAssisst's lntegrated
when you purchase the "compiler," you Code Librarian. vBAssist can gener-
get a compiler, linker, debugger, run- I I t-ii"". from installing the com- ate O lalog and Menu.esources
time library, an assembler, profiler, re-
lL/ piler, io understandin"g pointers
(crucial to programming in C and C++), directlylrom anyVisual Basic lorm lor
source editor, and numerous other
smaller utilities. and even using assembly language in a use with SDK-compatible languages.
If you buy the Application Frame- C++ program. VBAssist 2.0 is $179. Sherldan
works, toss in ad- 5+. The authors take
Software Systems, 65 Maxess Road'
ditional manuals ,s' care to flush out cer-
tain concepts. For Melville, NY 11747, (516) 753-0985.
for the interface
Iibraries, like example, you might
go crazy trying to
ObjectWindows
(OWL) for Win- understand point- Blue Sky Opens UP
dows or Turbo ers to functions '"J,N'"l
Vision for DOS. from the scanty ex-
planation in the
Bff"::'"ffITlT
Don't forget the slonal 5.0, a C/C++ ProtolyPing.nd
Windows API- Borland manual,
but here you'll find code generalion tool designed to
it's documented
shorten development tlme. New
on-line. Ifvou get function pointers
a hard copy (by explained at length features lnclude, among others, a
purchasing the in plain English, WYSIWYG Prototyper, on-line helP
SDK from Mi

32 DATA BASED ADVISOR/I.4AY 1993


You are entering a
New Dimension
of Accounting Power!
Power, Price. Pertormance!
. The Series 3.0 Lineuo
Browseable data entry with au-
lntroducing the 3.0x Series. tomatic validation.
Accounting code Optimized for:
Versions for all seasons so to speak, . State-of-the-Art Menuing
because each version in the 3.0x
FoxPro
. The ability to work in multiple
Series is written for a specific xBase Clipper
accounting periods.
product. For example, you can take
. much,
full advantage of the power of much more. Coming soon - Call for availability
Fox-Pro 2.0 and put it to work for dBaseIV &
you with Common Cents Accounting Why not start the new year out right, Wordtech's Arago
Version 3.0F. with a powerful accounting system to
help keep you organized and on top We will continue to carry a generic
The 3.0 Series is loaded with of the situation? dBase III+ version for other xBase
time-saving features that are products.
designed to simpliiy your business lntroductory Pricing
accounting, including:
$149 per module ! VARs. Resellers
. Inquiries Welcome.
On-screen pick-lists for account This is a $100 savings per module
numbers, customer numbers and is only available for this special.
item codes, and others - elimi-
"Each of the modules has as many, if
nating manual lookups. To start using the full power of your not more, features as higher priced
. Context sensitive help at the database system... packages."
touch of a function key. Order your copy today! Data Based Advisor

Includes Source Code Generic dBaselll+ Foxpro Clipper


(version 2.3) (version 3.0F) (version 3.0C)
General Ledger $99 $149 $149
Accounts Payable $99 $149 $149
Payroll $99 $149 $149
Accounts Beceivable $110 $149 $149

Note: Accounts Receivable also includes sales/lnvoicing , order Entry, lnventory, and purchase
orders

Call(719) 481-4682 Fax (719) 380-1198 Common Cents Softwarc


PO Box 307
Tndendts dBN / Borled, Fbxprc / Foi Soirde, Clipper / N&rucke! Aiago / wordtecn
Monument, CO 80132
Test Drives
Book Reviewsi C++ Continued

with numerous code examPles l The remaining thousand pages are an


Wlat follows is an introduction to alnhabetical reference to Windows func-
I
C++: classes. construcl,ors and destruc- | tiins. Windows messages. and OWL
tors. inheritance. and so forth. While you I classes. You may find this useful ifyou code generator, aPPlicallon
mie[t expect the examples to be the kind I don't intend to purchase SDK documen-
templates. lt supPorts code genera-
tha't are eood for simply demonstraling I tation from Microsoft
tion for ANSI C, MFC, OWL, OS12' XVT'
conceDB;nd nothing else. the example I
classes are quite useful. There's a very | Maste ng Borland C++ and more, and comes with toolbar,
eood chapter on streams. and I've always I Tom Swan MDI application, and style and
ionsidered that a mark of a good C++ | $39.95 property setlings supPort.
orimer. Streams in C++ are difficult to I Sams, Car:mel, Indiana
pages windowsMAKEB Professional ls
'oraso
the first time around, even for vet- |
1992, 1,568
can write ab- $995, whlch includes the MFC Switch-
E..n C otog.urn-"rs who
Your wrist Pick-
|
in their sleep might sPrain
I 7ou It Code Generation Module. Blue Sky
r.inifl) l
Y ing this one up-rt's l,bbu Pages
"t.r""
The iast 160 "t"tements
pases are devoted to Win- Software, 7486 La Jolla Blvd', Suile 3'
dows progra;iing, but it barelY
|
I tone and weighs about five
sub-
I
pounds. A-lot of Mo steing Borland C*+ La Jolla, cA 92037, (519) 459-6365.
scrakh-es the surface ofthis complex |
is wasted, though.
jecL. Using Borland C++ 3 really shines
primer; in that respect, rt s
I The 450-page reference to the run-
as a language I is just a regurgitation ofthe
time library A Server for OS/2 2.0
well worth the money. Borland docs. The introduction
ll You te using mainframe OB2
I

states that "this reference includes I and you're looking to downsize'


corrections and omissions to Bor-
land's official documentation " consider XOB-Server for OSl2 2.0, a
That may be so, but I'm Puzzled 32-bit, multi-user database system lor
P ublishershave whv the authors would leave out PC LANS. XDB-Server lor Os/2 2.0 in-
one of the most important things
responded to the success of the Borland docs tell You: Which
cludes relerential integ.ity, record-
level locking, transaction processlng,
Borland C++ with manY run-time functions are compatible
p/recove rY, and Password
ku
with Windows and which aren't. ba c
books intended to cover the But , Mastering Borland C++ protection. ll uses the same data
basics...without does have some things going for it: storage architectute, security facill-
It thoroughly explains ANSI C alld ies and locatlon (subsYstems)
overwhelming the reader. C++; there are 75 pages on Pointers
t
naming conventions as mainlrame
alone (if you don't understand
pointers after reading this, You DB2. DeveloPers can use the same
never will): the text contains lib- three-part name conventions
eral code examples, and, unlike the (location-name,authid'obiect'name)
other books reviewed here, a disk is in- with XDB-server as they use on the
Deve lop ingWi nd ows APP li cati ons cluded.
with Bo and C++3 This book is really slanted more to- mainlrame.
James W. Mccord wards DOS programmers. Windows pro- xoB-Server algo suPPorts Storage
$39.95 sramming gets iust 60 pages, but there Groups (STOGBOUPS), which lets
Sams, Carmel, Indiana
1992, 1,362 pages
ire compleie chapters on the Borland users physically organize databases,
Graphics Interface (BCIl. Turbo Vision. tables, indices, and logs on specilic
v, puploDine Wind.ows Applications assembly language optimizations, and
memory models and overlaYs. volumes. Tables can be Placed in
L) xr:, "
;:!: ;,fl.f#.r:; H,[:
off The first 200 pages offer a quick-and- Bo and C++ 3.1 Obiect'Oriented
logical storage grouPs while
physically located on diflerent
dirty introduction to general Windows Programming
orosramming. lt s nowhere near the
i"oih vou eei in, say, Charles Petzold's
Marco Cantu and Steve Tendon
$29.95
::H::.:H: ff:",X.;il11:
Bantam, New York users, and $27,995 tot more than 65
PiogrZ miing Windows I M icrosoft 1992,626 pages users. XDB Syslems, 14700 Sweitzer
Press. 1990) On the other hand, it'll get
yor-r up and running a lot faster, whereas Lane, Laurel, MD 20707-2921' (30'l)
Bo and C++ 3.1 Prognmming for
in Programminq Windorus you'll have to 317.6800.
read up to page 403 before learning how Windows
Paul L. Yao
to put up a simple dialog box.
the next section is an extremely brief $2e.95
tsaDtam, New York
Capstone Is All
(seven pages) discussion ofC++, followed
by about i hundred pages on ObjectWin-
1992,746 pages Together Now
dows. which. franl<lv, doesn't have much hese last two books are Published Itechnology Appllcations, lnc.
that's new or dillerent from the Borland hv Bantam as "official Borlaod I tas rottea thelr cllenvserve.
OWL documentation. B"ooks." Borland has alot riding

34 DATA BASED ADVISOR/MAY 1993


The most powerful xBase lan guage
now does Microsoft Wind ows 3 1 a

CA-Clipper + DOLCfl VITA"'


o Suppor& alt Clipper Commeds and
Funcrionr
o supporB you pEreed roots. RTLINK,
BLINKTR and Ol€ DEBUmER
" ;;iHfr',;,-*::f* rb' crassvi) ) supercrass,rerepathv,srx

rs..rma],y ass.ciabd
:o ffi ,?iIi:Iilj#:#[:ffi
work! wirh Swnmer,87,
f,T#1f;fi.::ff
Ot s)'CIiDDer 5
trlupPrRlso@csporEust o t olce Vila encapsuhtes dr dlirc Windows Apt in an easy ro usf
Clipper I ibErv .,".-,
: i:,X;,1.,#1t';I XJndows]ppricatons
uline rhe o.ri" v;r.riiifi.
Ei/,.nt-.l
Ecnxa-.l
t 4"_] -r".1 ta1

IEET E.!Et Ei!!r EI GTEr

t
#,ffi
Write TRUE Microsoft Windows
lfl & n6Ee
hvq.r!('d l[*l*
\-
.-c MICROSOFI
Uthmoun
applications in CA-Ctipper today! MN,PATtsI.E
Easy learning curve
Viu For a-ClipF€r proaraffer teaming
Dolce enabte\ tie (
tipFcr prcgrdmer lo geneare rcal nortd rc progErn Windows nomalty incjudes teahins
Windous baled rirsr. Fora, appricadon prcgr.-r". C
database applLdr'ons in a lra.rion
oftne rimc ir;oujd ule ro qire ,n C r c ii.- you usr ctipp€r ror Dos based
r." tgc n.*"rrr li **;
,i"-is.,"l,i
applicarioro:wr$" Dotce t;,,-
" "r".
Are-y.ou losing ofclietrts becaus€ proSrnmminS wilh a p.ogrd,rtrming _ r*.-l*i,ivr"il*r.
oflack of powerful xBase lanSuage atread)
)ou kn.*.
for Windows ? D9l::.Yira
Losingjuit one contract is cause for concem. It "lerver
Utr. lUy:coverable
optiona y checks cals ro Windows ro

Dolce Vita is cleatrly implemetrled ll.I."l


generates standard Clipper
application errors). and
run time errors insteal.
No ha!e been rcptaced or hacked {a5 some tibmries
'nremals haver,
Dolce Vita's library gives easy access
Works with existing add_on tibraries to Wilrdows screen
objects.
Because ot rhis imptenenErion,
ajt add-ons )ou cu-rEntj) use wiI qort. Obviousl\ Bar menus. popup menus. dialog, edil.
sraph,cs andm screen onented add-ons witjia,e rinre list. combo and check boxes.
m;"g il;;;;tH"* Pushbuttons. scrollbars, elen clitom
controls and o*ner-d.awn btrnon.

Quick to repay the itritial itrvestment p.,V^!1{e,Jm nesource to Clipper code getrerator
r_rvc uuL.t Xt is a code generator.
A couple ofdays wort $dring a,,utilitv,,ro
acce!
wrinen in Clippeis. $at comes wit} the
wiil pay barr e iniriar inv.;"-.,; Dolce Vira Library !o altow you lo ger
i; i,l;;1il:Li,T"JJffil,;:lii*flJJlq:l skned qui;Uy.

'
rrom ltre crien; dakba!. i"L w*o i..,w;a"*:, When designing a Windows application.
;ll-",-yp1i:_ylrlT,.-oara
L^tH v,d u]-naD( Dala Lxcbege (DD[). the starting point is the resource
ar enquiry uriri,y, u "1*.
*pon *r.,i"i
*"J,t file
D,rxr,rn rons orwindows or a prcrorype
ftonr ena'roioil"" uJ.r;""i. ,i,, J,""*"
wrndows. plLr, rcaly Bprdproroqpins posqrbte #r;:1x:::1,T"J:::fl ati*T.,,,"".ffi
is wiil $. wti"*""..*", .iii... lnml,,lim#rfl
Use v_our fayourite Dyaamic Link Libraries (DLL,s). Preparing for the future
With Dolce Vita you can ca- anv Dt
r fr6;
oLr ris.,, rJ,i#,? ;1:;ffi;;l:TfliXjf,"rrro, h*. ro* o*n
Tln other exciriD8 thing abour Dotce Vila is rhar
alll}le expenence SaiDed using iL car
onry mat€ rhe move ro Visurt Objecrs dEt
Euch smoolxer. you wi atreadv _", hate
Srasped trte essenrial diilercnces ofprognrnm,ng mode,"r. ""'.
ctipper debugger (ctd.exe) *rf f"",;*r.
Y::ll" i!l,dlTg
Anl,.,}|lng else raould be inferior and unacceptabie. ' Companion Guide: Cfaig Yellick,s Tutoriat ,STRADA,
rhts extensive guide (including source
No special lirkers reouired trlcks
code disks, pro\ ides many lips add
lo )ou i, yoUI Windows devetopmenr.Wan"n Uy Craig --. Vjii";:o_
No special linler is required \aidl Dolce Vita, you may use the 5tandard linler author of-aid
"Clipper 5 a developers Guide'. glc.95(.SaU,- - '^""
supplied with Clipper oryou may use Blin_ker. yor;
;;:;'.'" r"r;;;;
a Windows compalibte (segmenied
Linker) ar addrrionat cosr. This is a DOLCE VITA $395(+$t5s&H) ofl*."r,
complete Windows developmentpackage. "ppiicabrc
in rhc us^ & ceada
FIESTA PUBLISHING,INC.
Launch other Windows applications 1402 E. L-as. Otl s,suite 107_Forr Lauderdale,FL
5ucn as R&R for Windo*s, Wrire. Winfax. 33301
Fxcel, WinWord ard CrysEl Phorc-(305) 728-8183(10 to 6 EST)_Fax (3 OS)523
Repons and drive $em rhrough windou,s 2g2t
Dynamic O"ru iO6e t*"t*g. 1. BBS (305)525-0933(14400 bauds)
Test Drives
Book Reviews. C++ continued

on obiect'oriented technology As Phil-


ii"""-'x"ilt in the forw;rd to one of {
"ur"
i'dJ"" uo.t",'ive\e
oa*t"J upp."""i,
adopted an object-
ucrosslhe board' from r..Til
.lr-a"taio.""t tools to thewith end-use'
these
Iipli""ti.n pt"a*ts we build
tnols."
'"!o i".r't.r.pri. igthatBorland' C+* oBTool-into
GUlMaket' OOCManager and
it application tools-DBAPartner, CodeMaker'
loi of
iiii-'oii,,a Piogram mins onefor an integrated development lool they call
s. CaPstone'
ii*J uuthot" previously worked DBAPartner is an administration tool for creating and managing database design
and
ii"rf .elling object-oriented (DDL) as input and stores lhe OOL in
""ar "i".t" "fr solution to the "soft'- schemas. lt reads a dalabase delinition language
L"-fr""Lo* as the
*^.. criiis" that has existed as long as a vetsion control system'
-o"t "" can of remember' The authors codeMakerisacodegene'atoflhatcleatesprecompileddatabaseProg'amcode,and
de-
ui"o-ait.u"" proper object-orientedother (APls) lor ANSI C and.K&R C/C++' lt
with gen"rate Plogramming interlaces
.im, La no* Ci* comPares "un "ppti"ation
obiect-oriented languages alsoc'eatesstoledprocedulestortoaaingintodatabasemanagementsystemsand
--t"r,e".l chapLeti ofBorlond C++ 3'l triggers to establish servet'enlotced relerential
integrity'
tool' gives GUI access to CodeMaker doc
oii"}Q*"t"i Prcgromming cover the DocManaget, a documenl management
for a manual page
i^li" elements ofC ind C+*, mostly em- prg"", ,,iorr" for adding, changing' or deleting text descriptions
;ffi;ff a;-need to krrcw c to krow
Cantu/Tendon contend "no
OBTool provides an interactive, mu-hithreaded
interlace to the database server' with
irr.illr-a".'t lile and print management features ll is alsoable
to keeP multiPle' concurrent sessions
6ii.iri t'r" ro""a this tobe untrue The
OPENLooK and Motil
i"J""i pu.t uUo"t C for many people is oo"" ,in *" o""i"se server' oBTool runs undet GUI-
.*,irrto. in no way alleviates aPplications lor an entire database'
C++ GlJlMaker creates graphical user interlace lor every
"na lndeed. two of C++'s big
i"i^i"r ilat. database schemato build a screen
Maker uses a customizable template file and
Liiir* ro*o are that it keeps C-likeC user delined table.GUIMaker also generates source code lor cuslomizing callbacks
or
and doesn't break all the
"g:.iJ"Jr. it building special event handlers'
-" which came before
mde
environmen! but lhe individual
pro-
Stiif. Aotl.ra C* ' 3.I Object'Ortunted- Capstone can be purchased as an lntegrated
Proprunnminq is a good book Th-ere are is based on hardware Platform and number
grams are also available. Capstone priclng
*""a cf,apteri on advanced topics ofusers.Foraslngle,usergystem'capstonesta^sat$lo,gos.Thelearenoruntimeol
".-%
iike th"e Borland class libraries tthe Bor-
f"na ao"" are notorious for scanty treat- redist'ibutionlees.callcompanylorindividuatprogrampricing.TechnologyApPlica-
(314) 394-6426'
207' Chestertield' MO 63017'
oi"f lib.u.ies), TurboVision, and tions,lnc.,135O Elbridge Payne Road' Suite
'i.-t ^t
ObiectWindows, as well as a chapter on
eflicient
' -'gifr""d.
wJti-ng and correct C++-code'
C++ Programming for Win' Xbase++
r/or-r-,s is described onits cover as Interme'
diut/Aduun."d. y"t the bookbegins with
graphical exten- Mi"liil;fi ;":ilm"flile:T"ffi ":;;::'""3"'::ff
i:-"iTIffi"Tln:I
"Microsoft Windows is a
allows simultaneous access ol NTX
.io" to tU" fr'lS-OOS operiting system " I tormats' dclags
with support Planned lor other
i^[" ift.t to mean beginners are wel- can be used to wrile slngle and multi-user
and NOX liles lor the same OBF' dclass
Mot" so than anY of the other or manually in
File locking and unlocking can be done automatically
"orn".
toot". thi" one is very comparable to "OO,O"t'."". dclass supporB small' medium'
;ulti-user mode. Source code is avallable seParately'
Piiiid'. Prrsr"^ ming Windows (Yao ol C++ compilers' like Borland 3' Mictosoft
pi"t. up"where the Cantu'/Tendon large and huge memory models on a variety
(DLL) is included for Windows 3'1
"["
book leaves ofr.) f-i, ,no ,*""n c 3.1' A dynamic link library
Though I think every serious Windows applications.
should have a coPY of call company lor pticing' Microlab, lnc ' 6290
Edgewater Drive' orlando' FL 32810'
".ontui."t
i'etiold's book, vou may want to relegat€
471A, aOO-771- 127 4 , (407\ 297 '127 4 '
Petzold to the r;ference section and actu-
ullv ieud Yuo's Uook Petzold's world is a
*.,.1d of *indo* procedures and mes- Get Your Code Right
sages-there's not i line of C++ in it' Yao editot
i.'*.itine for the Borland C++ compiler' lrou can use WotdPe.lect ediling macros that you created lor the BBIEF the
unJihutv"
-- th" on" you're using, right?- Y ,"* wi[1 Premla corp's B-Terp' an add-on to codewright
ihese last two books nicely comple- ""0",t" editing macros that programmers
Windows program editor. B-Terp dlrectly executes
ment each other, and I recommend both B-Terp i3 $99 and
ofthem. .ry trrr. r"i r"i r, BRIEF lor OOS, Borland's DOS program edllor' get verslon 2 Oh
earliet 2'O releases can
requires CoaeWright version 2 Oh' (Ownets ol
Jam€s Fove i3 a consultant specializing in Corp', 1075 N'W' Murray Blvd ' Sulte 268' Portland'
lree througtr tte company.) Premia
wtnaows iatabase development' He can be (503)6416001'
oR 97229, 8OO-s47'9902, (503) 6416000, lax
;eached ar (713) 6616360 or on Compuserve
75605,2674.D

36 DATA BASED AOVISOFVMAY 1993


TO

Some fiA-flipperdeuelo pers g0 t0 amazrng


lengths to enhance progratn detrelopment

0thers callsofDesign

For every CA-Cl_ipper program, there


is a

programmer who yearns to expaad the

development horizoru. V4ile some

programmen embark on journeys of

dwelop-ma-tria, otheis simply come to the

source of innovative CA-Clipper add-on

products: SofDesign Intemationa.l. From

our essential swap-ald-run library to our

new 6mily of ProMsion products,

SofDesign boldly akes applications where

no CA-Clipper program has gone before.

For rhe practical approach to powerful

programs, calJ the sofiware architects at

SofDesign International.

rro\Ell3ror
Eiltrt rr oprrc_r
PROTECT! Pmlt
EpvTqL^Ay()
iorBehp Is )Du buitd , @mpld€ SVAP-N-RI N! OrcrLfl) is sill thc bd m.ho.y LOOKI Prc\4sior:rx/indo% giv€s your
backup and r6ror€ s),stcD into your applietions u.6 r;. benctirs
wirh s Mppiry libBry for CA-Cljpp€r. Shps appliorions b ofmodelBs windows insid. a Clipper apptiedon.
litde tu ooc tuncdon cal. Complerewhh auom,.ic
on- disk, EMS or XMS, dd rhcn ccor6 virturly an/ Combines wenr driven progrmmin& obje( technoloe,,
the-fly fo.tutlins, optionat compre$ion durins
backup, appli@tion o. utiliry. One the DOs applialion i @mpta€4 ed. me re -bsed *indowjnt varem ,n on. innovn,v.
od optional deNion vncn disk is iBft.d
a Otr€6 @mpler ov.rtry0 resumg you Clipp.r applietion right whcrc
pack$. Givs CA,Ciipperrdt
conffgurabiliq,. \vorls wiih or wir]Dur prc\rion:wtdus. mode ile "tmkand fel,
you lcn off Complne fldbiji!, ro fir ),our pros,mfiinS ofls.phi@li't .hce uins our unique .texrmodc
Fully compatiblc wirh d/neic linkers like Blinker. Fr( nad' Fully ompaiibtc with d),nmic linkers tikc Blink€r.
redcfinition." FuIy cohpatibj€ with dynmic link.6 like
tunrihe dntribudon. g199os pts shippins.
Frc runrimc di$.ibution. gr4g,ueplu shipping.
Alinler. FrR runrime dnrnbudon. 52ee ,.. ptu, \hipp,n8.

CAlL I -goo-755-7344 v.s.& caNArA

.las.,iFlffiemrh!sdks,fuyllfuMM^sfudlEr{o
tlippet Ievelo[ots:
t'lelcome [o [he $0's
ILIuI

s
il-
er's 6ce it - MemoEdirQ is yesrerday's rechnologyi Velcome

l
I
a complere linkable word Processor
lor LuPPer'
--itro,. t.r.,ion'.rll, you can give your Clipper Programs a
'i;i-^* Or' c:m create
iii..^"^ilw-a .,. woidP.rf.cr inrerface you
library Your Clipper
i,l"r *i,i,f,. CLText function/class
I::i#:;;;il
"*" .r.,'rsvsrv"rc (botd' underl ine' irdics'
:iii;"i';;;;: ;'h/"p1""' headers/footers' iusrification'
than.64k,thank
#;i;;o.",';n'dil
;;'"vr',fv. do'u,n'n'" t"'ger
l" Cf-i.r, is tully comparible with FlexFile and
printers'
A;gi ;Jlt"l"d* pri"ie' d'i"e" for over 350
including PosacriPt.

o
ILGtoph/3[

o
[LIepot
to hard-coded reports. \fith CLRepon, you and your
l ust say
line of
users can create rePons without wfltrng a single
6rlly suPPorts re-
code. N ot u5t simple Iists el ther CLRepon
nested, and mul ti-scan) grouPs
lations (fixed, sofiseek, search,
u to 99 tem indexes subtotals, cdculated {ields
Porary
P
line exPresslons, preproce.ssed totals and more.
And, unlike
1n to your
BUltil 1'|E
R&R Report \7 ter CLRepon Iinl<s directly
This means your rePorrs c:lo incl ude
Clip per application.
to
Clipper UD F and rhere ls no need IO shell
CLRepon designer l5 royalty
DO S. And, slnce
free, you can glve every of youl us€rs a copy of
a repon writer!

BLOI}lS
PI sds e c dl I t
000 -4 0 0- 70 0 ex[. 7el 0 0 ce dtl 0 rde 0
p te qlJ e st a d 8tll0 dislr P0tLtsllIg,l lc.
Each product is
All products catry a 90 d"y mon ey back guarantee (u Canada 17 Madison Avenue r Suite 50
$ I 0 shipp rng and handling SA and Madison, NJ 07940 r USA
available for $2 99 plus
Building Blocks Publishing, Inc. ls the exclusl
source for CLText, CLReport Phone:201 .301 0822
D CLT ools and CL\(indow ln the Americ-as. Purchase orders fro m Fax: 201 r 301 r 0128 '
CLG raph/ 3
z186 ! 8700
F ortune 000 government, and unlversl cles may be faxed direcdy to our office. TOLL FREE ORDER: 1 800 r t
Please call fax for 1n te rnatl0 nal availabil 1ty
IIAT TBASED
ADVISOR

BUYER'S GUTDE
our database is the core ofyour busi_ base manager must provide the information you
ness---{r it should be. So choosing a need_
when you need it. It must produce the queries and
database management system isn,t a reports you need. Ifthe database manager you,re
game... Database managers turn using
isn't up to par, what products are available that fit
your raw data into the iuflormation the
bill? In this issue, we,ve provided articles includingtips
you use everyday to make business and suggestions for making the right choice. Whether
decisions, keep tabs on your you're an end user or a developer, choosing from
inventory, track your cash flow. and the
myriad ofproducts is a daunting task. Our 1993 Buvels
more. What's more important than that? Because
this Guide will help provide the information yo, n"ei to
information is so important, you should choose your
choose the database management system that will give
database management system carefully. your jata-
you that competitive edge.

tr UH HtE
FORMAI
u
ASGII
Xbase
BtrieYe
BASIC
, IIBF
G/G+
IIB
PAL
SQL SOLlables

)
ct
==
<F
GUI
ur>
EeE=a
o-u,
e =E
I
Ed s GUTDE
EUY
6' x ,n
.
BUYER'S GUIDE

File format
ForDeveloPers
. OPera ting Systems o
. Progra mmabilitY
o
. Third-party support
How to Choose
YourDatabo^se
Monageflrcnt
System
products with built-in languages include
By Mike Lewis vou think appropriate. Their disadvan-
iaee is that iiev demand lots ofwork' R:BASE and Clarion.
""Ho*"r". powerful l"he language' You don't have to use a database lan-
'Choosing a data- vou've still got to put plenty ofeffon into suase to develop database applications
base manager for aP- coding and testing." says Stephen if ,n'I.r orefer to work with a traditional
plication develoP- Cameron. a consultant with soflware language like C. you can add database-
ment is a lot differ- house 4D Concepts. "And don't forget handling capability by purchasrng a
ent from picking one about design. A good programmer de- third-partv function library such as Se'
for interactive use," signs the whole thing properly before quitei Soitware's CodeBase. or SoftC
savs Jon Silver, propiietor of soft'ware cutting the first line ofcode Using these fiom SoftC Ltd. Programmers working
house Step One Technologies 'You've languaqes is no short-cut." in Visual Basic also have a good choice
sot to look at things like performance lf vou do choose a solution involving of database libraries: Pioneer Software's
ind usabilitv. But you've also got a
oroeramming, which language should Q+E and Revelation Technologies' Open
whole extra set ofissues to address. like vou oot for? "There's no such thing as a Ensine are two examPles.
the Drogramming language, debuggng irniveisal daLabase language, but Xbase Oie other language is Structured
aids. deiien tools, and so on ' lt's these comes as close as you'll get," says Step Ouerv Lansuage (SQLr' Most high-end
developer-related issues that I focus on One's Silver. "lf you plan to have any datuba"" mu.tig".s incorporate SQL in
in this article. kind of career as a database developer, one form or another. But SQL isn't an
Reeardless ofthe issues. the approach vou will want Xbase in your linguistic application development language'
ieoertoire-but not exclusively'" Lacking even the simplest of user inter-
is th"e same. Start by making a detailed
ibase refers to descendents from early face fealures. its main use is to manipu-
list of vour requirements. attaching a late andquerydata tables Products that
orioritv to each item ldentifo those dBASE, including such modern products
hust-iaue features, the features you'd as FoxPro, CliPPer, and dBASE IV It's support SQL usually incorporate an-
lilp to have. and those you can do with- the most widely used development lan- other language or have another way of
suaee in the PC database world. but it s creating applications. Depending on the
out. Then use the list as a benchmark o.oduci vou choose, there might be ad-
against which to judge each ofthe prod- iar iiom beine a standard. Most Xbase
dialects began with dBASE III PLUS, irantagei in learning SQL butit'srarely
ucts under consideration. essential to do so.
Above all, think carefully about the but thev've diverged so widely from their
type ofdevelopment you want todo Are origins that they now have only a core Automate the Ptocess
set of commands and functions in com-
vou p.epu."d io p.ogram the application Most database management programs
irom the ground up. using thc dalabase mon. That said, a knowledge ofone form
of Xbase will certainly help you learn also have some form of interactive de-
-^.raser'i built-in language? Are you sim tools, tlDically used to create forms'
"comfortable using interactive de- another. (Note that a standards effort is
more
underway for the'Xbase language, al- relorts. queries, and menus You might
sisn tools to creal"e the various compo- use these tools instead of the language.
nJnts oft he application? Or arc you look- thoush itls currently in its early stages')
ouiside rhe Xbase world, each data- or vou might use Ihe tools and the lan-
ing for a combination ofthe two? euage sidi by side. Relying oxclusively
base manager has a ProPrietary lan-
The progtamming language suase. with little or no common ances- in interlctive tools for application devcl-
irv."For example, ObjectPAL the lan- ooment could force you to accept compro_
Most high-end database managers mises, especially in your applications
guaAe in Paradox for Windows. slightly
have a programming language These user interface. On the other hand' they
languages can give you enormous free- iesembles Pascal. while the languages
built into Microsoft Access and Super- can often help you to speed up the devel-
dom. aliowingyou to create virtually any opment project dramaLically. Conlinued
kind of appliiation wil"h a look and feel base both derive from BASIC. Other

40 DATA BASED ADVISOB/MAY 1993


Works
File Edit Qisplay !ditor Eeport Sption
IJDO
S*, ERwin-;;rE;;-
tr tr hl a trl
vendor-no
vendor- n ame

PART
a
ls backu$vendorfor T lEl ! u+l 5
tt

pad-name
VENOOR.LOCAT1ON
qty-on-hand vendorno (Flo
backutrprice location-no
parl-type
l0cation-addr
backup-vendor.vendor-no (Ftg
L ls standard vendorlot lI
Goe into
pad-type
SOL Server Editol
llffi,"l
talDtat'
cfiolaa
MAKE.PART Entity Name: VENDOR
pad-name (Frc
Delete Trigger: d VENDOR
std-cost
CREATE TRIGGER d_VENDOR
ls made of ON VENDOR FOR DELETE AS
STRU CTU RE.ITE
BEGIN THAN
I!1
DELETE part-name FROM pAR
comp-parl-name.parl-name (FtO
assy-pad-name pad-name (Ft0
lnserl Trigger: iVENDOR

ERwin Makinbo database desi n


aa

easier in a cli ent/server worl a

Client/server applications
with the latest clientAerver
are changing the rules of data- ........_+ tonard Engin€e ng
latgll Saolr 0 rDr3'
features.
ERrdz
base design. Ifyou want to Lo{Ld ptrCc.t S0(Sd.iq 082
Gupta s0tBase
D€dE l).dol
_ {PII
In{rl,t
T Thousands of developers
manage referential integrity on
<l-_ ticro!onfot seder use ERwrn to build databases
the serveq you need to capture &eveEe Engineedng
sybase sol semr faster and easier than ever
business rules with more precision Point-aul-click to m.)w fron one tevet before. And now, ERwin/ERX
ofdatubase design to thi next. Reverse-
than ever before. You need a data
engtneennB rs as easy al drueqinq and is bringing new power to client/server
modeling tool made for the d.opping an ?\ishnR dpptirution iNo ER6in.
database design. Call us today-
client/server world-ERwln/ERX. you to quickly and safely move all and stay one step ahead of a chang-
With ERwin/ERX, you model your integrity code to the server- ing world.
your database structure by drawing an where it belongs.
Call today for your free
ER diagram that captures all business The result? A client/server
information kit. (609) 243-0088
rules and referential integrity con- backend designed, documented and
Fax: (609)243-9192
straints, and automaticallv implemented in a few houn-with-
generates SQL
schemas, indexes
out writing a line of code.
ERwln/ERX can even reverse- lo oolc @

and triggers
Allowing
engineer existing applications into
ER diagrams-ready to be modeled
orks
214 Camegie Center
Princeton, New Jersey 08540
tim ERvi. is conpatibl. wirh Windws 3.1 ed @lier v.^i6. A1l p,qlu€tx Imed @ Fa.telEts
oa
llrct Esp€.tivc compdies. ER,i.is . k d.mart ot bsi€ Worki. l,c. @ L.sic Wdks. 193.
DATA BASED ADVISOR W BUYER'S GUIDE

a oroduct that works this way {although senerates a basic frumework. with the
f)esisn tools take several broad ap- Ieveloper adding small chunks of
nroach-es. With some programs. the ob- Aicess also has a built-in languagor.
With the other approach. the dosign application-spccific code during tho
i'ects vou create tthe forms. reports, and design process. FoxPro. lor example. can
"so
on iare immediately available to users tools generate procedural code, which
vou th-en incorporate into your applica- be used in this way.
through the package's menus Develop- Another possibility is to use the design
ins a;.- appliiation in this way is quick iion. This takes a lil"tle longer. but gives
you greater control over the finished rools with event-driven programming'
unl you can rapidly switch
"""rb""uu"" product. With some database managers' In Paradox for Windows, You use the
between design mode and execution form designer to creatc the application's
mode. The disadvantage is thatyou can't
such as dBASE IV, the packagc genor-
ates individual modules that the user uscr intei?ace' which vou can then "run"
easily hide the package's interface {iom immediatelv. You can also write small
,".r". Mi".o"oft A"cess is an example of can execute interactively. With others' it
Drosrams (methods) thal atlach to on-
screen objects such as pushbuttons Tht'
methods are executed in response to
events. such as the user clicking on the
WoTdBASEAVoTdSPELL Clipper' 87'5.2 Word Processor obiect with a mouso. This approach com-
cuts and lull mouse hincs thc convenit'nce of interacLivc de-
r Efv l-€am extenwe pulldown menu svsEm wib numercus hotkev short
to Use snd Use th€
helpplu'a l80pase u'er manual ondi't' sign with the flexibility ofhand coding'
*pp"i. w",JaAit;".t,de. Pop upon linc
FlexFile ASCII and WordBAsE file fomats'
r Edits and Sp€ll Checks 7 file Tvp€s _ Edn Clipp€'memos dBxstore 25'000
pr'" ipai ir"iiCi,pp". .ltancts netos ana memo* "ariables lnsrall a 70'000 or I I 5'000 word dictionary' Programming tools
lldli.r. Underline Fonl' Pitch Landscape d Portrait' Envelopes' Multiple
If vou plan to write Your own cde.
'r,s Bold,
]600 Printers SupPorted C0nLe'd ,
vou'il need a text editor' Many interac-
;.;;P;;;;& uppe' -d t'** pap'_
t'av'-' r'inl with left nght o; cenEr jusrincation with proPonionar
iivc database managers have built-in
foDt supPon'
.l" *l,icd drr^h.ses with Lr)o-uo ficld
rMaitMeIpt-CondllionalmdlmerBeliommuttipleElaleditltaba\essiLhpoPDPItcldin\enionFr
insenion. Four sample editors, though these rarely approach
d;raba*. plis inpur scrcens dre included tor Home. Bu\ine!\' Clicnts d the qualitY of third-party cditors de-
vendo6 marr merBes'
ftle size in 20K or less tolal mmory'
Siz€ - WoTdBASE edit! fiIes in multipte windows of unlimited
r UDlimited Fil€ sicncd for programming. Some dcvelop-
WoTdBASE is Lan ready for mullipl€ users sd is fullv overlavable' cri oreler io ignore the built-in editor in
JCustomizable.Devetopercontroloverwinilowsjre'colors'tabs'margins,pagelenglh/widtandpag€headen.
S87 5 2 source code wordBAsE inlesmtes inlo
favor of prosrams likc Brief or Multi-
o WoTdBASE is "Royslty FItt" and includes $e comPlele Clipper
Clippe. with jusl oDe lirE of code.
Lldit. Ifyou opt for a languagc-only prod-
3 Specisl Pricing available for wordBASBWordSPELL Plus dBxstore'
Fast Text and UlEa Sedcb combo packg€
just uct Iike.CA-Clipper, you have no choice
$9s.m, you save $2m.00 but to acquire a separate editor'
In some database managers, when a
Drosram error is detected, tho system
autimatically invokes the built -in editor
and hiehliehts Lhe offending code This
can saie time during program develop-
ment, and is a Powerful argument for
using the built-in editor. (Some third-
fu*'.kdh{r6f5F1

narl-v cditors provide a similar capabil-


xffi"trB?'ffiHffiJ'ffiro
l:i,iffi
i.i-i;a&b.d€dh.d<:i,Eb

..-- id&dk!.oEodho
ity, but it dcpends on therc being e nough
rnpmorv to invoke the database managcr
from within the editor, which isn't al-
ways possible.)
",*;ddd
Another useful feature for program-
mers is a debugger. At a minimum, it
should lct you tracc the progrum's flow
oid"a.hd Bloek Copy and interrupt cxecution to oxam lne van_
Sp€tlchecking
ables. Othei handy programming aids
a.b4.l,4lfu51el... arc svntax checkers, on line language
helo. and some way ofautomatically rc-
I;.m ^i"'.?rilff*: @ry compiling only updatod modules each
: 'flflI BIEffii time you start a ncw tcst run.
ffi
l&ffiffi-
M
l

j Don't forget distribution


With some Products, cverY user who
l I

I runs your application will be obliged to


own a copy ofthe database manager---{r
_have
fub|dLoodb.<dcd
at least a license to usc a ccntral
Printer Driver Selup Moil Merge lnplt copy on a filc sorver. Bcsidcs being ex-
nansivo. this could mcan giving users
$225.OO Ro alty Free dBEST, , morc power than you l,hink appropriate'
lll'l HALLoGRAM Publishing
@.
For ciamplc, uscrs may have Lhe powor
to modifyyour proglams or acccss the
ll (303) 7s2- 2086
rtll ls32 South Dawson Streei, Aurom, Colorado 80012 U'S'A
Fax: (303) 752-1646 ! data in ways You didn't intcnd'
A bctter solution is to opt for a program
Producis menr oned ore todsdd(.d bv th6tr €sp€Jive montnoclurere that offcrs a separate runtimc packagc'

42 OATA BASED ADVISOR/MAY 1993


DATA BASED ADVISOB BUYER'S GUIDE

This enables users to only run your memory. This is especially true in the slowly within that limit. The better
application, reducing the danger that Windows world, although some high- products will take advantage of what-
they will do something they shouldn't. In end DOS products-Paradox 4.0 and ever additional hardware is available,
many cases, you can distribute copies of FoxPro are exanples-are just as for example, by running in protected
the runtimc without worrying about li- hungry for hardware as any Windows mode where possible.
cense fecs or royalties. This reduces the database.
overall cost considerably. When checking hardware require- Data lormats
The alternative is to choose a product ments, be sure to distinguish minirnam Most developers rate data compatibil-
that generates stand-alone EXE files. ftom recommended. Even ifyour chosen ity high in priority. "A database [man-
Here. the user doesn't even need the product can squceze into 640K, the agerl must have good import and export
runtime package, since the EXE file con- chances arethat it rvill run much too facilities. or even better, the ability to
tains the equivalent functionality. CA-
Clipper and Borland's recently an-
nounced DOS Compiler for dBASE are
examples of products in this category.
The platlorm question
Should you follow the seemingly rc-
lentless current towards Windows or
Clipper DeYelopersl
should you stay in the unglamorous
but still hugely popular-world of DOS.
Or is it worth looking at othcr platforms,
WeVe Read Your Minds!
like UNIX or Macintosh? TETEPATHY It THE SERIAL COlv\MUNICATIONt
Ifusers are committed to one platform, TIBRARY YOU'VE AIWAY5 WANTED.
you might have no option but to follow You're always looking for ways to add transfer functions accept an optioaal user-
them.Once users have grown accus_ value and improve lie performance of your defined funclion allowing for easy
tomed lo Windows, they're unlikely to Clipp€r applications. programmer-defined slatus displays.
take kindly to having a DOS Program That's why we creaed Telepathy the Outstanding Wl02 Emulation.
foisted on them, with its (to them) incon- most powerful and complete serial Telepathy's VTl02 terminal
sislent look and feel and inability to communications library ever emulalion capabilities give you
work in harmony with other programs developed for Clipper. the power to access VAX
Similarly, DOS users might notwelcome
thc extra overheild involvcd in runnrng
just one Windows application
Telepathy makes
easy to build in the
communtcatlon
it
1992 and UNIX computers
directly from within
your Clipper
Where you do have the choice, you have functions you've DATARASED application. Our
to balance thc undoubted advantages of
Windows against its drawbacks. "From
always wanted in
your Clipper
AD\/ISOR VTl02 emulation is
lhe most complete
the presentation point ofview, Windows applications. And for available for Clipper,
is wonderful," says Step One's Silver. maximum performa&e. BeadercChoice allowing you to
"It's great at creating publication-qual- a powerful "notifi cation"
Award replace dedicated
ity reports with multiple fonts and mechanism allows Telepalhy terminals and
graphics, and for giving users a clear to process data in the background conmunicadon packages.
path through a form. I also like being and supports the direct use of serial Telepathy also suppons ASCII and
able to switch quickly between the editor devices such as barcode wands in place of the PC-ANSI leminal emuladons. Each of
and the [database managemcnt system]. keyboard. Telepathy's emulato accepts a user_defined
The danger is that it's too easy for per- Unsurpassed Zmodem Support. funcdon to give the progIammer complete
formance to suffer." Telepathy's superior Zmodem functions control of the terminal session.
Ifyour uscrs are going to spend most of are designed to take maximum advantage of Telepathy supports up to 16 ports using
their time simply entering data and pro- zmodem's accurate high-speed ransfem, 32- commonly available multi'port cards.
ducing tabular reports, the graphical in- bit CRC validation, ard ability to restart And there's much, much more!
terface could get in the way- And remem- interupted transfers.
To Order, Call
ber that some DOS database managers Additionally, Telepathy suppors
also provide some of the benefits of a Xmodem, Xmodem- I K, Ymodem-Batch, (818) e81-8367
GUIlike front end. "Paradox 4.0 lets you Ymodem-G, Kermit and ASCII, giving it the
create windowing applications without widest range of file uansfer protocols
oNrv $219.95
thc slow performance of Windows," says available for Clipper. All ofTelepathy's file Free Demo Disks Available
Ted lioscnberger, V.P. ofEngineering at
Target Software. "FoxPro lfor DOS] has
a windowing interfacc too," adds Silver.
Hardware requi?ements
Gone are the days when a full-fcatured
ET
database manager could run on a 640K TETEPATHY
8088-hased PC. To obtain reasonablc
performance, many database managers @ Exrnasexsonv 4450 A4Lrnai? A\e , 18, $aTndn Ods, CA 91423
.
now require, as a minimum, a 386 with @ torrwanr \OICE 81&%1{367 FAX 81&986-5111 .BBS 81&9865781

multiple megs of expanded or cxtcnded


DATA BASED ADVISOR/MAY 1993 43
_)
DA'A BA=ED aDvrsoR ffi "rr=r,s
curDE

directly work with other databases'files Corp. says, "The use of a proprietary DBF format is standard, the related in-
in native format," says Steve Estvanik, [data] structure is suicide." dex format isn't (though this isn r a seri-
a consultant with Cascoly Software. Which formats are important? "If the ous problem since the importing applica-
Ifyour chosen package can't work w.ith product supports the [Xbase] DBF for- tion can usually re-create the indexes).
de facto industry-staadard formats, you mat, it will be able to talk to virtually Other widely-supported formats are
might find it impossible to bring data in anythingelse," says Cameron of4D Con- comma-delimited and fixedJength AS-
Ilom other applications, orto share data cepts. "But remember that it's only the CII, Btrieve and Paradox. One problem
w.ith other programs. When you eventu- dBASE III PLUS version that's the with Paradox is that the new Paradox
ally replace your application, you could standard. Other variations are a super- 4.0 format isn't compatible with the
be locked into a proprietary format that set of that." Cameron wams, for exam- older Paradox 3.x version. (According to
no one else can use. A,s Stuart Claggett, ple, that many programs can't read DBF Borland, this wouldn't be a problem if
a development engineer with ADTECHS flles containing memo fields. Even ifthe software authors used the Paradox En-
gine to insulate themselves from
changes in format, but it appears that
not many do so.)

Access Video Training


Advanced Revelation and Approach for
Windows are two database managers
that claim to offer transparent access to
a variety of file formats, while Paradox
Master Access in record time using Softech's new Video for Windows claims to work equally well
based Training system and harness its power NOW! with data from Paradox 3.x, Paradox 4.0,
dBASE III PLUS and dBASE IV. Like-
wise, Microsoft Access can "attach" di-
Softech's Training System has all
rectly to dBASE III PLUS and IV,
ti- l Btrieve, and SQL Server data, as well as
you need to gain confidence in
lmtil using Microsoft Access. The
importing and exporting these formats.
In the future, the problems ofincompat-
lBr system consists of four sets of
Videos, Resource disks and ible data might be eased by the arrival
a Manuals. Designed to be used of open database standards like Mi-
by both the beginner and the crosoft's ODBC and the Borland-initi-
ex?erienced progra.runer, the ated IDAPI.
course makes an in-depth study
I of G€tting Started, Working with Your developmGnt partne;,
Access and Basic and Advanced the vendot
Programming.
The status-and life expectancy----of
Softech's Video-based Courses are the ideal trajlfng system. you can learn the database managert vendor is argu-
at your oirn pace, revisiting topics as you need to. Furthermore, the ably as important as the quality of the
system can be used to Uajn any number of people. Avajlable in PAL, NISC, product. For prooi talk to WordTech's
SECAM and U-Matic formats. Complete Set Onty: $295.OO r delivery. Arago users, who suddenly found them-
selves without a future last December
when Borland purchased that product
Clipp er 5.2 Video Training and withdrew it from sale (while con-
A Complete course in Clipper 5.2! Over 2000 copies have been sold to
tinuing to provide technical support).
Clipper developers world-wide so far. Softech's Clipper course includes a There are dozens of other examples of
set of eight Trajning Videos complete with Resource disks and manuals. frne programs that have sunk in this
Topics covered are fi ercely-competitive market.
Founda[ons, Advanced, "Go with vendors you can count on be-
TBrowse, The GEI ing around for a while with huge in-
System & Erlor Handling, stalled bases," says Target's Rosenber-
Report Writing, Data ger. That way, even if the vendor gets
Drivhg, The Extend into difficulties, there's a chance thatthe
System and a 5.2 Update. product will survive in someone else's
Special Offeri All Eight
sets for only $599.OO
!lll hands. Conversely, a "safe" vendor with
a little-used product could well decide to
+ delivery. let it die-Borland did just that with
Reflex.
USA: To Order Europe:
Softech Services. Inc. Contact Softech Services Ltd.
Other kinds of aupport
P O Box 4840 Cenfal Office, Paycocke Rd. Vendors vary in the support they offer
Winter Park, IL 32793 AI Basildon. Essex SS14 3tX{ customers. Some give unlimited, fiee
norida, USA M{ior United Kingdom phone support; others charge a substan-
Tel: (407) 678 8180 cards 'tel: +4410)268 270779 tial fee for this service; while others
Fax (407) 678 0086 Accepted Fax +44 (0)268 524409 struggle to answer the phone at all. If
phone support is likely to be important
to you, try to frnd out from other devel-

,I4 DATA BASED ADVISOR/MAY 1993


) DATA BASED ADVISOR
ffirur=r'scurDE
opers_how they rate their vendors're- compare prices on a like-for-like basis. you're willing to compromise on. So roll
sponsrveness. One last point: don't forget to take into up your sleeves, decide your priorities,
Many developers also look for support account the cost ofany additional hard- and start checking those database
on BBS services, especially Com- ware the package demands. managers.
puServe. "I can't begin to tell you how Mike Lewis is a free-lance technical lournal-
important CompuServe has been to me," ln conclusion ist, writing about all things to do with data-
says AAR's Giddings. "In making lpur- Selecting the right database manage- base managers. Based in Sco and, he con-
chasingl decisions, I always review the ment system for your development pro- t.ibutes to computer magazines in Europe,
availability of CIS support. If it's not ject is not a trivial task. I've introduced North America, and Australia. He has also
there, I don't buy." you to the main criteria to take into writlen and translated several books on
Large vendors usually run their own database management and othe, computer-
account. It's now up to you to decide related sublects. You can reach Mike on
forums on CompuServe, while many which ofthese are important and which CompuServe 100012,2105- :l
smaller ones maintain a regular pres-
ence to monitor questions and hand out
advice. (See "DB Connections" on page
183 for a list ofdatabase-related compa-
Get crosstab reports like this in minutes!
nies active on CompuServe.)
Other useful support services include
newsletters, conferences, and user SUMMARY Of SALARY o! of 0&19192
groups. Ifvou're a consultant, ask ifthe
vendor has a referral service. Once CLERK MGR SALES Totd
you've developed sufficient expertise in DEPT SUM SUM SUM STiI{
the product, such a service could provide NTMBER SALARY SALARY SALARY SALARY
you with valuable introductions to pro-
spective clients.
10 0.00 ;;-; 0.00 &14d].45
15 2476610 20659.t0 t6s02.43 61929.33
20 2115135 1&157.S0 tEt?t.25 6{285.10
Third.party support 38 24964.fi 17s06.75 3,t81.t.30 ?72t5.55
Another reason to favor a product with 42 220t4.50 t8352.80 t8001.75 5S369.05
a large user base is that it's likely to be 5l 218i29.W 2r ! 50.00 37r r t.00 t609r).t0
well supported by companies providing 66 10984.00 18555.50 56532.70 t60?6.20
add-on goods and sewices, especially t,t t3030.50 t9818.00 33298.50 66147.00
training courses, consulting and pro- r5t35r35 21786.80 2r{43233 5t36{7..tt
gramming, and books and magazines.
To get a rough feel for how well a given C-Otr{PANYC]ONFIDENTIAL
database manageris supported, visit the
computer section of a technical book-
store and check the number oftitles that
the product has spawned. dQUERY is an interactive query management system and report writer fo! dBASE and
A successful product will also attract Lotus l-2-3 users. It supports both SQL (Structured-Query-Language) and QBE
third-party add-on programs, such as (Query-By-Ersmple), and is designed for end users as well as developers who need to
code generators, documentation aids, get information out of data frles quickly for on-the-fly analysis, interpretation and
functions libraries, debuggers, report
reporting.
generators, graphic tools, and many
more. Even if you don't have a specific
need for any of these, the presence of a The report writer, which can produce management quality summary reports, is very easy
healthy add-on market is an encourag- to use. ln addition, version 4.5 allows you to build cross-trb reports with just a few
ing sign. That said, the lack of add-ons key-stlokes. You can join multiple dBASE filest join multiple l-2-3 files; join dBASE
isn't necessarily a danger signal. Per- and l-2-3 files; and import and export ASCtr files. dBASE data can be reduced and
haps your chosen database manager has saved in Lotus files oI vice versa. lndex files suppoded are NTX, MDX and IDX. The
so many features, there's little lelt for advanced query optimizer makes managing larye amounts ofdata very efficient.
third-party developers to provide.
The multiwindow user inteface, together with the extensive help facility, makes
The cost
dQIJERY extremely easy to us€. For advanced use6 and developers, the prograrnming
Finally, check the costs ofthe products
featues allow easy constluction ofcarmed querying and reporting systems for novic€
you're considering. Compare the price
per user. Some vendors charge a certain end-users. Reportedly, productivity can be increased by more than orders ofmagnitude.
price for the first user on a network, \trith
a slightly lower fee for each subsequent ,9A9-r99'
Call for a free demo disk.
user. Others charge a fixed amount to DATA BASI I)
cover up to, say, 10 users on the same soR lllt"tlll Qudbase Systrnu Inc
LAN. Others load all the costs on the 790 Lucerne Dr. #51
developer. Programs with royalty-fiee Sunryvale, CA 94086
runtimes or that geneiate stand-alone ll,,rr,ill Tel: (408) 738{989
EXE files fall into this category. The ttlcatS,
important thing is to be sure that you ataotaa Fax: (408) 7384980
. olhd rrrd.mrlB .Fp.&lng in lhir ad ,. lr.d.h&rs oi lh.n r6p.ctiE compani...

DATA BASED ADVISOR/MAY 1993 45


.
BUYER'S GUIDE

Database management
Database
Design 101
. Desrgn issues

By Karen locate information about your inventory, There are other problems with this de-
WatteBon and so on. sign. You may have multiple contacts at
Does that mean that you can't use a the same company, meaning same busi-
more powerful program like a relational ness, ShipTo, and BillTo addresses. Do
Before you purchase DBMS to keep a simple list? No, you can you want to type in that information
a database program, even use a high-end SQL database serv- twice? Worse yet, do you want to have to
you should think er program to keep a simple single list remember to update it twice if some-
about the data you database ifyou want to. thing changes?
need to store and You're also going to run into other
how you're going to Electronic address book problems with this design as far as the
organize it. In other words, you need to What about an address list? Would phone numbers go. Some people have
know a bit about database desigrl. that be a good candidate for a simple list car phone numbers not associated with
A bad database design won't land you manager? Maybe, then again, maybe locations.
in jail, but it can lead to unnecessary not. It depends how complicated your Speaking ofphone calls, you may want
tedium at data entry. It can also lead to requirements (and contacts) are. to keep a log of calls associated with
data hconsistencies and leave you help- those contacts, where you record the
Iess to query or sort your data the way Consider the question of addresses. Do
your contacts each have single ad- date ofthe conversalion and a summary
you want to. You may even discover that ofthe call. Perhaps you want to assign
you can't generate the reports you want, dresses? Chances are, some ofyourbusi-
some sort of action flag to the conversa-
even though all the data's there, simply ness contacts have separate mailing,
shipping, and billing addresses. You tion, e.g., "IJrgent Action Required" or
because ofpoor database design. "Follow-up in 30 days."
may also want to keep track ofpersonal
If you've read a bitabout designing addresses for some of those business You wouldn't want to store this log
databases and been putoff(orscared ofO contacts. If you want to keep all this in information with the basic list of con-
by the pompous-sounding terminology, a single flat-frle manag€r, you run into tacts, since some @ntacts would have
rest assured that it's not as complicated the problem of trying to anticipate all lots of phone calls, and others wouldn't
as it sounds. Here's a crash course in the possible addresses and setting up have any. Think about the problem of
database design and a step-by-step de- fields for each of them. You might come adding fields to the list above. If you
sign recipe. up with a list of helds like this: tried to use fields like PhoneCalllDate,
Databases are basically lists, and one PhoneCalllSummary, PhoneCalllAc-
ofthe most natural Iists each ofus keeps tion, PhoneCall2Date... where would
r,aatNl!. you stop?
is a list of friends or contacts. You may FirstNa.a6
remember the days when you kept an BuB ia6E aaaLlr.E 6r,iE.1
The addresses, phone numbers, and
address book or little black book in Bu s i r€ s aAttalr. B aLi Ec 2 phone call log really represent different
which you kept important names, ad- I ists, I ists that are re lated tD the contacls
city
dresses, and phone numbers. I remem- stat. list. lfyour data is complex and interre-
ber those days. and I rcmember erasing zi9 lated, you need more horsepower than a
and scratchinB out old addresses as peo- sbiI)Tolttalr6 s .r,i E.1 flat-file manager calt provide.
ple moved or changed jobs and how I ShiDtIoaataE.6aLitt.2
tried to wedge in fax andcarphone num- City Ouasi-relational and
gtatG
bers. Eventually too much would be il- zi9 ,elational DBMSs
legible, and I d break dowa, buy a new Billaoadttr€6sLla61 l,et's say you've decided you need more
address book, and resign myself to a BiIlToaalalr.!.Lir.2 than a simple list manager. What's the
tedious, error-prcne job of transcription. city difference between Xbase-style systems
Not fun. scatc Iike dBASE or FoxPro arrd desktop rela-
zi9 tional systems like Paradox or Access?
Simpl6 lists Xbase-style sysl,e ms are "quasi-
If all you want to do is keep unrelated City relational." They let you manage multi-
St.t6 ple lists ofinterrelated data, but in most
lists of data, a simple flat-frle database zi9
manager like Symantec's Q&A is all you cases they aren't quite as easy to use as
need. For example, maybe you want to today's more visual desktop relational
keep an inventory list of your CDs or Of course, each of them would likcly products. With Windows products like
videotapes. Perhaps you havc a coin or have a phone number and fax. Unfortu- Access and Paradox for Windows, you
stamp collection you want to list for in- nately, most ofyour contacts won't have create links between related lists-
surance purposes. A flat-file system lets multiple addresses, so ifyou design your called tables-by pointing arrd clicking.
yolr enter and update your items, print list this way, there will be a lot of In oldcr, quasi-relational Xbase prod-
out lists in sorted order, lets you quickly "empty" space. ucts, you assign related database files to

46 DATA BASED ADVISOR/MAY 1993


) DATA BASED ADVISOB BUYER'S GUIDE

separate work areas and write code that side_ of the one-to-many relationship want to store and what you wart to do
establishes Iinks with SET REI,ATION need to have the primary key Iiom thL with,it. If all you want to do is keep
TO statements. master side of the relationship. If you simple, unrelated lists, a flat-file data-
have an address table, you'll'need to base manager is all you need. In the
The address book revisited have the customer number field in it to business world, however, most lists are
How should you go about designing a establish the link. This ex-
contacts database for the kind of data tra freld in the detail table
described above if you have an Xbase, is called the foreign key.
relational, or SQL database server Detail tables need both pri-
system? mary keys and fo reign ou may euen discouer that you
Here's the recipe I promised you: keys.
can't generate the reports you
D 1. Think about the data you want to D5, Decide on names for
store and how you'll be using it. the tables arrd fields, a want, euen though all the data's
Try to imagine a data-entry form. nd data types for the f
Thin} about the kinds of reports you,ll ields. there, simply because of
(Data types usually irl-
want t! generat€ and what kinds of ad-
clude categories like in-
poor database design.
hoc queries you'll want to perform.
D)2. Jot down names describing the teger, numeric, text, and
date. Sometimes you'll
data.
also have currency, memo (for long related to other lists, and you'll probably
You'll probably end up with a combina- text fields), and image data types.) want to use one of today's popular rela-
tion ofmajordata units like contacts and Create the database tables. Find out tional database management systems.
smaller units like business phone. The how to set up multi-table forms so you
major data units will become database can enter several addresses at once, Karen Watlerson is an independent
files or tables, and will often correspond for example. and how to link or join consultant speclalizing in database and
to things. Sometimes these tables are tables for your reports and queries. clienvserver topics. She is a l.equent con-
called lists or entities. Stan grouping tributor to Data Based Advisor and is cur-
the smaller data items--{ften c;llea Summary rently completing a book on Paradox tor
fields or attributes-with the thing Windows lor Addison-Wesley. You can
Before you select a database program, reach Karen on Compuserve 76064,51 or
they're associated with, e.g., businesi you should think about the data you MCI Mail KWATTERSON.I
phone with contact.
D) 3.l,ook at your grouped data to see if
each group seems to have a logical
name and single theme.

F a s t F o nt
W er
.!:! :l,,Mo
Ifyou see repeating groups like multi-
ple addresses, or realize you'll need to
keep multiple items Iike phone numbers
or conversation summaries, you prob-
ably need to split up your data. In our
example, you reallyneed separate tables Eorur'f,oyalty-F.ee, Products Supporls Avevs new
for contacts, addresses, phone numbers, to pass-onto your users: Persooal Label PrinterlM
and telephone calls. The process of sub-
dividirg large tables into smaller ones is
sometimes called denormalization.
. Po*Scripe and TrueT)?erM
Type ll,+0thr utiliry.
@ Ideal ior singie label appsl

. l-&lPro.'
:=I
D4. Think about the groupings (or ta- Acces6ory Padc Suppo{ts oivef 600 Printe6
Exra fonts, Clipan & Templares.
bles) you have so far and about how and Resideflt Fonts.
they're related.
In our example, we have several one- Truly lntegrated Run any label job designed with Avery LabelProrM!
to-many (also known as parent-child or Most Powerful Uses five high quality "on-the-fly" scdlable fonts on
master-detail) relationships. One per- virlually any printet. lncludes: Pbstnet & UpC
son can have many addresses. One per- Barcorii,s
son can have many phone numbers. One Cleanest Solution Developers_include only the runtime code, bul receive
person can have many associated phone the featirre/functiondlity of the best label dbsign
calls. The way vou relate or link related software available.
tables is by putting some common field Unique Upgrade Path Developer's can make I LM transparent to their end
in both of them. usersor let them customize lheir'own labels bv
This is where keys and referential in- upgrading them to Avery LabelPro. ggg
tegrity come6 in. Each table needs to
have a primary key field. This is usually
an arbitrary number like a customer
number. Drivers license numbers, social
security numbers, and invoice numbers
iTecit
I2750 Carmel Country Road, Suite 1 I3
Developers of:
Avery LabelPro, Spinnaker 8-in One,
Eetter Working Word Processor,
PF5:Write, PFS:Windowworks,
are the kinds of data wed as primary San Diego, California 92130 PtS:Prospect, Publisher's PowerPak,
key 6elds. Tatrles that are on the many FastFonts & AllType et al.
(800) 748-3558

DATA BASED ADVISOF/MAY 1993 47


U\--"
)
grosndl) 66;coPe*(

dc-Eo"ri
do
&C
rNot\*t\ b.
dc-DBf\) -ni
dC-Ass\s'J()

ffi
-{

o Dynamic Linking: Run .OBJ code without


linking.
a Built-In Command and Menu Support: For
Sq,uee t DeaL all popular database drivers, including dBASE
III;/d-BASE IV, Fox, Paradox, Clipper and

ond Suite of Btrieve.


o Database Editor: Gives you and your end-
users the power to edit data in the same way
Librdrles
a
text editors are used to edit text.
o Enhanced Browse Functions: Browse among
NewdCLIP3.0:TheFast,CompatibleEngineBorland'Fox'ClipperanddBASEdatabases
i.. ciipp"C srmultaneouslY'

New dcLIP 3.0 is the sweetest suite of clipper o Plus: over 500 library functions and dot-
, prompt commands'
a"r"ropl-nt tools and :- :::'-,- ^ -
uJun'""'a library function, Neotr flCLIP 3.0 _Delivers :f#31::*.1:1":"
'T:ffi'";., has been 5.2 Compatibility
$799!
r.*'r'u"-HomeNow!
redesigned to go beyond Onl^f,
---J dCLIP 3.0 is priced at
being in integrated development - just $399 $199! And it comes with
envir-onment - it is a true engine for Clipper that a 90-day money back guarantee, so you can try it
gives you unsurpassed development speed and for yourself risk-free.
compatibility. you'll soon be savoring the tastiest programs
dCLIP 3.0 supports all third-party Replaceable
Database Drivers, so you can use a wide variety
you've ever written I
Call Now: ,6\ ffil
of file formats in your applications' And dCLIP's
new DBMS libraries dramatically enhance
compatibility with Clipper's RDD system, as well
(714) 263-t0tr
Donnay Software Designs
WU
as those from third party developers.
20251 Acacia St. , Suite 200
dCLIP 3.0 also includes:
a Clipper S.xx-Compatible
preprocessor
compile first.
commands
Preprocessor: Test
without having to
ffi Santa Ana, CA 92'707

(7t4) 263-r0tl
Fax: (714) 263'0201
All poduct nmes re radeffik or egtt Ed t a&ntrks of thet esp€cive owt'6
BUYEB'S GUIDE

. Decision matrix
ForEnd-Lfsers
. Flat-file database
. Relational
managefs
database
mana'gers
Only:
. System requircments
How To Choose
YourDatabq^se
Managem,ent System
By Debbie I High capacity-The ability to handle should have no effect on existing que-
Dickstein Iarger amounts ofdata than could be nes, reports, programs, etc.
managed easily with a paper system. A well-designed database also allows
data to be collected accurately and con-
I Searching-Retrieving ("querying") sistently over long periods oftime. Long-
Although data- information based on specified crite- term data collection is valuable for
base management ria, such as "which invoices are more trackingtrends. For example, it,s impor-
software may be than 30 days past due?" tant to know which products in your
one of the most I Sorting-Refers to the ability to ar- mail-order business are frequently re-
compler productivity tools youll use on range information in a variety of turned due to poor quality.
your PC, it carr also have tbe most posi- specified orders, such as customer
tive impact on your business by prwid- A database manager offers many
name, area code, or ZIP code. advantages, but it can be expensive and
ing accurate, up-to-date ioformation for
managing business transactious and I Reporting-Database management require a time investment for learning.
strategic plaaning. The availability of packages allow the production of for-
PCs in the office and the development of matted output that can be saved for But I'm a spreadsheet user...
eaaier-to-use software has allowed end- re-use. Useful features include the It's true that not all tasks require a
users (who know their data best) to ability to add headings, sub- database manager- or even computeri-
tackle many oftheir business problems. headings, and summary and com- zation- There are some guidelines you
puted fields, and generate repo.ts can use to help you decide. It's vital that
In this artic-le I discuas when to use a
fi'om queries. you understand the requirements of
databa-se manager, how to organize the
process of turning a bwiaess need into I Data entry/moditication/deletion- your application (more on that later
a usefirl database application, ard how The accuracy and validity ofinforma- when I discuss applicaLion development)
to choose the package that best meets tion is kaown as "data integrity," and and that you ,lot start your project by
your needs. most database software provides sitting at the keyboard entpring your
methods to help ensure it is main- datal
What is database tained. For example, an order-entry For simple lists. your word processing
management and why is system shouldn't allow users to enter package may be the tool ofchoice. These
it so useful? a negative value for the number of are also good for recording some types of
items ordered, a U.S. zip code that,s information for lat€r use, and often pro-
Generally speaking, "data" are simply vide some limited mathematical, seaich,
facts that can be collected. Examples are
four characters long, or an item not
sold by the company. A multi-user and sort capabilities.
names, addresses, and check numbers Spreadsheets are also great for some
environment complicates matters, as
and their amounts. Data items only be- types ofdata management tasks, includ-
come important when they're turned several users could be trying to mod-
ify the same piece of information at ing summary calculations and statistics.
into "information." The names and ad- Thcy allow data to be changed easily for
the same time.
dresses belong to the customers ofyour "what if'analyses, such as profit fore-
business, and the check numbers and Most packages also allow for "data in- casting. Like database managers, thc
amounts determine your cash flow! dependence," which means your data ex- functionality of spreadsheets has stead-
The.e's not much point in storing data if ists independently of specific applica- ily grown. However, they still have limi-
it can't be retrieved quickly, easily, and tions that use the data. This is important tations in terms oftheir reporting capa-
converted in a variety ofways into infor- since your data requirements will grow bilit ies and in terms ofthe workable size
mation. over time. If your mail-order business ofthe database.
Adatabase manager is specialized soft- adds a telemarketing department, you Because spreadsheets are the most fa-
ware designed to store, retrievc, might need to add a field containing the miliar productivity Lool for many users,
and manipulate information. Though last contact dat€ to each customcr re- there's a Lendency to start new data
functionality and design vary, a data- cord. You might even need to add an management projects by trying to enter
base manager generally offers these entire table to your database system at the information inLo a worksheet-_don,t
som. point. Thes. tvr)ps of rhangos do it! You must analyzc tho data to
_) DATA BASED ADVISOR W BUYER'S GUIDE

t Growing business needs-Applica- in a spreadsheet has grown consider-


understand how it
must be used, inde-
in ably, it's still much more limited than
Dendently of the computer t€chnology' tions tend to grow comPlexitY,
makine it difficult to keep all the data most database management syst€ms.
ilonsider using a database manager More iEportantly, You wouldn't want
with or instead of a spreadsheet ifyour about i given entity (such as employ-
ees, products, or accounts) in one to work with the maximum number
requirements include :
of rows and columns because Your
soreadsheet. Likewise, it can be hard
to put the pieces rogether to obtain a syst€m would be 6low.
a Complex reporling-lf your reports
complete view ofyour data and moni-
r"qri." a great deal of summariza' I Data must be shared-Database
tion. such as grouping bY account' tor it over time. managers tend to be better at shar-
department, etc., or ifyou spend a lot There's also a tendency to st re redun- ing, ailowing multiple users to work
of time moving information around dant (repeating) data, as in the simple with data at the same time via a local
the worksheet to Produce output' order-eniry spreadsheet shown in figure area network (LAN).
1. (Notice the repetition among cus-
I Complex queries- Spreadsheets tomer names and addresses-) This How data is managed: two
often allow you to select informaLion makes updating laborious. slows proc- models
based on criteria sPecified bY the essing, and wastes disk space We'lI see Databases can be organized in manY
user, but it can usuallY be done more that ;ulti-file databases can handle this different ways, known as models. The
easilv using a database manager. type ofdata much more emcientlY two most popular types used on micro-
especially iiyou need to ask compli' computers are flat-file data managers
caied questions based on several I Hiqh-volume applications-Though
and relational database management
conditions. thiamount ofdata that can be stored

Figure 1-A sample order-ently spreadsheet Note lhe redundant data

Address Clty State zip otv Product


Last Name Firsl Name
New Yolk NY 00025 6 Pies
Smith John 100 [.4ain Sl
Philadelphia 19104 4 Cakes
Jones Paul 235 Market St.
Boston 02984 3 Pies
Brown Betty 534 Hope St
,l00 Main St. New York NY 0002s Pies
Smith John

A S h tn tn to5 S tar Stan d s I n th e Vas t


D a r kn ess o f PC -to-fI os t
I Comrnunications!
Clip2++
For Mainframe and Mid-Range Computers
-<!
Th e Co mPl ete PC-to-IIost
for Software Developers ! ! !
Tbol kit

Powerful! EasY-to-Use! Low Cost!


I
Idealfor Downsizing
Improved EfficiencY of Both People and Machines
Supports Clipper, FoxPro,'C' & lr'isual Basic (DoS/Windows)
Call Today For Your FREE Product Demo!
800-533-3183 215-692-8130 loauwt,
215-692-8172 FAX 1 Lrd
50 DATA BASED ADVISOR/MAY 1993
Eoch lssue CL'PPER ADV'SOR CHARTER SUBSCRIPTION
ShowsYou
YES . Start mv Ctrarter subscriDtion to Cliwet Adaisor at the
HowTo: Chartei Subrri6er rate. I'll pay orily $39.00* foi one year
I Use replaceable (6 issues).
database driveE to
access vout
corporite data
E Arso , I want to save typing in all the source code by
frcm Clipper subscribing to the Companion Disk for an additional $60 for
!i:'i;i' one year (5 issues),a savings of 50%.I'll get source code,
I Discover powerful
support files, examples, utilities, add-on products, samples
new libraries to
gready expand the and morel
capabilities DiskSize: Es.zs Es.s
oI Clipper
Disk will be sent upon receipt of pa)'ment.
I Share your data
for mail merge, Payment Method
6preadsheets,
graphing and more Company E ctrect fnaosed Eail ue
Address E rr'IsA /Masterard
! Find great solutions City: ---------------- tale Card No.
to your applications
development problems Country: ---------Phone:-Zipi ExP. Date:

in every issue .Calif. ostriB


cidots .dd i4.65 s.ks t t fd for disl subsipli@ C.tu Uan reldaB .dd t20 (Ior PGirSe .rd GS t r). OtiEr
ol Clippet Adoisot .dd t2o Ior p6r.8e. P.!B6t h U.5. .toi6 dJy Cttds 6Er b€ &.M 6 U.S bI[./de.rh8ho@
8D305
-

Thelndustry DATA BASED ADV'SOR SUBSC IPTION


n tr

Mogozine - tt
ThotHelps E ff$, start my subscription t o Data Based Ailoisor
for the next 12 issues and I'll pay only $35.00, a savings
of $16.35.
YouTo:
E Also, I want to save typing in all the source
I Stay competitive by code by subscribing to DBA Source Code for an
understanding the latest additional $90 for one year (12 issues). I'11get source
industry h€ndE.
code, support files, examples, utilities, add-on
products samples and morc!
I Find the latest solutions DiskSize E 5.25 E3.s
by seeing how othets
solve developnent Disk will be sent upon receipt of payment.
problems. tJ BONU* pav ertn
nw lrith check or ctpdit cord Md receioe an isstu FREE!

Payment Method
; Make strategic choices
Company:- E CheckEnclosed Esi lt{e
by knowinq the issues,
blnefits anl trade-of fs Address: E vlsA /Mastercard
in evaluating maior City:----------------itate Card No.:-
products. Countrv: Exp. Date:-
-Zipl
t iL Eiddts add l5.9rs r.16 tm lor for dist subsiDti@ qEdim r6idots .dd tm (Id pct s. ed GS i.x). Otlq o6ki6
add t2d ior pctaB.. P.r66t In U.S. doll6 d y. CIF<IS m6t be dr.h m U.S b.t*/cteeinAh@. 3305
NO POSTAGE
illilr NECESSAHY
IF MAILED
IN THE
UNITED STATES

BUSINESS REPLY MAIL


FIRST CLASS MAIL PERMIT NO.77 ESCONDIDO, CA
POSTAGE WILL BE PAIO ADDBESSEE

CLIPPER -
AD\rISOR
BOX 469036
-
-
ESCONDIDO CA 92046-9908
-
-
ll,l,,,,1,111,,,,l,,l,ll,,l,l,,Ll,,,,l,l,,l,ll,,,ll

NO POSTAGE

ilillt NECESSARY
IF I\,IAILED
IN THE
UNITED STATES

BUSINESS REPLY MAIL


FIRST CLASS MAIL PERMIT NO. 7'ESCONDIDO, CA
POSTAGE WILL BE PAID BY ADDRESSEE --
--
DAIABASED --

AD\/ISOR
P.O. Box 469013
-
-
Escondido, CA 92046-9963 -
-
-a

il, t,,,, t, il t,,,, t,, t, il,, r, r,, t, t,,, [,,,, il,,, t, il


Three l{ew Choices!
From The Editors of Data Based Adoisor...
SS
flffi iloisor--hxome a ski]led user of Microsofto
Access A
Access* with the information you'll receive in each 44 page issue
,
of Access Adoisor. Microsoft Access is a breakthrough product. It
Gettinl gives you the power to build sophisticated database applications
og$frIJiffi,.
ofu* in Mcrosoft Windows to solve alnost any business problem.
Access Adoisor will bring you comprehensive answers to your
_.1

business and database needs. From creating custom applications


$29lper year
Bi-monthly E without programming...to using Access Wizards...to mastering
(6 issues) the Access Basic Language.
['l*iml:
5. 2 Fealu rcs!
Exciti ng llew @l Clipper Adztisor-4rings you comprehensive solutions to
your business and programming needs. As your use of
CA{Iippero evolves, our 52 page magazine will regularly give
you the freshest information and best expert advice. You'll leam
You tlom all about developing with Clipper, new libraries, related
products, and next generation object-oriented technologies like
DO9based Clipper 6.0 and Windows-based Visual Objects for
$39/per year E"j; Clipper ("Aspen").
Bi-monthly
(6 issues) tlot fo: rSfffil FoxPro Ailztisor-lhe magazine that teaches you how to
use all the powers of Microsofto FoxPro@ productively. We help
you make the best use of this remarkable software to get the job

A done. Each 44 page issue of FoxPro Adoisor is crammed with


information for users and developers of all types, from novice to
dows: expert. Wherever you start, we'lI help you become skilled with
B€fid ns
Microsoft's FoxPro.

t
t-.t
ffi Order toilay by using your Visa/Ivlastercard. Phone our customer
seroice represmtatioes
$49lper year from 7am to 1pm PST.
Monthly
(12 issues) Call: 800-336-6060 . 619-483-6400
Members of CompuSerae-just type "GO DB" for information.

Microsoft and FoxIro are regist€r€d Eademarks and Mic1osoft Acc€ss, Windows and Ruslunore ar€ trademarkB of Microsoft Corporation. Clipper is a regist€red tsademark
of Computer Associates Intemational/ Inc. Data Bas€d Advisor is a legbtered trademark of Data Ba!€d Solurions, tnc.
DATA BASED ADVISOR BUYEB'S GUIDE

Relational DBMSS tables easier to maintain and more accu-


svstems. Each model excels at handling rate. since data need only be entered or
diferent types of aPPlications. Creating a realistic model ofabusrness modified once. It's also easier to query
application generally requires working the tables when they're normalized. The
Flat-file? with data from many tables at the same tables for the simple example used be-
This is the simPlest of all the data time, and managing the relationships fore are shown in figure 2. Ifa customer
models and can be used to solve many between them. This is where the rela- moves, it's much easier to update the
oroblems. It consists of rows and col- tional model excels. For this reason, da- data in the database. since the address
i,mns of data. tknown as a "table 'r. and tabase managers offering some similari- is onlv included in the database once.
resembles a two-dimensional spread- ties to the relational model are now the To i.oces" orders or retrieve informa-
sheet. Each row, called a record, repre- most common type of DBMS Unfortu- tion, you must be able to work with the
sents a collection ofrelated data treated nately, this power tends to come at the data in your tables. The basic operations
as a unit. It might, for example, contain expense of ease ofuse- of the relational model are "selection,"
information about your customers. Each Like flat-file systems, relational data- "projection," and "join." The result ofany
column or field describes some attribute base management systems (RDBMSs)
of the record, such as the name or ad-
of these operations usually results in
maintain information in tables consist- another table. RDBMS Packages vary
dress of the customer. The field is the ing of records (columns) and helds tremendously in the way these features
smallest unit that has meaning in the (rows). Tables are "related" through are implemented.
record. "links"-frelds containing data common
Programs using this model provide the to other tables, such as an emPloYee I Selection-Chooses rows of data
basic daLa management functions dis- number, an invoice number or a Part from a table [hat meet criteria speci-
cussed above-they support data entry, code. The separate tables can be linked
fied by the user. Conditions can be
retrieval, and modifrcation, as well as in a flexible wav, and can be changed as combined with operators such as
reDorting operations They're useful for business requirements change. A set of NOT, AND, and OR. For examPle,
maintaiiing simple databases such as rules defining a process called "data nor-
you might need to select all invoices
mailing lists and customer contact lists, malization" is used to find the optimal dated between 51U91 ar,d 12131197
and are usually designed for ease ofuse- structure for the data. There should be that havc NOT been paid.
Freouentlv. I hev're menu-driven, and little redundancy in normalized tables, I Proieclion-Chooses one or more col-
soml allow useis to querY the table except for: the common data in the fields umns from the table to Place in the
using commands that are natural- used to do the linking. This makes the result table. For example, you might
languageJike. only need to include in yourreportthe
names, addresses, and unPaid bal-
ances ofthe records selected above.

Spending big
/h
ST()P
$ on REMOTE CONTROL SOFTWARE! Now, with Gilmore
I Join-This operation gives RDBMS
packages much oftheir power. Tables
are linked as needed by comParing
the value of common frelds in each
table. Any rows that satisry the "join
REMOTE API for Clipper, there is no need to purchase several copies of the restriction" will be in the result table
"popular" memory resident remote software. Just one copy of Gilmore When multiple tables are used, there
REMOTE API will support all of your clients! Some of REMOTE API's musL be some method ofensuring consis-
many features include: tency ofthe data. This is known as "ref-
less
Support large apptications with Security restricted access. erential inLegrity": the way changes in
one table are reflected in related tables.
memory. Requires <9K of RAM. Just 2 function calls needed for total lemote
F'or example, ifa customer record is de-
l.o
Function Library with over 30 funclions communicalions. leted from a billing system while there
the remote control engine formaximum Host and remote can call each other' are open invoices for that customer, a
conhol. Full DOS prompt access using RUN. decision must be made about how to
Clipper 5.0 and Summer '87 souce code inc. Supports: All high speed modems, overlay handle the invoice records, orwhether to
allow the customer record to be deleted.
for host/BBS, terminal, etc. linkers, 16550A chip, non-standard
Packages implement these safeguards
Zmodem functions let you automate bi- comports, and I15200 baud. differently. Some build them into the
directional hosVremote file transfers. ,{nd many more featurcs! database dcfiniLion, and others require
programming.
"Gilmore is a bargain at $159." Data Based Ad,-iso,', October 1992 The term "relational" is often used to
refer to any fJBMS that uses tables as its
basic data structure and has the ability
$159.00 (prus s/H)
to link multiple tablcs by using a field in
Order today! We accept VISA, M/C, AmEx, & C.O.D cach field in cach table that contains
common data. In rcality, there's no pack-
agc that mects all the theoretical re-
603-352-7919 BBS/FAX
IDownload demo from our 24-hr BBS r
603-358-330E Voice
G i! m a t quircments of the relational database
model, which was dcveloped bY E.F.
Codd in the '70s. lt's based on mathe-
71431,2535 CIS Gilmore Software Del elopment. Inc. matical and logical thcory, and specifies
-3{l Wheelock Street. Keete NH 03,131
a large {still evolving) sct ofrules.

52 DATA BASED ADVLSOR/MAY 1993


) DArA BASED ADvrsoR l8$ curDE
"ur=,s
Figure 2-This is how to set up order-entry tables to use in place ol lhe spreadsheet example, uslng related tables to reduca sxcsss data

Customer lnformation
Cust, Num Last name First Name Address City State zip
101 Smith John 1oo l\rain St. New York NY 00025
102 Jones Paul 235 l\.,larket St. Phila. PA 't 9104
103 Baown Betty 534 Hope St. Boston 02984

Iorder t"iorrnati6il
Order Number Customor Number Oua ntily Product
12345 101 6 Pies
12346 't02 4 Cakes
12U7 103 3 Pies
123/,8 101 6 Pies
12349 102 3 Pies

What is application constrained to using a particular soft- Finally, don't igrrore the evaluation (or
development? ware package, you must understand its "post-implementation' phase). Rewiew
Wtrere do you start to build an applica-
unique features, strengths, and limita- the original business objective and sys-
tion? Although systems analysis is a tions to design a system that performs temrequirements to determine how well
huge topic, afew guidelines can help. It's
optimally. Poor structure can make a they've been met.
database inefficient and diffrcult to mod-
ofien useful to work with the Ilamework
of the "system development life cycle"
iry. Don't forget to think about input How to choose a database
(SDLC), which includes the following validation (to make sure data-entry peo- manager
ple enter the correct type of data) and
phases: By the time you've reached the point of
referential integrity requirements.
I Requirements choosing software, you should have de-
The next phase involves developing veloped a clear idea of your needs, skill
I Design
your programs and testing all phases of Ievel, and time available to learn how to
I Development your system. Testing is vital because use the database manager. Choosing a
I Testing errors in data management can produce package can be a formidable task! All
I Implementation incorrect results, which might go unde- programs perform basically the same
I Evaluation tected by users until a great deal ofdam- functions, but the method can be very
age is done. I've been called in "after the different. Some products stress pro-
End-users often believe that their ap- fact" too many times to take testing gramming features or ease ofuse, while
plications are too small to benefrt liom lightlyl You should create a set of data others are geared to maximize process-
this type of design process. I've found that can be used to test all aspects ofthe ing speed. Keep in mind that the general
Lhat "homegrown" little applications system. Resist the temptation to enter rule is to balance power and ease ofuse.
have a way of growing when someone 20,000 records, only to find that there's Also remember that projects tend to
looks at the test results and says, "This a major flaw in the design! Remember to grow in complexity over time.
is wonderful. Now, can it do..." include some invalid data in your test To choose software that users will find
The requirements phase involves de- set. AIso, include other users in testing, easy and powerful, and will provide a
termining the problem you're trying to since they'll be Iikely to catch small full development platform for applica-
so)ve by breakingit down into parts. You erTors. tion developers, the most systematic
should also analyze your current system way to approach the task is to build a
and work with all the potential users to Putting your new system in place in-
"decision matrix'listing the features I
determine the requilements for the new volves making sure that anyone who need, and that allows me to compare
system. Carefully analyzing your needs works with it has been trained. AIso, potential candidates. A portion ofa sam-
will give you a good idea of the features don't underestimate the importance of ple matrix is shown in figure 3. (Yes, I
to look for if you must choose new soft- documentation. (Even ifyou handled the
used a spreadsheet to creat€ it!) Some
ware. Ifothers will be using the system, entire project, in six months you won't users prefer to check offa feature found
make sure to include them at the very remember all the details of the applica-
in a package, others prefer to weight the
earliest stages. Ifa system is too hard to tion.) There are many ways to put a new
ratings by assigling numbers based on
use or doesn't meet the requirements of system in place, such as running it to-
the importance of the feature.
the end-users, they won't use it! gether with the old system, or replacing
Once you understand what you're try- an older system one piece at a time. The ideal way to gather this informa-
ing to accomplish, you can begin devel- However you choose to do it, make sure tion would be to try each product. Obvi-
oping the technical design. You need to that you have a way to "back out" your ously, few ofus have the time to do this.
decide what tables to create and what changes ifyou find errors with your new Other ways of getting past marketing
fields to place in each table. Start by application. Be sure to evaluate the in- hype to gather this information include
determining the required input/- tegrity of the system by checking ran- checking product comparisons publish-
output-the forms and reports. This dom data records, summary totals, re- ed in trade magazines, and using elec-
helps you to design your tables. Ifyou're cord counts. etc. tronic bulletin boards such as Compu-
DATA BASED ADVISOF/MAY 1993 53
Iilt00/,.uclil0 filrcilll il,E,l, [Crm"r'="""rr;l
Thc firrt lntelligent Serve, where there are lively on-going
- discussions about many products. Even
l,hin Event Loop Event Driven Prog relllllling
otrserving conversations (called "lurk-
Developer'r (it for FoxPro@. ing") can give you great insights into the
products. Many current users are will-
.You simply rvonl nesd Wndowsrx ing to answer any questions you might
with MEL and FoxPrDq post to the bulletin board. You can also
. MEL inielligently allows lhe ed us€r get frrst-hand information at user group
lo access: Any MENU, Any SCREEN, meetings. Likewise, go to a bookstore
Any oBF, A/ly VARIABLES, ltllYIME. and locate books on the products you're
considering. Incidentally, these sources
MEL Allov3 cod ursr l,o jldp b&k.d tort! h.tf,e.n.!y will remain useful alter you've made
nuobcl ot iinuh:lreouily @l, la*3. Tb. lrd urt, .d lh.a your choice and start working with your
renL.! bad to rry opar lark, fmdinS ev.r}(litl8 ialr.r, qadly
new so{tware.
d. way he/shc ldl it TO ORDER In recent years a number ofbooks have
(305) 921-2446 been published that are geared toward
. Read Lrvels Always Malntalned At oNE end-users. These include general books
. Manages allenvlronmenl and varlable dellnltlons covering many aspects of data process-
. Slmulat€s unllmlted files open Woodbur^ lnlundio Srn at ing, as well as database and product-
. Exce loml educallonal tool P .O .220&9
Box specific books:
HoAy@d, FL 33022 Blissmer, R.H. Introducing Comput-
. Easy to Use funcllons wllh Source Code
ers. New York: John Wiley & Sons,Inc,
Cunently used to develop a 300 plus 1992-1993 edition, 1992.
Stern, N & Stern, R.A. Computing
screen, multiple menu application for a
nationally disributed software product. I I Concepts for End Users. New York:
John Wiley & Sons, Inc., 1990/
Townsend, J.J. Introduction to Data-
.Fofroo a Wb&-r- @ EcirEEd h&lul, ot Miqdot C-pdiid hc. $ 6ases. Carmel, IN: Que Corporation,
t992.
General program parameters
Note that all selection criteria are not
ofequal importance. For example, ifyou
Maximum Performance for Clipper need to work on multiple platforms
(such as PCs and Macintoshes) then
your choices will be more limited ftom
The Comix RDD and the ClipMore Query Optimizer have.ioined the beginning. Finally, remember that
fbrces to give your Clipper apps unheatoble pedbrmance! the most important characteristics are
The comi\ RDll gives you mulliple compacr Clip\lorc bfinP\ \lrle ol'lhe..rrl quer) often subjective; you need to feel com-
indexes in one file and the lmallesl and l-aslest optimiralion )our Clipper applicarion..
ro fortable using the program. For more of
indexes available (l/3 lo 1/6 the size of ClipMore uses all available indexes to very my sample decision matrix, see figure 4.
NTX s). quickly determine which records meet a I Program limitations-Examine is-
True condilional indexing.
condilion. sues such as types and maximum size
ClipMore adds blazing speed to TBrowse. of fields (for example, will you be try-
Low memory overhead (only 5 K more dbediro, SET FILTER TO, repons, relarional ing to store graphics?), record size,
memory lhan DBFNTX). operations. etc.. elc. maximum number ofrecords, etc.
DBFNTX . Royalty Free
I
Faster performance than Orienlation/interlace-Often called
and DBFSIX. . LAN Ready the "paradigm,"this is one ofthe most
Add bldzinS speed to Index C.eation, SEEKS. . Fully dynamically overlayable. important factors in choosing soft-
Appends. and LAN applications. etc. . lncludes LlBs for Summer'87 and 5.x. ware. The most common paradigms
. found in PC packages include the pro-
Comix is a high quality RDD rhat /'rd1lr works wirh NTx s & Comix RDD.
delivers on perfonnance.
gramming, spreadsheet (or menu-
ClipMore isavailabl€ for $r{9 + 5 s/h
driven), or form-driven interface.
Comix is available for $149 + 5 s/h.
Many packages combine two or more
LIMITED TIME OFFER: For Jantastit petformance in rour Clipper apps, ofthese to appeal to wider audiences.
Each has advantages and disadvan-
try ClipMax (Comix RDD ard ClipMore) for just $ 179 + 5 s/h tages.
Early packages used the programming
Loadstone Call (803) 7319128 Today! interface al most exclusively. While
many users aren't comfortable working
Ihe Performance Experts FAX: 801 7l I 9798 this way, its advantage is the complete
control it offers the programmer in
terms of appearance, processing, data
30 Day No Hassle Money Back Guarantee! protection, etc. Its drawback is the time
Loadstone lnc- 2'15 Barmount Dr Columbia. SC 29210 it takes to become proficient at working

54 DATA BASED ADVISOR/MAY 1993


) rrr=*'s
DATA BAsED aDvrsoR
ffi curDE

Figurs 3-Thls ls part ol a sample declslon matrix used to evaluate database managers

Microcomputer Database Evaluation Criteria


OESCRIPTION
II- l slBase 2ndBase 3rdBase NOTES
Dala Manlpulation (see "Ouerles" also)
-Belational Operatioos (e.9., join)
..Soding
III
-Mathematical lunctions (aggregates, date
a.ithmelic, etc. III
Ir-
-Global search/update
-Iable revisions without data loss (add/delele
fields, change field attributes, etc.)
.'Global search/update
-Table revisions without data loss (add/delete
rII
fields, change teld attributes, etc.)

Oueries
-Query method (proprietary language, SOL, QBE)
-II
-Logical function support (AN O/OR/NOT)
III
r
-A.ilhmetic functions available in interaclive que.ies
-Set functions (max.. min., counl)
*Other special features (phonelic queries,
wild cad queries, etc.) -I-
with the program. Inexperienced pro- to consider-II
your current hardware-it easy placement of report head-
grammers must bewar:e ofcreating inef- must be compatible and powerful erdfooters, summary or calculated fields
ficient applications that may perform enough to run the software effrciently. If based on groupings (sometimes called
slowly, fail to protect data integrity, etc. you haven't yet purchased your com- "breaks") specified by the user, etc. For
Since most users have vr'orked with puter systems, it's generally a good idea an example of groupings, see the figure
spreadsheets, they're olten most com- to choose your software first. below. The report generator should also
fortable with the spreadsheet or menu- adequately support your printing needs
driven type of program. These usually DOS vs. Windows (multiple fonts, word wrap, etc.). For the
emphasize a spreadsheetJike "table In the last year or so, Windows data- forms generator, consider such factors
view" of data, and can usually display base managers have become available at as whether data can be updated in mul-
multiple tables at the same time. They every level.Ifthe majority ofyour appli- tiple tables from one form. the way in
also tend to have more functionality cations run under Windows, look for a which data integrity is maintained, and
built into the user interlace. That is, the Windows-based database manager. the ease of providing on-screen help for
user can accomplish more complex tasks You'll gain an interface you already data entry.
without having to write program code. know, the ability to use DDE and OLE The sample report shown in figure 5
The disadvantage is that some control is to link to other applications, ease in shows how data can be "grouped" for
taken away from the programmer, who building forms and reports by using a easy interpretation.
must work with the interactive state of mouse to "drag and drop" objects on the Also consider whether you need to
the program when writing applications. screen, and printer support for great- share information with other packages,
The form-driven interface approach looking output. The drawback of a Win- or possibly on other platforms such as a
works with a concept like paper forms dows interface may be the cost involved, mainframe or a back-end database serv-
with which everyone is comfortable. Pro- ifyou're not already there.You may have er. Make sure your package can handle
gramming is usually minimal, and ta- to purchase or upgrade hardware and these requirements either directly or via
bles are generally even created with a pay hidden costs for providing other re- imporuexport features. (If they can't,
form. The disadvantage is that some quired software, training, and support. find outwhether a third-party product-
flexibility is lost bythe constraints ofthe a program available from another
forms method. lnput/output capabilitics company-is available to handle the
Since you use forms and reports to en- sharingofyour data between platforms.)
Pe;formance issucs ter data and retrieve information, this is
As the size of the database (and per- a crucial part ofyour choice. Make sure Dala manipulation/queries
haps the number ofusers per database) you're comfortable with the form and Items to examine here iaclude han-
increases, performance becomes more report generators in the package you dling of the relational operators dis-
important. Programs vary in how well choose. Many allow you to link tables cussed above, sorting, indexing, "trig-
they perform different tlTes of tasks. from forms and reports, and offer the gering" special procedures based on
Some excel at processing transactions. fleibility ofallowing multiple detail re- specified events, etc. For queries, choose
others at interactive querying. This is an cords to be displayed,/entered for a given a method with which you are comfort-
area where you may need to do sorne master record (such as lino itcrns for o ablc. Thc bost popular mcthods orc
testing on your application-and re- purchase order)- Report writers o{ten Query by Example (QBE), Structured
search in trade magazines. Also, be sure use a "band orientation" that allows for Query Language (SQL), and Query by

DATA BASED ADVISOR/MAY 1993 55


) DATA BASED aDvrson ffi "rt=*'s
cutDE

Figure,FMore ol lhe sample decision matrix.

OESCRIPTION
'lstBase 2ndBase 3rdBase NOTES

Human Factors Considatations


-Consistent display lormats (specific areas reserved
for errors, status, lunction key descriptions, etc
-Usea intertace accommodates expert and novice users III
-Clear. concise menus
End Us€r Supporl
-Telephone support
-Tutorial
-Clear documentation
-Classroom training available
-Useful online help and system prom
r--
-I-
-User-delined help screens TII
--I
I-I
-Other (dial-up vendor bulletin board)
-Active User Group
SuDpon lor Technical Stafl
-I-
-Telephone support (higher level than above)
-Technical training courses

Form. Some packages also include a pro- multiple query methods. QBE lets you Some packages offer extremely powerful
prietary programming language to sup- select data by checking offdesired fields versions ofQBE. SQL is a programming
port data manipulation. As with inter- and entering search criteria into a shell language that was developed to manipu-
faces, many programs allow you to use or template that looks like your table. late data in a relational database

Telefonn, Altomntes Forms Data Fntry)


hnnrn DmInnv, RrDuc RrsPorsr
Itff AltD IUII| IAI lilA(l{tilts Al{D Soililtrs I Lq suBVEY FoBM r
IHo Dut tllIRY llRililil.S. i rln nlLl-J si:rrnlL e v :.rts o.z taelir]
) Recognizes hancl prinr, machine print and
marked circles

) Creates forms optimized tbr recognition


n i4 TI\{E CARD tr
) Stores informarion in leading databases
'-3)t .b s.z 6 t 32
and spreadsheets
O S, ,+ S ,Oq, aa
) Includes editrng and r,erification svstem

) Broadcass blank foms by lax r ]EII Daily Sales ieport


) Single and Multiuser \,ersions a\,ailable | 2 t...z,c qz ,5arr -Ee@ a 61.1

0utoor800-659-8755
." 4cca aa.- ?5.O. CO,\t--. 1b L.3
''- 't-t Lu t7 t4
.15Z.oa -. Al 0l ""
IEIE.r, OTTN"
-. -
*- 5149 C.Q "" " ro 13
v sr0[ 2.0

@ & g,"o3,&'s"o.=
J3l!rP!6{A!t006 0 . $UUlA0],09207J
trorrtl9ru9 ffi4 . |ufl9rufi4Jo

56 DATA BASED ADVISOF/MAY 1993


) ,s curDE
DArA BA.ED ADvrsoR Q$"ur.
Figure 5-A sample group-by repon

Tuosday, Fobruary 09,1993 Employoe Salary Roport Pago I

Department: Fi.rarce
Emp Num. Last l{6me Fi.st Name Address City Siate Zip Salery
10003 Jones Barbara 555 Oak St. Chjcago IL 60603 $43.000.00
10005 Gray Harold 1245 Another St. Philadelphia 9104
't
$70,000.00
Salary By Oeparlme.t: $113,0(m.00
Depadmenl: Marketing
Emp Num. Last Name Firat Name Address City State Zi? Salary
10002 Smilh John 444 Maple Si. Sp.inglield lr/O 11111 $25,000.00
10006 Bluebeard Ronald 5492 No.th St Boston 02452 $54,332.00
Salary By Oepartment: $79,332.00
Oeparlment: Mgmt. lnfot. Systems
Emp Num. Lasl Name First ?{ame AddresB City Slate Zip Salary
10001 Gaeen William 1234 irain St. MyCily 00234 $250,000.00
,0004 Gold Richard 9874 Some St New York NY 10030 $60,000.00
Salary By Oepanment: t310,000.00

manager and-though there are many applications, and that they're easy to ing some types of complex data. An ex-
dialects-is now considered a standard. use. File and record locking are vital to ample of this is the many thousands of
Query-by-form programs allow you to ensure the integdty of your data. They parts ofan airplane that must be stored
enter search criteria on a familiar form. prevent, for example, a table from being and manipulated for use in a Computer
deleted at the same time another user is Aided Design (CAD) system. One ofthe
Programming environment adding a record to it. Many systems al- ways this is being addressed is by apply-
This is another area of wide variation low one user to modify a record while ing techniques from object-oriented pro-
among packages. Most packages include others can view it. gramming languages. In its simplest
application generators that help you form, object orientation treats every-
build systems (and often generate code) The luture of database thing as an object that can be manipu-
without programming. but they vary in managcment lated. Data and instructions can be com-
capabilities. They can rarely create an As if this isn't aJready confusing bined into modules that perform specific
entire complex application on their own. enough. "new and improved' is looming tasks when particular events occur.
The proprietary languages included in just over tho horizon. Experts vary in Some extensions to relational database
some packages are more robust than their predictions, but some likely devel- managers are now appearing, such as
others. This is also true of programs opments include better natural lan- the ability to store data as "binary large
based on SQL, which may have exten- guage support for queries, distributed objects' fBLObs), and event-processing
sions to the standard set of functions to databases, and object-oriented tech- methods. In addition, entirely new data-
add capabilities and simplifu program- niques to extend the capabilities of to- base models may eventually result fiom
ming. Many packages evolved from day's packages. research in this area.
dBASE, which set the industry standard
Some packages already use simple We've seen that a huge range ofappli-
for PC application development in the natural-language interfac€s, which al- cations can be supported by database
early'80s. This set oflanguages has be- low users to get information liom the management software, from maintain-
come known as Xbase. (You'll see many
database using verbalJanguageJike re- ing a mailing list to running an entire
references to Xbase throughout Dolo quests. Most users, however, still rely on business.It's important to remember
Based. Adoisor.) Although all Xbase dia-
Iects were originally pretty much com-
SQL or QBE. that trends in software change over
patible, many have added enough Distributed database systems are time, but good problem analysis skills
likely to grow out of the clienUserver will always be vital. Make sure to use a
changes and features over the years that product suited to the task at hand to
they've grown apart. Still. this class is movement now underway. In a distrib-
uted data environment, users will be produce efficient, usable database
very popular, which means that pro- applications.
gramming support and consulting may able to access data residing on any sys-
be easier to find. In addition, a move- tem, or even data divided among sys- Debbie Dickstein is a supporl analyst in the
ment is underway to create an ANSI tems, withoutcaring (or knowing) where MIS group orthe Besearch and Development
Xbase language standard, such as the it is. This would make corporate-wide division of a large pharmaceutical company.
standard that exists for SQL. data much more accessible and provide Her responsibilities include Parador and
a competitive advantage lor organiza- Windows support tor clients in . VAVPATH.
ltlulti-user capabilities tions that have this capability. WORXS environment, and providing sup-
port and internal consulting servlces ror
Even though a program advertises its Though relational databases are cur- various PC and VAx-based products. She
ability to run on a LAN, make sure it has rently the most popular model, they're was a member ol the '1991 Pa,adox t sers
the multi-user controls you need foryour not well suited for storing and process- Conrerence Advisory Board.o

DATA BASED ADVISOR/MAY 19S3 57


) *io ro"=o ADvrsoB QS rur="'s cutDE

Product 4th Dlm€n8lon 4D D.A.L. Accgss AceFlle Advancod DB


v.3,0 v.1.0.1 v.1.0 v.2.0 Maatsr
v.4.2

Company ACI US, lnc. ACI US, lnc. Microsoft Corp. Ace Software Corp. Macon Systems, lnc.
10351 Bubb Rd. 10351 Bubb Rd. One Microsoft Way 1740 Technology Dr. 724 S. Tejon
Cupsrtino, CA 95014 Cupertino, CA 05014 Redmond, WA 98052 San Jose, CA 95110 Colorado Springs, CO
l4o8) 252-4444 (408]' 2s2-4444 (206) 882-8080 (408)451-0100 80903
(719) s20-155s

Operaling Macintosh Macintosh Windows Windows DOS


System

File Format ASCII ASCI, SOL Bkieve, DB, DBF, DBF DBF, Proprietary
Support

Pro9. 4D 4D,4D D,A.L., Access BASIC N/A Proprietary


Language SOL

Multi-User

Memory 1 .5M 1.5t\.4 4M 4M 1M


Fequired

Disk Space 2M 1M + app. size 2M 2M


Required

Oatabase 4D DAL, 40 SOL D.A.L. supported MS SQL Server N/A N/A


Ssrvel Server, 4D Oracle seryers
Support

Tech.lical Free, unlimited via Free. unlimited via Free via telephone Free support M-F, Several policies
Supporl telephone, fax, and telephone, fax, and and CompuServe; 8:00am - 5:00pm (PST) available, $60 - $90
CompuServe CompuServe automated Fast Tips, per hour
24 hrs/day
(206) 63s-7051

t eveloper Professional Professional Developer Support Dealer/developer


Programs Developers Program Developers Program Program, $295/yr pricing discounts, lree
and Corporate Support and Corporate SuPport technical support
Program available Program available

Prlce $89s $3S5 $495 $199 $695 to $'13,995

First 7la7 11/91 11192 10/91 1 1/83


Released

Next N/A New release 3/93 2nd O '93 N/A New release 4/93
Schsduled
Re!ease

Compiled by AnnMaie Garcia, As€i'tant Editor, with assistance from Torrence Davis
58 OATA BASED ADVISOF/MAY 1993
DATA BASED ADVISOB BUYER'S GUIDE

Product Advancod PICK Advsncsd R€velatlon Alpha Four Approach asksam


v, 6,0 v.3.0 v.2.1 v.2.O v.5.1

Company PICK Systems Revelation Alpha Software C,orp. Approach Sottware askSam Systems
1691 Browning Technologies 168 Middlesex Corp. 119 S. Washington
lrvine, CA 92714 18'l Harbor Or. Tumpike 311 Penobscot Dr. Pery, Fl32U7
(714) 261-742s Stamford, CT 06902 Budington, MA 01803 Redwood City, CA (904) 584-6590
(203) 973-1000 (617) 229-2924 94063
(415) 306-7890

Opsr8ting DOS, PICK, UNIX DOS, OS/2 DOS DOS


Sys!€m

Fi,e Format ASCII ASCll, DBF, Proprietary ASCII, DBF DB, DBF, SQL ASCll, Proprietary
Support

Prog, Access, BASIC FYBASIC, SOL N/A N/A askSam


Langua96

Itlulti-User

Momory 200K 640K 640K 2M 384K


,eqrircd

Disk Spsce 10M 7M 4i/! 4M 1i,


Required

Oatabasa N/A DB2, MS SOL Server, DB2, Oracle, N/A


Seruer Oracle [rS/Sybase SOL Server
Support

Technlcal Support contracts Various levels ol paid Freesupport,M-F, Free telephone support, Free during regular
Support available including support available gam to 7pm (EST); M-Th 6:30am - spm business hours
maintenance, hotline, automated support (PST); F6:30am-4pm
and consulting available 24 hrs/day (PST)

Developer Contact salgs Alliance program N/A


Progmms deparlmenl for more available to
details development partners

Prica $250 per user up to 32 $995 $549 - $4,995 Call for pricrng $395
users; $225 per user
therealter

First 6192 1987 3/89 3/91 4la5


R6!easgd

Next New release 4/93 June/July'93 N/A Non-disclosed N/A


Schedulsd
Relsase

DATA BASED ADVISOFi/MAY 1993 59


DATA BASED ADVISOR BUYER'S GUIDE

Product asksam lor Windows Aspen/2 Data Btrieve CA.Cllpper CA{BFast


v.1.0 Manager Oeveloper's Kit v,5.2 v.2.0
v.5.10
Company askSam Systems T€kton Sottware, lnc. Novell, lnc. Computer Associates Computsr Associates
119 S. Washington 1495 Canyon Blvd. 5918 W. Courtyard Dr. One Computer One Computer
Petry, FL 32347 Ste.220A Austin, TX 78730 Associates Plaza Associates Plaza
(904) 584-6s90 Boulder, CO 80306 (801) 429-5588 lslandia, NY 11788 lslandia, NY 11788
(303)444-0451 ls16) 342-5224 1516) 342-5224

Operaling DOS, OS/2, Windows, DOS, OS/2, Windows DOS


I
System UNIX I

File Format ASCll, Proprietary Proprietary Proprietary DB. DBF DBF I


Suppon

Prog. askSam N/A Assembler, Basic, C, Xbase Xbase I


Language Cobol, Fortran, J
!
Pascal, !

Modula-2
Multi-User
I

Memory 4i,t 640K 128K for DOS 640K 4M


Required 640K for Windows

Oisk Space 3M 500K Contact vendor 6l\,4 4M


Bequired

Database N/A N/A Netware SOL N/A N/A


Server
Supporl

Technical Fr6e during regular Available lor registered Free supporl 6 months free, 6 months free,
Srrpport business hours users gam - 8pm (EST); gam - 8pm (EST);
additional support additional support
available lor fee available for fee

Developer None VAR program Prolessional Development Partner Development Partner


Prgg.ams Developer's Progaam Support Support
and Corporate
Developer's Program
available

Price $3Ss $595 and up $s95 $79s $550

F:.st 3/93 11/80 2t8A 1985 10/91


Released

Next 3rd O '93 3rd Q '93 N/A


Scheduled
EeLase
II

60 DATA BASED ADVISOR/MAY 1993


I
NOW THAT YOU'VE GOT SUPERBASE, WHAT DO yOU DO W|TH tT?
Now that you've 8ot Superbase version 2.0rM, there's a logical next step in getling the training you need: The Nerd Shop.
I At the Nerd Shop, we've been offering classes on Superbase 2.0 since it was stiil in beta. We're a full service supplier,
reselling the complete line of Superbase products, developing custom
applications, and training Superbase end-users and developers. I
You might call
I
us the "Superbase Superstore."
all
The Nerd Shop offers classes in modern facilitjes
across the U.5. Better yet, we can come to your location and IIERD
customize a program to fit your needs. All with instructors approved by Software
Publishing Corporation, plus the latest training materials, and a no-hassle,
money-back guarantee. I The Nerd 5hop. Once you've got Superbase, your next
sfloP
step is training that Sets you up and running fast. Call today. 1-800-448-NERD. Irust the l,lerds for the Bestin softuore.

I
WltlD0WS
Solulions,

SUPERBASE
/* !
Lile Drlr Oplions
SupG,b!s.

abc EI
I
-l ) Ex (
Sup€base is a tradema*
VdBo Ccde m013 oi Softwar€ Publishins
Tde I Gian
Abrnote Tfte Ercels
Drsbrbutgt Sottrve
OrrEdnr P6ulC
Y6orMade: r9s2
a ADVISOR BUYER'S GUIDE

Product Clarlon Devslopor CommonBaSo DaiaEase DataEase Dovslopsr DataEase Express


v.3.0 v.1.4 v.4.5 v.4.5 ,or Windows
v.1.1
Company Clarion Software Corp lmagesoft, lnc. DataEase lntl. DataEase lntl. DataEase lntl.
150 E. Sample Rd. 2 Haven Ave., 7 Cambridge Dr. 7 Cambridge Dr. 7 Cambridge Dr.
Pompano Beach, FL Pod washinglon, NY Trumbull, CT 06611 Trumbull, CT 06611 Trumbull, CT 066'11
3304t 1 1050 (203) 374-8000 (203) 374-8000 (203) 374-8000
(305) 785-45s5 i\516\ 767-2233

Operating DOS DOS, OS/2, UNIX DOS, OS/2, Windows DOS, OS/2, Windows DOS, OS/2, Windows
System

Filo Fo,mat DBF, Proprietary Contact vendor DBF, Proprietary DBF, Proprietary DBF, Proprietary
Support

Prog. Clarion N/A DataEase Ouery N/A


Langus9e Language (DOL)

Multi-User

Momory 2i,l 4lV DOS 640K lo 1M DOS &0K to 1M


Required os/2 2M os/2 2M

Disk Space 15M DOS 1.4M to 1.5M DOS t.4M to 1.5M 12M
Required os/2 1.5M os/2 1.5M

Database Bkieve, C-tree. DB2, Gupta, lnformix, Oracle, DalaEase, OS/2 DBM, DataEase OataEase, OS/2
ServeI lnlormix, lngres, Net- OS/2 EE, SQL Server Oracle, MDI DB2 DBM, Oracle,
Support Ware SQL, Oracle, SQL cateway, Ms/Sybase MS/Sybase SOL
Server, etc. SOL Server Server

Technlcal Free, telephone and Free basic telephone, 6 months lree; various 6 months lree: various Unlimited lree
Support CompuServe fax, BBS suppod priority subsc ption priority subscription support; various
services available services available priority subscription
services available

Developer Priority Suppon, C,ontact vondor lor Open Partners Open Padners Program Open Partners
Programs Corporate Support, On details. Program Program
Demand Support,
Develope/s Conference

Price $845 $1,000 and up $795 and up $7S5 $395 and up

First 4ta6 3/91 10/83 1987 9192


nebased

Next N/A 6/93


Scheduled (v.1.s)
Felsase

62 DATA BASED ADVISOR/MAY 1993


.) DATA BASED ADVISOR
@ BUYER'S GUIDE

Product DataFlex dBASE IV DbControls dBMAN V Easel Workbench


v.3.0, v.2.0 v.1.3.1 v.5.3

Company Data Access Corp. Borland lntl. Coromandel Versasott Corp. Easel Corp.
5753 l,liami Lakes Dr '1800 Green Hills Bd
lndustries, lnc. 4340 Almaden 25 Corporate Dr.
Miami, FL 33014 Scotts Valley, CA 70-15 Austin St.. Expressway, Ste. 110 Burlington, MA 01803
(305)825-7070 95066 srd Floor San Jose, CA 95118 (6t7) 221-2100
(408) 438-8400 Flushing, NY 11375 (408) 723-9044
(718) 793-7963

Operating DOS, OS/2, UNIX DOS DOS, SUN OS/2, DOS, UNIX, XENIX DOS, OS/2, Windows
System Windows, UNIX

File Format Proprietary Proprietary Btrieve, OBF, DBF DBF


Support Obieckieve

Prog. DataFlex dBASE C, C++ Xbase Easel


Language

Multi-User

Memory 47oK 2M 2M 520K Conlact vendor


Required

Disk Space 10M 3.5M 8M 2M Conlact vendor


Required (5M recommended)

Database DataFlex N/A N/A N/A os/2 DBt\.4.


Server [rS/Sybase SOL
Support Server, Oracle

Technical Free support (basic) for Online (ClS, BlX, Free for 180 days Telephone and fax Hotline support
Support current release; GEnie, BBS, TechFax,
toll-f ree priority support, 900 Advisor Line) and
6 calls $95 other paid technical
support

Devetoper dBASE Developer Contact vendor N/A Consulting services


Programs Partners Program

Plice $795 single-user $79s $6Ss $99.95 to $4.995 Call for pricing
$1,450 LAN ($99.95 for upgrade)
(Callfor UNIX version
oricina.)
First 11/81 10/88 10/90 11/85 '1981
Released

Next 6/93 New release 3/93 New release 4/93 N/A N/A
Scheduled (v.3.03)
Release

DATA BASED ADVISOR/MAY 1993 63


a technical PersPec tive for thc 9O's on productivity in CA-Clipper-

urinDesign usinTELLtrGE,NCE ot last!


products,
Create itrtelligetrt Tbrowses, forEs, ard d.ialogues ltrstantlyt Zero L eaming cuwe. Unlike other screen design
winDesign unaerstands the concept of windowi and families of windows. Supports modal or modeless forms. Easy and
po*erfuftBro-se design. WySIwyb designer, and fully moused. Built-in check boxes, radio buttons, scrolling date and
memo Gets. Catculated ffelds. Fields frim multiple Dbfs. User-deflned Gets. Complete control over all aspects of the
windov/. For power programmers flexible Get Object Editor, Tbrov/se Otrject Editor, Tt Column Object Editor. Generate
compact, readable cbdJin seconds. It's easy to customlze your own templates because tlle template language is Clipper
itseli fncluder AcMouse. Other xBase dialects corning. $2OO.OO

aaMouse Mouse Aour qpp in second.s!


To mousiry an entfe application, add #include "aa-mouse.ch" to the top ofeach prg, add SETMOUSE ON to the beglnning
of the app, add our tBrowse click/ scrollbar handler to your tBrowse event loop, and two lines to your link list. You're done!
By doing just that, you get a true Windov/s like graphic mouse cursor in EGA or VGA, moused Achoice with automauc
sirollgar, moused Melu To, moused InKey ald mouse-selectable Geb. Hldes and redisplays the mouse cursor rijith no
coding on Aour partl Includes Get readers and user-defined commands for moused radio buttons, check boxes, scrolling
date Gets. memo Gets, dropfields . Windows-aware . Desqview-aware
$1OO.OO
Designer PullDowns Menu it in minutes!
pulldowns for days! Nest them as deeply as you like . Create a wortlng prototype of your app ln tr.inutes ' Easily add
detailed specifications, help and acUons for each item . Mouse aware . Hlghlighted hot letters . Shortcut keys ' Cut, copy
and paste items and all descendants, even between menus . Run-time selectability and security access . Your app calr
execute the menu in data-driven mode, oryou can generate the Clipper 5 code for it . Zero learning curvel In no time, users
can build tieir menus and working modules . Attach actons to menu items allowing immediate execution. Other dialects
coming. $f EO.OO

Artful T\ro The Relrrtiono,l E;ngine Jor CA-Clipper!


Why hald-code your app whe! 8@/o of it ig re-usable? Move out of the cottage industry approach and discover our
application frameworks. Save ureeks of development time and thousonds of Iines ofcode . indexes, relations, table sets,
zooms. help, menus, deletion control, colors, scoping, scopeable browsers, Get,/Read/Write manager, data-driven point
and-shoot Relational Find a]ld Ouery, scopeable field-selective data export, cascading replaces and deletes, Dbfand index
integrity checks, multi-page automatic screens for protoBping . And get all this from one dictionary and one call to
The,Usualll ifyou wish! A glreat development envirolEelt: Two menu designers . Elegent screen designer Dictionary/
Dbf manager. DOS uulity window. Create/modi8, structure. Help manager. Color manager. Powerfrl I include ffles UEer
I[terface: Font installation for tme checkboxes and radlo buttons . Message popups . Pushbutton menus ' File and
directorypopups. Automatic status line. Color parsing aIId masking. Smartboxes. Non-destructive shadows ' Calendar
and datebook . Password login Code Generation: Forms . Tbrowses . Lightbar menus. Pulldown menus ' Field
declarations Gets: . Scatter, Gather, relational replace . Data driven pictures, prompts . Radio buttons. check boxes. drop
fields, scrolling date fields. picklists, Gets with help and shadows . Automatic key Iield initalization. Popup validation
browsers witll edit/append Brow6eE: Scopeabte . Mulu-table . Multi-$'tndow . Installable methods . Incremental search
. Cenerate with the screen designer, or call a browser from the library Report ard guery MaIragers: Save and restore report
ard query settjngs.Interface for R&R, Frm, Lbl and hard-coded reports. User selection ofscope, query, destination. copies
Math ald financea: Descriptive statistics . Financial calcs Record rEd rile contetrtiotr: Automatic Iile and record locks
. Semaphore fields for prlmary keys Arl.ay6: Binary tree array search . Multidim array browsers . Pad, trim. count, sum,
average, seek, initialize, invert, move, swap Text ald Strings: Fast strlng parsing. Read, write, display. edit text files '
Data driven memoedit window DOS ard ru.utiEe envlrotrEert: D],nanic file handles. Directory maintenance . Network-
compauble temp liles . Path validation . Printer management . Codeless command argument retrieval . I-ocal stack
manager And much Eore including bit arithmetic , date and time suite, cargo management for objects. 8OO furctions,
all wlth sonplete sotlrce code h CA-Clipper, C, &rld ASM! Four sample apps included.
$29E.OO

Artful firo Gold Multi-RDD, do;trr dictionary, mou.se!


ArtJul Tvto, AqMot/.sie, Do,to-driven multi-RDD Support, ond Field-leuel Dictionary: Searr essly install your alternate
database drivers in the dictionary on a table-by-table basis. Or use our method wrappers to achieve the same effect in your
own code.lmplementbusiness mles, system- or enterprise-wide standards. Record set processing. tntelligent DbAppend
. optional automauc Dbf structure update . scoped indexes . Hash tables . And. muc,r more
$gg5.Oo
I he had Artful, he'd be
homeby now...

{
I
I
I b

I I
I

ORDER IVOI{ so you can start coming home for dinner.


utnDesign_ aaMouse_ DesQner PullDowns_ Artful Two Artful Two Gold_
Artful Two multt-programmer ltcence ($695)_
Artful Ttoo Gold muttt-programmer licence ($895)_

NAME

COMPANY NAME

ADDRESS

ctT"{ / s'tA'tE /ztP


VISA/MCARD

SIGNATURE
Artful Applications Inc,, 17O St. ceorge St., Toronto, ON, Canada, MER 2Mz
Tcl (416) 92O-73,95i Fa: (416) 920,48921 BBS (416) EBa-grOz
Also avallable in Hong Kongr Atr)strong Systcnrs (a52)4a5 6994 fa\ 363-a56O: Benelu Mdkus Sotrwde (31),1650 32555 tu 4750 35577: cemrany:
dcsoi GmbH (49)ag 755139 I O f* a9 7a 5a I r I I i Ausralia: RCM (6 r )3,tta9-O263 td AOg 2O4I I England: gBS (aa)O8 I -994-4a42: Spain: Dmt€oft
(3'1116536974i SoIth Afli.a: Frylh.k (2r)42r 3894. vlsa, Master.ard rd money orders accept.d. o!,eftdeht shipping in North A;enca $li.oo.
elsewh.rc $50.00. Site Licenscs available. All prDducl names are radem{ks oft}err respe.llve compdtcs. Oui aemo. on Compusewe n
-. "rurt"tt.
DATA BASED ADVISOR BUYER'S GUIDE

Product Elllpse Emerald Bay Empress 4GL Empless RDBMS Enable


v.3-0 v.4.8 v.6.0 v.4.5

Company Cooperative Solutions Emerald Bay Group Empress Software Empress Sottware Enable Sottware
2125 Hamilton Ave. 2155 Verdugo Blvd., 6401 Golden 0l Golden 313 Usher's Fld.
San Jose, CA 95125 Sto. 20 Triangle Dr. Triangle Dr. Ballston Lake, NY
(408) 377-0300 Montrose, CA 9,l020 Greenbelt, irD 2020 Greenbelt, MD 2020 1201S
(818t 244-0477 (301) 220-1919 (301) 220-1919 (518) 8//-8600

Opsrailng OS/2, Windows DOS os/2, uNtx os/2, uNtx DOS, OS/2
System

Flls Formlt Proprietary Proprietary Proprietary Proprietary ASCII, DBF, SQL


Supporl

Prog. Ellipse 4GL C, Pascal, Xbase c, soL c, sol Proprietary


Languags

Multl-User

Memory 4i, 512K 2M 2M MOK


R6qulr€d

Disk Spac€ 100i,,1 300K to 800K 10i, 10M 8.5M


nequircd

Database oracls, MS/Sybase Emerald Bay Empress Empress N/A


SqrYer SQL Server
Support

Technlcal T€lephone, 7 Free for g0 days Available i.4-F, 9:30am Available M-F, 9:30am Special 800 number
Suppo days,/week, 24 to 6:30 pm (EST) via to 6:30 pm (EST) via lor authoriz€d VARS
hourvday telephone or fax; telephone or tax;
BBS also available BBS also available

Devalopsr N/A VAR pricing to Contact vendor. Contact vendor Contact vendor
Prcgrams registered developars-

Price $7,500 S395 Xbase and C $2.100 to $240,000 $1,400 to $240,000 $795
S199 Pascal

First 5/92 3/88 1981 1981 10184


Relsased

Next 3rd Q '93 5/93 New release 293 New release 2y93 N/A
Schedulsd (v.3.5)
flelease

66 DATA BASED ADVISOR/MAY I993


I
I I I I ,
,
I
THE WORI,D'S L{TGEST

DA'IBAIE
$tEflI.$tYil
& lt{ioRfriAltoil
IECH]{or00Y
[\?OSITIO]{,d\D (]()I'TIRI\CE

At DB/EXP0 you'll know about the nevrest and


Colin White hottat producs the minute they're announced.
Only DB/MPO brings togetber DBIHPO Coifer€nce DiMor So. you can follow up immdiaiely on producr

- in mc place - sll the latest most critica.l to you.

deaelopments in relational
dntahases, object technologt, Co-Sponsored by llarathon Slstems
c I ient/seru er c omfuting, ne w
Bill Gates At DB,4XP0'S unique Product Education Cenhr,
Microsoft Corporation experts help you define your requir€ments and
CASE tools and much more. choose the most rclevant exhibits. you even get
tips on what lo look for and guidana on how to
You no longer haae to go to best implement your new ideas.
seueral dffirent eaents to
get the information. you need. Philippe liahn
Borlrnd International
It's all here - at DB/ilPO,93! Co-Sponsored by Dtgital Media Labs
You'll go from the real world of ttre efibit hall
See Orcr 500InadWEdge into a world that isn't *rcrc. 0r is it? this mind-
Exlrihits - Freel expanding demonstration has been crcated just
H.rlequin Pi* SFLtrrs
StevenJobs for DB/EXP0.
NeXT Computer
IlM
AMDIHI
Ing,rs Many of the most pnstjgious user foups an
Aprle CompuEr
holding meetings ar DA/EXPO 'Sli
JY,ICC
So arn

Cog'6
NCR
Softsult Publisi n8 Lamy Ellison
l,la1T
Oracle Corpomtion
Unidzta
NoEll Moscone Center, San Francisco, CA
Dalr&s€ 0liedivity
Dlc Varg kl Tbesday May 4, 1l:00 A.M. to 5:00 P.M.
n)* Technoloa
Gupla Te.hnologr! Wednesday May 5, ll:fi) A.M. to 6:00 pM.
Umang Gupta Ihursday May 6, l1:00 A.M. ro 4:00 PM.
I Gupta Corporaliofl

Da,m 61'Bietd i:rrid( dMx Er!d6 tE lEl


24 llor.r llegi$tr.rtion REGISTER TODAY vna FAx (475) 966-aq?4
to prc-r.:llisler and aec€llc tlrul badge thr mail. coinplele this Ilrrm aad rclurl o,t
fielbre -tpril 5. 7 99:i. ifter Al}ril >, please bri{g rlris {finpletcd form t{} tl* show [ r,{ih
A rirrrfirED$ts6 c casD
,ithnrlt 17 ,u!!M(clo l?, DlR, irc& sUPt) D EedislsB I tdrbTo& 0 u trD0rrs
pa&s, o&-site registratil}n
13 s, (sxrMAs!, fRc,rnomlc.t Dp D8ADr\E]r'tR) H xiDDG$s I06id0iddqrtu
$25.0O). Pk:ar copl this for additional rt D.& dtE 0 $ra
{€rprises .i4. Castro Slreel. Ssite Cdpd a4mrq
(c8nll, @ mxi p^*lXEo
Y.til fa,r {/o: E t;1 'f {,r 9i(k
19 \?, DlR,

?l rlhrnirf,iE (v?, DR rcr) I D.rhF dc.@6 sda!


m r{..ddElacdqcdr,'IEr
Narne llll tl l 4 li..rFbr (w, DIR, PuIr rrc& t40D MGR)
?
I CollR€dh,finind {nrr4aersdr6
, ElileElldodo! 6uni(!
x e{(Bi[4 nEErxolfrollplllDE, Tml rncfi'sfiD6)
Title:
_ltlttl Mail Stop: l ti r ftd NEtd ol t4torE r !@ c.@r
3 Co&dima{niigr3ll:Ib!

C"qrlr|i L llt I tl r,{r I 9, mm{9 c[5mq


DDlm 299 EE ]m-999 !! to.u+
Address: I i ] lPlease Register M) Colleague, Too!
!q*,
City: I I I state l 4LI L

Phoge: ttt L l c,'v, ?t9:


DATA BASED ADVISOR BUYER'S GUIDE

FlleMaker Pto lllePro PLUS Flrst SOL C


Produel EnrinR Faspon
v.2.0 v-4.1 v.2.1
v.5.3

Claris Cory. The Small Computer FFE Software, lnc.


Company Easel Corp. Software Research, lnc.
5201 Patrick Henry Company, lnc. P.O. Box 1519
25 Corporate Dr. 2,1481 Detroit Rd.,
Dr. 41 Saw Mill River Rd. El Cerrito, CA 94530
Burlington, MA 01803 Ste.300
Santa Clara, CA Hawthome, NY 10532 (sr0) 232-6800
(617) 221 -2100 Clsveland, OH 44145
(216) 871-3135 95052 (914) 769-3160
(408\ 727 -A227

DOS, UNIX, XENIX Macintosh, DOS, UNIX DOS, windows


Opsratirg OS/2, Windows, UNIX
System Wndows

c-rsAl/l ASCII, DB, DBF Proprietary DBF, Proprietary


File Format SOL
Support

N/A Proprietary Proprietary Embedded SOL


Prog. SmallTalk
LanguagE

Multi-use,

350K 2M 3M 512N
Memory 6M
Sequircd

gisk Space 3M 800K 10M 1.5M


8M
Fequlred

ISAi/{ N/A N/A


Oatabase Ms/Sybase SQL
Seryer Server, Oracle, OS/2
Supporl DBM

Free telephone support Telephone suppod, M- 90 day unlimited Fax, telephone, mail,
Yechnical Hotline support
for 12 months. F, America On Line, telephone support, one and C,ompuServe
Support
CompuServe, and year maintenance $250
Applelink

oevelopar Consulting services Developer discounts Claris Solutions Runtime licens€s


Programs Alliance; priority
technical support

Call vendor for Pricing $595 to $6,000 $'129 (Windows) $699 to $3,995 $395 single-user
Price
$399 (Macintosh) 5795 multiuser
$1,000 unlimited
runtime
9/a4 1987 (Macintosh) 6/84 3/91
Firsl 1992
Released 10/92 (Windows)

NeIt N/A New release 4/93 N/A 9/93 New release tY93
(v.5.0\ (v.2.11)
Scheduled
nelease

68 DATA BASED ADVISOR/MAY 1993


) DATA BASED ADVTSOB BUYER'S GUIDE

Product FITst SOL BDBMS FoxBASE+,/Uac FoxPro FoxPro tor Wlndows Hellx Express
v.2.0 v.2.01 v.2.5 v.1.0
Company FFE Software, lnc. Microsoft Corp. Microsoft Co.p. Microsotl Corp. Helix Technologies
P.O. Box 1519 One Microsoft Way One Mjcrosoft Way One Microsott Way 4100 Commercial
El Cernto, CA 94530 Redmond, WA 98052 Redmond, WA 98052 Redmond. WA 98052
(510) 232-6800 (206) 882-8080 (206) 882-8080 (206) 882-8080 Northbrook, lL 60062
(708) 205-1669

Operating DOS Macintosh DOS Macintosh


System

File Format DBF, Proprietary FoxBASE+, MAC ASCII, DBF, ASCII, DBF, ASCII
Support (earlier versions) Proprietary Proprietary

Prog. Xbase Xbase Xbase lcon-based, visual


Language programming
environment

!rulti-User

Memory 512K 1M 3M 1 [,] (min)


Required 2M (recommended)

Disk Space 1.5M 5M 14|\il 15M 1.5i,,|


Hequired

Datebase N/A Macintosh MS SOL Server MS SQL Server


Server
Support

Technical Fax, telephone, mail, Free via telephone and Free via telephon€ Free via telephone and Free support via
Support and CompuServe CompuServe; and Compuserve; CompuServe; telephone, fax, and
automated Fast Tips, automated Fast Tips, automated Fast Tips, America On Line
24 hrs,/day (206) 635- 24 hrs/day (206) 635- 24 hrs/day (206) 635-
7192 7't91 7191

Developer N/A Developer Support Developer Support lnitialone-year


Programs Program $295/year Program $29s/year program $695;
yearly renewal fee
s495

Pric6 $495 single-user $495 single-us6r, $495 singl6-user $495 single-user S439; ($135 to $199
$995 multi-user $595 single-user (additional users $425 (additional users $425 per multi-user client
runtime, each) each) depending on
$595 network 6-pack quantity)
First 10/89 1988 7191 7/91 1984
Released

Next N/A 1993 End of '93 N/A N/A


Scheduled (v.2.5) (2.5lor Macintosh and
Release uNrx)

DATA BASED ADVISORA'AY 19S3 69


lr
) DATA BASED ADVISOR ,gw BUYER'S GUIDE
lnlormix-SOL INGRES lntelligsnt lntegla lnterbase
Product lnlormix Onllne
Database v.3.5 v.3,3
v.5.01
v.6.4
ln{ormix Software, lnc. lngres C,orp. Coromandel lndustries, Borland lntl.
Company lnlormix Software, lnc.
t 080 Marina Village lnc. 1800 Green Hills Rd.
4100 Bohannon Dr. 4100 Bohannon Dr.
M6nlo Park. CA 94025 Parkway 70-15 Austin St. Scotts Valley, CA
Menlo Park, CA 94025
(415)926-6300 Alameda, CA 94501 srd Floor 95067
(415) 926-6300
(s10)769-1400 Flushing, NY 11375 (408) 438-8400
(718)793-7963

DOS, UNIX DOS, UNIX, Windows UNIX


Opqatlng DOS, UNIX
Sysiem

Proprielary Proprietary Btrieve, DBF, Proprietary


Flla Format Proprietary
Objectrieve
Support

SQL Visual Basic N/A


Prog. N/A
Lan9urg€

ilultl-Usor

'1
130K DOS 5M Varies according to 2M 2401<
Momory
R€quhed (4i, shared memory) UNIX 2M platlorm

DOS 4,5M Varies accordrng to 6M 8M


Dlsk spaco
UNIX 5,1M platlorm
Rsqultsd

lnformix lngres N/A N/A


D8lebass lnformix
Sorvor
Suppo

Variety of support Various levels of Free support for 90 Full support and
fechnlcsl Yes
packages available support otfered lor days; annual contract consulting (hotline
Supporl
dilf erent installalions available and on-site)

N/A lnsync Parlner Product Life Cylce Contact vendor VAR Programs
Dov8loper
Programs Program, and VAR (PLC) and others
Programs

Prico $595 to $103,500 $2,200 to $352,200 $99 $2,300 to $345,500


$3,300 base
depending on
conliguration

3/85 1981 11/91 6/86


Flrst 1/90
Rolsasod

N/A 1993 6/93 N/A


N3rt
Scheduled
Rgleaas

70 DATA BASED ADVISOFYMAY 1993


atoffernomafter
how you slice i[ D{IA
1992

G'I1N IF.'}]R UIz' I

t
7
L.
n r;.
li
l' l

if you're a little uneasy about dissecting styles, select letters, accelerator keys and more. our_fuJIy documented Template Languate to
your old disk, this ad is for you. Because we've
...attarh Action-Ob jects modify the templates. Even oeate your own.
released a new version of our application genela-
SoftCode Template Sets are available for Clip-
tor that we thinl is pretty special. Thm tell your application what to do by aftach- per, Fo'rPro, dBASE IV, Aragq C, BASIC aid
And, if you're a user of any other generator, ing Aclibrs to the menu choices and Hot-Keys, Our
Paxal. So y ou can immediately use SoftCode with-
we're going to let you upgrade for only $69.95 Template provide you witha ft ls€toaAcfrbn
Sets
out wdthg a single Iine of code,
Lrtroducing SoftCode 3.0 Orlirts to aftach. They perform all of the standard
databax and user interface operations such as: Upgrade to SoftCode 3.0
SoftCode now makes it easier than ever to adding, editing, navigating between records, que- Just send r-rs the remains of ANY other genera-
create top quality, highly customized applications.
rying your database ard database maintenance tor (or, il you're too squeamish, we'll let you call
We ve always had the best Snee11 Lditot n t1e operations. with the version nunber or other proof) and tell us
business. Now we've added a revolutionary, new 'Ihere's no need to deal with the details of how that you want to upFade. We'll rwh you a ftrll
Awliulion O liner to design your application's they work. Just use the Outliner to piece together copy of SoftCode a.nd any templates y6u need to
interface and proglam flow. the functionalty needed ir your application. get staded.
Design your rnenus... Choose your language If you're not satisfied-for any reason-retum
them within 30 davs for a fullretund
The Application Outliner starts out as a Menu SoftCode is an advanced template based
Editor. You design menus and sub-menus visu- ten-
erdtor. Togeneratecode, all you have todo is piess
ally. s9 there is no guessing about what they will a button. You never even have to look inside the
look Iike in the final program.
Create exactly the khd of menu svstem you
templates.
But when you want it, you have unbeatable
BOIIBryORI$
want. Even down to the daails of shadolws. boider conhol over the way the code is generated. Just use
DEVELOPTMM CORP
Tr'd€ Mrr/o*6: cdi6arD/ Blt tcotp-,za.t,ntd / z.,jt*v s.arws€,rn ., urzDl warro( r.c., soircoddD/ Bottleworb Derelopmer cqp,

Yes!I want to upgrade. Fill in rhe order coupon b€tow and mail ro:
i Bottlewo*r Dev€loPment CorP.
a Ertdosed is proof that l arrr user of any other
I propam gmerator. Send mea curentthe followinq: 3J3 HemPstread Ave

I Upsade producrs: Ltut uDsrid. ; Malveme l'IY 11565

I t; a
t f SrtCoa" s.o .......... $3ss #g.ns 4ff
: Templah S€b (order at leart 1)
I O CliPPer ....................195 49.95
Credit card ordeE: 8l}G241-384E, operalor2l'l
Other orders: 515'5969700 . F.i: 51G59Ca701
Pleas€ male sule you have totaled your order and have
I O FoxPro .....................195 49.95 mdosed the conit amount.
; o dBAsE IV r95 4Ss5 \'me
I tr-f;;;}[. . i;; i;ii-
I oc tss companv
I o aAstc
...I..........................
tss lsqs -
......................
ns.ss
Addrcs! -
I
a
-^*- * t*diiiir""ai.iJ
-r ty5
Pasca ....................... qy.ys
citv

I! c*a* ---or:,IlIiii8 count-v Phone


L.s. orde6 oaa rz.
NYS residmts add eles -
tax:_
rro.
-zP-
Palmmt Ocheck 3visa DM/C aAMEX Woneyord€r
I rotal: card# [xp. Dare
I
DATA BASED ADVISOB BUYER'S GUIDE

MDBS IV Micro3olt SOL


Product JAM Knowlodgo Mln MAGIC
5.0 v.4.3 Sgrvsr
v.5.03 v.3-0
v.4.2
Magic Sottware Micro Oata Base Microsoft CorP.
JYACC, Inc. Micro Oata Base
CompanY Systems, lnc. (mdbs) On€ Microsott WaY
116 John St, Systems, lnc. (mdbs) EnterPrises
1200 Main St. Two Executive Dr. Redmond, WA 98052
New York, NY '10038 Two Executive Dr.
(206) 637-7095
Latayette, lN 47903 lrvine, CA 927'14 Lalayette, lN 47903
(2',t21 267 -7722
(3171 447 -1 122 1,714) 250-1720 1317) 447 -1 122

DOS, UNIX oos, os/2, uNlx, DOS, OS/2, Windows


Operating DOS, OS/2, UNIX DOS, OS/2, UNIX
Windows
System

Btrieve, DBF (through C,ontact vendor N/A


File Format ASCll, Proprietary Contact vendor
a gat€way)
Suppo.l

MAGIC 4GL Programmer's Toolkit


Pro9. JAM Programming Knowledge Man
available for C,
l.3nguage Language (JPL)
Cobol, and VB

Multi-t ser

640K 640K 50K to 300K 8M


Memory 640K
Requiled

5M 2M 500K 20M
Disk Space 4M
Required

Contact vendor lngres, MS/Sybase Contact vendor N/A


Databas€ lnlormix, lngres,
lnterbase, ODBS, SOL Server, Oracle
Server
Support Oracle, Sybase, and 14
mora

90 days free supPort, Hotline, BBS, tutorials, 1 year (4 hours) lull From Compuserve to
Techoicsl By maintenanca
yearly service conlracts nowsletter. tech notes, support; yearly service Premier Support
Suppon clntract only
available user groups contracts also available Packages oflered

Users Groups VAR and Application National Users Group Microsott Solutions
Davelopsa N/A
Developer discounts Providers include;
Programs
Network Specialists,
Sls, lndependent
Consultants, VARs

$1,495 and uP $1,s00 $3,900 and uP $2,995 1 to 10 users


Prlce $595 to $39,500
$7,995 unlimited

I
USETS

1984 1 1/86 1979 4lag


First 9/86
Released

7193 New release 3/93 N/A N/A 2nd O '93


Nexl (v.4.2lor WinNT)
Scheduled (v.6)
Release

72 DATA BASED ADVISORA'AY 1993


DATA BASED ADVISOR BUYEB'S GUTDE

Product Mozart Multi Bass NOMAD Nutshell Plus lt Obr€ctvlow


v.3.1 v.4.5 v.3.3 v.2.0 v.2,0
Company Mozart Systems Cykic Software, lnc. MUST Software tnfl.
'1350 Bayshore
Fairhaven Software Knowledgeware
3944 Third Av€. 101 [4erritt 7 3 Cabot Place.
Highway, Ste. 630 3340 Peachtree Rd.,
San Diego, CA 92103 NoMalk, CT 06856 Stoughton, [rA 02072 N.E,
Burlingame, CA 94OlO (619) 297-0 i82 (203) 845-5000 (617) 341-1990 Atlanta, GA 30326
(4rs)340-1s88
(404) 231-8s7s

Operating DOS, OS/2, Windows DOS DOS, OS/2 DOS os/2, uNtx,
Syslem

File Format ASCII, DBF, SQL DBF ASCII. DBF lndoxing, Proprietary ASCll, B[rP, Btrieve,
Support
DBF, PCX

Pro9. Mozart 4GL Clipper, dBASE lll NOi,,IAD N/A View Script 4GL
Languag3 PLUS, dBASE IV,
FoxBASE+. MultiBase

Mulli-User

Memory 4M 1M to 2M 3M 384K 4t\.1


Bequired

Disk Space 5M 2t\.4 5lV 5M 8M


Required

Database MS SOL Server, Proprietary Ms/Sybase SOL lnformix, lngres, MS


Server Oracle, OS/2 DBM Server, Oracle, SOL SeNer, Oracle,
Support SQLBase OS/2 DBM, SOLBase

Technicel Hotline and consulting Telephone support with Three support plans Telephone 30 days free from 1st
Support registration, 30 minutes available call; 3 addilional
free, additional support plans available
S60,hour

Dev6loper N/A Developer seminar N/A Contact vendor


Programs planned; dealer and
distributor support

Prlce $6,000 $699 $795 single-user $795 $1,799 to $2,999


$595 multi-user copy ($525 for deale.s)
$125 runtime copy
$2,295 DK
First 1987 1ZA7 1987 1987 2t91
Released

Next 2nd O '93 New release 4/93 DOS 7/93 (v.3.4) New release 3/93 New release 3/93
Scheduled Windows 9/93 (v.3.5)
Releaso

DATA BASED ADVISOF/MAY 1993 73


DATA BASED ADVISOR BUYEB'S GUIDE

Ontos DB Openlnslght Oracl€7


Product Odyssss OMNIS Seven 8nd
OMNIS Seven Plus v.2.2 v,1.0
v.3.0
v.1.2
ONTOS, lnc. Rev€lation Oracle CorP.
CompanY Case Design, lnc. Blyth Sottware
Three Budington Technologies 500 Oracle Parkway
91.|1 Jollyville Rd., Ste 1065 E. Hillsdale BIvd.,
Woods 18'l Harbor Dr. Redwood Shores, CA
207 Ste. 300
Burlington, MA 01803 Stamlord, CT 06902 94065
Ausrin, TX 78759 Foster City, CA 94404
l0 (206) 973-1000 (415)506-7000
(s12)346-8991 (415) s71 -0222 {617\ 272-71

os/2, uNlx DOS, windows DOS, Macintosh,


Operatlng DOS, UNIX, Windows Macintosh, windows
osi2, uNlx
System

Contact vendor Contact vendor Contact vendor


File Format DBF Contact vendor
Support

Proprietary C++ Basic ++ PUSQL, SOL


P.og. N/A
Language

Multi-User

2M 8M (clienl) 4M Contact vendor


Memory 550K
fiequired 16M (server)

2M Vades 6M Contact vendor


Disk space 12M
Required

Contact vendor Conlact vendor SOL Servers D92, [rs/Sybase


Oatabase Btrieve, Oracle,
SOL Server, Oracle,
Server Sybase, Unity
OS/2 DBt\.4
Support

Telephone and on-line Telephone support 3 levels of support Contact vendor


Techrica! 90 days lree support; 1-
year contract $595; support; custom available contracts available: 90
Support
'900'number support support available day warranty support
on full product purchase

Advantage level Business Partners Programs available for Alliance Program Oracle Users Group
Developer
unlimited toll-free Program joint work or special available to
Program9
support contract proiects. development partners
available

$1,250 develoPmenV $5,000 to $16,000 $895 Depends on platlorm;


Price $1,29s (DOS, 1 to 5
$250 runtime depending on platlorm Contact vendor
users)
$3,795 (UNIX, 1 to 5 $2,500 OMNIS Seven
users) Plus
1989 1992 1979
Firsl 7lag 12191
Released

Nen 6/93 6/93 6-7/93


(v.3.5) (v.3.0) (v.2.0)
Scheduled
Releese

74 OATA BASEO ADVISOR/MAY 1993


ffi*r!*t:
n
\
? &
0 U
z I
r-
t 3
lr
j
tr
j *ffi
f

,r& !k***

FUll0lty"llas Some llew Frienils


Nott:, mare than Our superb documentation
IIEW! FIfr, TfrEI, FPIICII
and innovative functions
euer tt's time to have won us the FLIB is a I 000,6 MS Compauble Obtecr
FiIe Librarlan so you ca; create vo"ur
getFWCkg. Data Based Advisor own libraries. FREF a LIB Reference
Reader's Cholce Award Ut ity, FPArcH a File Patcher that
for:r years in a rowt creates delta flles to update your users.
FUNCky II contains hundreds
of amazing new features for app- Here's what you can expect: Once you get FUNCky. you'll enjoy
lication developers in an exciLinA tree I-8OO telephane suppon from
rlew SurJace / Core architecture that
will deffne the add-on industry
llEw! htetil our highly qualihed techntcal
Fl.rNCky's powerful proEiramma ble text support stafl 24tv bulletin bnrd
standard for years to come. edilor does marked blocks, cut & paste. access and frequent updates so you
and search & replace. Comes In b;th
functional and Object Oriented stay current in today's rapidly
Our revolutionaqf new ltbraqr design implementationsl changing development market.
gives FUNCky unprecedented
mufti-Wtni capabilites- one single ilEW! tufitiln Etf,tcn AII this and tutl compatbility w.ith
set of libraries that you can use with Fully prograrunable data enhy screens the most popular appllcation
more than nine of today's most s,rh marked blocks, cut & pasle between development environments
popular applicaton development Iields aild calculator swle irumeric guarantee your programming
envfonments. enh_y. Interfaces searr esslv wlth S uccess in today's competitivt
NotePad for multt-line data entry ffelds.
business climate. Order tod ay artd
llEW! EWW loil Bctuthttton find out for yourself why FUNCkv is
the ultimate developer's tool

i:iffifs'-;: "IW
Even displays MS Windows. Bitmaos
and Icons ln Text mode!
identical naming and
calltlg conventions between all
llEw! BnDhiB c0E ncfibiw
All text based ddeo ftmcUons includftUl
Todag!
supported enl'ironments for
maximum portability.
NotePad and the TextEdit system can
be used while in graphics modes! ! 1-800-r93-933r
Outstde the U.S. dtal 2O1-435-A40r
I
I

ilEW! frut Fancilonelitl -.rr I,lt ,l \[\'f I ^\-'t.,\


I |
I
. File Compres1ion ltw

#m:z*ffis*"Yr#,"" . Disk Fonnattins


. Tert Mode Alr;w mouse cursor
I
I tl ry r r/ {rl,li
,,',.,'. V
i
I
containing over fully working
I8OO
. MS Wtndows' Cupboard Access I
interactlve example programs tlat . Intemat'l Date & Character SuDDort I I
. L,ow livel Craphtc Funcllons '' dtsk and functton I
you can cul and paste directly into . Blazlng Fast Video & Stiing Functions I list avatlable .
your editox . And More! I
DATA BASEI' ADVISOB BUYEB'S GUIDE

OSiz Extended Paradox Paradox lor


Product Oraclo Card ORIN
Services 4.0 Wlndows
v.l.'l v.2.4.2
v.1.0
Obiective Solutions, IBM Corp. Bodand lntl.
CompanY Oracle CorP. '1800 Gre€n Hills Rd. Hills Rd
lnc. Old Orchard Rd.
500 Oracle Parkway Scotts Valley, CA
17 E. Hibiscus Blvd., Armonk, NY 10504 Scotts Valley, CA
Redwood Shores, CA 95066
Sto. 106 (914)765-1900 95066
94065 (408) 438-8400 (408) 438-8400
(415) 506-7000 M€lboume, FL 32901
l4o7\ 676-027s

oOS, UNIx, Windows DOS, OS/2, Windows DOS


Opstatlng Macintosh, Windows
System

Proprietary Proprietary DBF, Proprietary


Flls Format SOL ASCII
Support

PAL ObiectPAL
Prog. Oracle Talk, Oracle ORIN Ob,ect Oient€d
Language Access Procsdural Languag€
(oPL)

Multi-User

$M to 9M 2tvl 4M
ir€mory 5M Varies depending on
Requi.ed Platlorm

Varios depending on 12M 3.5rV 9M to 15M


Disk Spac€ 5l\,t (PC)
Hequired 3.5M (Mac) pladorm

lnformix, Oracle Proprietary OS/2 DBM, lnterbase lnierbase,


Database DB2, Oracle
Server, MS/sybase Ms/Sybase SOL
S€rvea
SQL Server, Oracle Server, Oracl6
Sugport

Telephone and FAX 30 days iree support Online (ClS, GEnie, Online (ClS, GEnie,
Technieal Standard Oracle
BIX), TechFax, and BIX), TechFax, and
Suppon worldwide support
other paid support other paid support

For VARS and N/A Paradox Developer Paradox Developer


tlevelopo. N/A
Distributors Partners Program Partners Program
Progiams

$2,000 develoPer $595 $795 $795


Price $699
runtimes available $400 runtime S95 per additional
user

9/90 4192 1984 1/93


F:rst 6/91
Released

N/A N/A Non-disclos6d


tlerl 8/93
Seheduled
Rslease

76 DATA BASED ADVISOR,iMAY 1993


DATA BASEI' ADVISOR BUYEB'S GUIDE

Product PC-Flle PC/FOCUS PowerBuilder Progress 4cL/RDBMS


v.7 v.6.0 o&A
v.6.3 v.4,0
Company Buttonware, lnc. lnformalion Builders Powersott Corp. Progress Sottware Symantec Corp.
P.O. Box 96058 1250 Broadway 70 Blanchard Bd. Co.p. '10201 Torre Ave.
Bellevue, WA 98009 New York, NY 1000'l Burlington, MA 01803 14 Oak Park Cupertino, CA 95014
(206) 454-0479 (212) 736-4433 (617) 229-2200 Bedford, MA 0t730 (408) 253-9600
(6171 27s-4500

Operating DOS DOS, OS/2, Windows Windows DOS, OS/2, UNIX, DOS
System
Windows, XENTX

File Formal DBF SQL SOL C.ISAM, CT.ISAM ASCII, DB, DBF
Support

Prog, N/A Focus Powerscript Progress 4GL N/A


Language (proprietary)

Mul:iUser

i,lemory 450K 640K 2[, to 4M 2M 512K (minimum)


Eequired
&0K (recommended)

Disk Space L89M 7M 5M to 9M 13M to 17i/ 3M


Required

Dalabase N/A EDA,/SQL, OS/2 DBM, DB2, Inlormix, Oracle, Progress, Oracle. SQLBase
Seruer Ms/Sybase SQL Server Ms/Sybase SQL Sybase SOL Server
Support Server, Oracle,
SOLBaS€, XDB

Technical 30 days free; annual 90 days and extended 30 day warranty at no Technical hotline Free, unlimited
Support support plan $49.95 mainlenance available charge, includes BBS, support 8am to 8pm, technical support
ClS, online help, and on-line bulletin board,
more;additional bi-monthly tech bulletin
conkacl available

Ireveloper VAR Program lndependenl Software Partners in Progress


Programs Developer program

Pri€e $149.95 single us€r $795 $1,495 to $3,895 $1 75 to $330,740


, 1 $399
$,149.95 multi user

Fi.st 682 9/44 6/91 at84 1 1/85


Released

Next N/A N/A 7/93 N/A N/A


Scheduled (v.7.0)
Releasa

DATA BASED ADVISOF/MAY 1993 7/


) DATA BASED ADVTSOB W BUYER'S GUIDE

OBE Vlsion O-Pro.l Ouadbass-SOL tor


q'BASE "DL" q'BASE.EXE
Product v.4.1 Windows
v.4,0 v.2.05
v.4.0 v,2.0
Coromandel Q-N-E lntl. Quadbase SYstems,
Compal!y Knowledge lntormation Knowledge lnlormation
136 Granite Hill Ct. lnc.
Systems, lnc. Systems, lnc. lndustries, lnc.
70-'15 Austin St. Langhome, PA 19097 790 Lucerne Dr., *51
1301 Hwy. 36 1301 Hwy. 36
Forest Hills, NY '! 1375 (21s) 968-5966 Sunnyvale, CA 94086
Hazlet. NJ 0730 Haz let, NJ 07730
(408) 738-6989
(908) 739-0968 (718) 793-7963
(908) 739-0968

UNIX DOS, windows


Opetating UNIX
Sysiem

Btriev€, DBF, ISAM DBF


File Format DBF DBF
Objectrieve
Support

BASlClike Proprietary N/A


P.og. Xbase with extended Xbase with extended
Language q'base dialect q'base dialect

Multi-User

640K 2M
lremory 4M (minimum) 4M (minimum)
Requ:rad 8M (rscommended) 8M (recommended)

2.5M 10M 1M
Dlsk Space 2.5M
Hequired

N/A DB2, Ms/Sybase N/A OLradbase


Data5asg
Server SOL Server, Oracle
Suppon

90 day lree with Free lor 180 days; Telephone Free


Technical 90 day free with
Suppo.t licensing licensing annualcontract
available

Licens€d users utilizing Contact vendor N/A N/A


Developer N/A
Programs APPMAKE feaIUTe
eligible lor code
certif ication and Porting
assistance.

Price $1,299 to $1,799 $900 $350 $595 standalone


$299 to $999
$995 network, Plus
runtime

First 3/91 7 t92 8192 11t42 3/91

Released

N/A New release 4/93 6/93 N/A


NeIt N/A
(v.4.1c)
Scbeduled
Release

78 DATA BASED ADVISOR/MAY 1993


FL,ri\LlrdN irrl Alrtllr l:r,Nr IIL)N rrUpADDH5 IN/IMI )) lDENIit-rcltt0N Dlvt5l0N
PARAMT ILRS Ni\MI ADI)RIb5! ]TRD6RA,\4- ID.
PBIVhTI ADDRESS ZIPCOI(ITY IIPLODE : A POPADDR.
,i- ADDRES5 =SPALL (30) Clry-5 = " ,
:,, Z|PCDW 0 C0JR 7 o
4r,1110R.
JOHN.

qilqLqpWN
CttAR SCREEN
Ldrrr rro,pprNt rvArvrrs
LALAIL )to, l,nrrrti aLt.-.
JULY 15. r?92.
DATE.WRIfiEN.

2lo SAYNNJ\E L(x/l[ + ro pRtNT "Z,""


DAIA DVISION.

r,:
@
WORKING STORAGE
o 3.IoSAY'Address" r0ttrTt: ro p[lNt ,c,i"" 01 NAME
o 4.loSA|Zip" I ry-AlL J,:rr tNpt f At 'kl.5t5 PROCEDURE
,., .r roSA\"Cr+y' [_0cA1E t,3D, ]l\pitt lliiL,t'r: 4000 - 5Al I
, a5\cLl AI)RE5S LOLATL s co, tNilT alf {5 DISPTAY'
-l joLli 7\PLDDIHtIUR['rrr" END FUNICTI0N
.,
.,rI CLT CIiY STD?

a
I

v
lets you avoid the punishment

Creatingapplicatiars Callfu afreederno


doesn'thovenhurt
Tte exlroordinorily complex proces of wriling
@ffixrux"C
wore fioieliminotes fie need for editors o o high {DOS,
diskandtryityourself
WNDOWS, UNIXI wih no chonge.
soh$mre opplicoiions is timeconsuming ond degree oftechnicol skill. Odysee is o fu ly inte Creoling 6e doto slructure ond monipulolng
replilive. And con get you inlo o loiof trouble. groted roo/ ho, feotures DBtu\S supporr, WYSL fie dotobse ore {eotures of Od'psee thoi ore
lfofier monhs ol writing in exces of thou- V\{G user inbrfoce design ond repo,ling. lronsporent b he developers. Odysee con
sonds of lines d code o client decides to chonge ln the de,,elopment qrcle, you con occess simulbneously occes ond simpli[, the use of
he specs or plolform, ifie punishing procedure o wide voriety ofhepful feotures including o dob mony different DBMS, inc uding XBASE, ORACLE,
begins oll wer ogoin. dic'ionory pl"ys col ond logico' rrdepenoence. UNIFY, SYBASE ond DB RAIMA.
lnhoducing Odyssee from Cose Design, o losls, octions, evenls ond expressions. Resuiliog Co Cose Desigr to leorn now try edi(;
new corcep'in progromrning developmenr sol.- opplicolions con run on o rorieiy of OS ploforms ing Odyssee con be.

t
Oovsser rutunrs & cnrnsflmrs I UN-PARAILEtED PRICING I
. I

@ CASE DESIGN
tlo to& ditrs nedd. WE'RE NOTSETI.INC SOFTWARE-WE'RE
or I
. Totf,y nrcyruiri'cn.
I SEI.tING A SUPPORIED SOTUTION!I
I
I With the Frrchse of a Case Des8n t<hn,cat Supporr
. Ohlec+oriqsotisr.
I
Agrement, we tt give you our a*ard$innrnE apDrEa:tim
oevebpmeor soft* e oDYssl I tor rRfE, our support
RESUITS ORIENTED
I
. h/peft{ bduolos/ indrdd. I
p&kage rmludes one yea ot technEal suppdr sollw e I
. prt(elr iidepend€rre.
upgrdes rd oDYssEE rd FREE!! Cru l-8OO-880-llOO I
Doto ond I ODYSSEEfoTDOS, XBASE, UNIFY
. Porerful hriFin &to nwripokaior. I ODYSSEE for WNDOWS, XBASE,
S,t95
9111 Jollyville Rmd r Sulie 207 r Ausiin, Texos 78759
I
UNtFy
. |'io ruo-tioe Ses. I $S9S
Plrcne (5121 346 8991 .
I oDYSSEE forSCO UNX $3995
Fox l5l2) 346.7920
DBA 1
trePod6dHdlE6'drqlrdedd@t!dfu{$k6F-
) DATA BASED ADVISOB W BUYER'S GUIDE

R:BASE Ralms Dttabass Ralma Obloct Recltal


Product Ouest
v.4.0 M!nagsr Managot v.7.2
v.2.0
v.3.21a v.1.1
Microrim, lnc. Raima Corp. Raima Corp. Recilal Corp.
Company Gupta CorP. '!605 N.W. Sammamish
15395 S.E. 30th Pl. 1605 N.W. 85 Constilution Lane
1060 Marsh Rd.
Bellevue, WA 98007 Sammamish Rd. Rd. Danvers, MA 01923
Menlo Park, CA 94025
(206) 649-9s00 Ste.200 St€. 200 (s08) 750-1066
(41s) 321-9500
lssaquah, WA 98027 lssaquah, WA 98027
(206) 5s7-0200 (206) 557-0200

oos, os/2 DOS, OS/2, UNIX, DOS, UNIX, windows DOS, UNIX
Operallng DOS, Windows
SystEm Windows

Proprietary Propdetary Proprietary DBF


Flle Format Proprietary
Support

R:BASE command Variation ol SOL N/A Xbase superset


Prog. N/A
Languag€ language and ANSI
level 2 SQL

Mulll-Uso.

'100K to 384K 2M
Me.Ilory 4M 2.5M 100K to 384K
nequired

5M Varies Varies 5M to 10M


Disk space 8M
Fequlred

N/A Raima Database SOL


Dalabase DBz. lnformix, lngres,
Ssryet MS/Sybase SQL Manager
Supporl Server, Oracle, OS/2
DBM, SOLBase

Technlcal License subscriPtion Free support via toll 60 days free; yearly 60 days free; yearly Hotline technical
line; premium support contracts available contracts available support, 8am to 8Pm;
Snpport service, BBS, Strategic
Technical Accounl ReP. also available which include BBS. which include BBS, Recital Porting
(STAR) service, updales, telephone, updates, telephone, Center
consulting and FAX support. and FAX support.

Microrim DeveloPers Third party catalog; Third party catalog; Recital Enterprise
Ooveloper Complete ISV program
Advantage Program special promotions special promotions Reseller Program for
Programs
VARS and systems
integrators

$795 single user $395 and up $395 $2,995 to $120,000


Price $'1,995 standard edition
$3,495 corporate edition $995 5 user LAN Pack

7laz 1984 6/91 1/89


Flrst 8/88
Released

New release 3/93 6 or 7/93 6/93 8/93


Noxl
v.8
Scheduled
qeleass

80 DATA BASED ADVISOF/MAY 1993


DATA BASED ADVISOR BUYER'S GUlDE

Product Shark Basq Silvorrun Sprsadbase SOLBase SOL'Bulldor


v,1.11 v.2.1.1 v.1.'l v.5.1 v.3.2
Company Sub Rosa Corp. Computer Systgms Objective Software, Gupta Corp. SQL'Builder Software
1313 5rh St., S.E. Advisers, lnc. lnc. 1060 irarsh Rd Co.
Minneapolis, MN 55414 50 Tice Blvd. 200 Chesapeake Dr Menlo Park, CA 94025
(612) 379-3898
615 E. Michigan St.,
Woodcliff Lake, NJ Redwood City, CA (41s)321-9500 Ste. 200
0767s 94063 Milwuakee, Wl 53202
(201)391-6500 (415)306-7410 (414) 278-0s00

Operatlng DOS Macintosh, OS/2, Macintosh DOS, OS/2, UNIX, DOS, UNIX
Systsnrs
Windows

File Format DBF, Proprietary DBF Contact vendor Proprietary SOL


Support

Pro9. Proprietary N/A Proprietary


Language

Multi-User

llemory 512K 4M Macintosh 5M 2M to 4M depending on 6M stiandalone


Requlred 8M OS/2 platform 2M client/server
6M Wndows network

Disk Space 360K 10M 5M 10M 6M standalone or


Required
clienUserver network

Dalabase N/A DB2, lnformix, DB2, lnformix, lngres, lnlormix, Oracle


Server Ms/Sybase SQL [rs/Sybase SOL
Support Server, SQLBase Server, Oracle, OS/2
DBM, SQLBase

Technical One hour free by g0 days warranty Telephone License subscriplion Full technical support
Support telephone (maintenance support) applications service, BBS, Slrategic included with license
included with purchase consulting lree lor 60 Technical Account Rep fee
days: $12g/year (STAB) service
thereatler

Developer N/A VAB agreements Gold program for Complete ISV Program
Programs VARS includes
lraining, support, and
customer referrals

Paice $995 $2,500/module $695 $995 to $9,99s $1,500 to $96,000


$'10,000 for one each of depending on pladorm depending on
four modules and number ot users platform, database,
and user level
Flrst 10/86 1987 11t92 1986 6/89
Releasod

Next N/A 7 /93 7t93 N/A 6/93


Schsduled (v.1.5) (v.3.3)
Felgase

DATA BASED ADVISOFYMAY 1993 81


DATA BASED ADVISOR BUYER'S GUIDE

Sterllng Dev8loper Stsrllng ZIM SuporBase Sybase SQL Server


Product SOLwindows
v.4.04 v.2.0 v.4.9.1
v.4.0 v.4.1.1

Sterling Soltware Sterling Sottware Software Publishing Sybase, lnc.


Company Gupta Corp.
(Dylakor Division) (Dylakor Division) Corp. 6,475 Christie Ave.
1060 Marsh Rd.
9340 Owensmouth P.O. Box 54983 Emeryville, CA 94608
Menlo Pa*, CA 94025 9340 Owensmouth Ave
Santa Clara, CA 95056 (510) 596-3500
(415) 321-9500 Chalsworth. CA 91313
(818)716-887/ Chatsworth, CA 91313 (408) 9S6-8000
(818)716-882

OS2, Windows DOS. UNrX DOS, Windows os/2, uNlx


Operallt!g OS/2, Windows
System

soL Proprietary DBF SOL


Fils Format Proprietary
Support

N/A ZIM 4GL Super Basic Language TransactSQL


Prog. SOL wlndows
(sBL)
Langurgt€ Application Language
(SAL)

Multi-User

16M OS/2 2M 2M 8M
Msrttory 4M to 6M
R€qulred 4M Windows

6M 8M 7M 6M
Disk Space 14M to 22M
Requlred

MS SQL Server DB2, IBM DBM, i,lS/Sybase SOLServer, N/A


Databass DB2, lnformix, lngres,
Oracls, OS/2 DBM, MS/Sybase SQL Oracle, SQLBase, xDB
Seryel
Server, Oracle (via SOL Library)
Suppod Ms/Sybase SOL
Server, SQLBase

90 days free support; 90 days lree support; 90 days lree telephone Variety ol support
Technical License subscriPtion
additional support additional support support; minimal cost to ollered
Support service, BBS, Strategic
Technical Account ReP. programs available programs available extend telephone,{ax
(STAR) service service

VAR programs BBS, Partners Developer


Developer Cornplete ISV Program
Programs, Resource Conference
Programs
Catalog ol Shared
Apps, Joint Mktg.,
Developer Conlerence

$2,995 to $6,495 single $995 to $1,350 single $795 $1,495 to $256,160


Price $1,995 standard

r
user; user; ($199 competitive
$3,495 corporate
$15,500 multi user, 5 Price varies lor multi uPgrade)
usels usgr
8/88 1986 1984 1989 1988
Flrst
Released

New release 4/93 5/93 Non-disclosed


ltsxt New release 3/93
(v.4.2\ (v.4.0s) (v.4.9.1)
Scloduled
Fslea9e

82 DATA BASED ADVISOR/MAY 'I993


) DATA BASED ADVISOP igw BUYER'S GUIDE
Producl Vulcan Watcom SOL tor WindowBase x2c XOB-Server lor OS.2
Windows 2.0 v.'1.1 v.3.2
v.3.1
Company Emerald Bay croup WATCOM lntl. Corp Software Products Desktop Aj XOB Syst€ms, lnc.
2155 Verdugo Blvd., 415 Phillip St. lntl. 303 Linwood Ave. 14700 Sweitzer Lane
Ste. 20 Waierloo, Ontario 9920 Pacilic Heights Fairtield, CT 06430 Lawel, MO 20707
Montrose, CA 91020 Canada N2L 3X2 Blvd. (203) 255-3400 (301) 317-6800
(818) 248.08n (519) 886-3700 San Dlego, CA 92121
(619) 4s0-1s26

Operating DOS
DOS, OS/2, UNtX, os/2
System
Windows, XENIX

File Format Proprietary soL Proprietary, SQL DBF ASCII


Suppo

Prog, C, Pascal, Xbase N/A Proprietary Xbase dialect N/A


Language

Multi-User

Memory 5't2K 640K 4t\,1 640K 6M


Required
(8M to 16M
recommended)

Disk Space 300K to 800K 3.2tV 10M 3l\,,1 9M (minimum)


Rqquired

Database Emerald Bay N/A Developer's edition N/A XDB


Server allows for custom
Support driver development to
any server

Technical Free for 90 days gam to spm (EST) tree 90 days free Telephone, lax, Telephone, on-site,
Support tirst 90 days; BBS or telephone support; e-mail, BBS available BBS, newsletter, user
e-mail service also extended plans conference
available available

Developer VAR pricing to N/A Developer Support Priority support User conference
Programs registered developers. and Service Programs
available

Price $395 Xbase and C $395 (introductory $49s $7001o $3.495 $995 (1 to 5 users)
$199 Pascal price)
$27,995 (65+ users)

First 3/88 12/92 8/S 1 1t92 7 tag


Beleased

Next N/A New release 4/93 New release 4/93 New release 4/93
Scheduled (v.3.s) (v.1.50)
Release

DATA BASED ADVISORA4AY 1993 83


Bilows Away the tEomPetntnom
Featuaes

Data DictiooarY
I III I I
Design level Active Data Dictionary
Datafiles per form II
hdexes/ ielations Pet datafile
Iields per form II
Over 70 attributes Per {ield
7 user definable attributes per field II
Iorms can ac.e.s all DD's DBIIFLD atttibutes
scaeen Paintea II I
COLOR SCHEME $ethod for Clipper and FoxPro
Application simulation (255 levels) II
Virtual Screen (255x255)
Custom Code lnsertions (16,000 max per form) II
Multiple pages (255 paqes per form)
Application Cene.ato. I -
I
support for clipper 5.x and FoxPro 2.x
Multi-user code II
Multi-Jile relatlonal suPPort
Pulldown menus, popup menus, and Lotus style 'nenus
-I II
CDX support fo. FoxPro and DBFSIX driver
No PUBLIC variables in generated code II
Floating TBROWSE with scroll bar
support all FoxPro BRoWSE clauses and flags II
SHOW MEMO, BROWSE, LIST findows
I
Pi.klist and validation functions
Error trapping. Password and Sackup systems If
Cal.ulator and Calendar functions
,ilter/Exp.ession builder II
R&R support and easy integration to 3rd-pa.ty libraries and utiliies
Automatic MAKE racility to regen application II
Pre-written Order Entry application
I
I I
Template Language
I
Fastest template compiler/.untime
DBF ac€es5 functions
j
II
clipperlike array tunction
I
Low levelfile lO lunctions
Use.-def ined f unctions I
"l've made morc money usi"g STAGE than $4t5 ptus $10.00 ior s&lt
anything else I have bought.' cA resrdenis please add $40.841rx
J. Hokanson, Union Cabide lS Technology
lepr 210, Po.Box&7{2, L.A CA30064
"STAGE is mote @bust, more 'obiect'llke' 81&304.0614 Vlic€ 818.3M.0708 BBS
and vastly morc flexible than Ulz" ?aaaA*:Sazakc
SePt. 91, DBMS Magazine
FINST LOOK

. Application development
Borland
. Bo
.
and lntemational
dBASE tV
t Pertormance issues
fntroduces a
o Xbase
New, Faster
dBA,SE
By David Veale The dBASE lV 2.0 Controt Certer

C.t.log rools f,xit raEzlr!


dsasE IU conrnol cEnt B
BASE IV version 2.0 is the first
release of the market-leading CATAIOG: C : \DBEX 1\SMPLES\}NfiPLES. CAt
database management syst€m Data Labels I ications
built entirely by Borland
International. (Most ofthe code
in version 1.5 was inherited from CODES GUESTS ADDBOO'( ALLIIAIIf,'S cAxDol{Lv AREACODE
Ashton-Tate.) While, on the surface, not co rEflrs LOCAIOB coxtAcls C6RDBEC IIIUIIES BUS IIIf,SS
ETPLOYEE T{A ESANY O}JEC'S
much appears to have changed-the ]{ANES IADDCODf,S
I}IUDXIXI }IA ILALL
P ETELOG NECIONAL IIAIif,IAGS
Control Center interface, design tools, PEOPLBAX
and templat€ language are identical to PEOPLX
version 1.5-the new dBASE offers
greatly improved performance and
comes aa a protected-mode application.
Also, now you ca-o distribut€ compiled Filci
D€s.r. tpt t on : PFess ENIER or create a ne! file
applications as DOS EXE files royalty-
free using the dBASE Compiler for DOS
(see sidebar, -Ihe dBASE IVCompiler"). ]trlp:Pl Use:.(J D.ta:f2 DG,s lsn:slrlft-Fz eutct Xlpolt:Shtft_fg r|6ms:!1A
The compiler replaces the dBASE
RunTime available for previous
versions. For these reasons aDd others, management systems to allocate lnstallation
I think that 2.0 will gaiu acceptance as memory. Under DOS, dBASE has its
dBASE IV 2.0 installation is somewhat
a serious developroent tool. own virtual memory manaqer. The
dBASE memory manager ose" un simplified from earlier releases. Borland
A p?otected.mode dBASE editable configuration file to set parame- now includes an installation program
ters of the memory manage" and tune that'E consistent with aU of its other
dBASE IV 2.0 uses Relational Svstems
memory performance. The memory DOS products. Users can choose to
DOS/I6M extender to run dBASE in
protected mode with access to 16M of manager seems to be good at determin- install the software in either a single- or
i.rtg the proper settings based on the multi-user configuration. They also have
RAM. The minimum system require-
ments are an 80286 processor and lM of hardware enyironment in which it is a choice about whether to instalt the
run, so user turing is rarely necessary. sample files, tutorial, and template
extended memory. I found that at least
language and tools.
a 386SX with 2M of RAM is required to
beg]n to see a real performance boost For installing printer drivers and
over version 1 .5 . dBAEE IV 2.O customizing the CONFIG.DB configura-
With this version of dBASE, Borland Bodrnd lntcrnrtlonrl tion file, the DBSETUP utitity is still
forces computer users included and is essentially unchaaged.
with 8088/8086 1800 Green Hills Road
A full installation of the system and
machines or with less than lM of Scotts Valley, CA 95066
extended memory to upgrade their hard- (408) 438-8400 optional software requires about 6M of
ware or stay with version 1.5. For now, hard drive space. The DBASE.EXE file
Borland will continue to sell and support Pdcbg: $795; upgrades from is now just over 2M in size, aad, because
1.5 for those users not making the move. previoue versions, $99.95. Whea the program is now a protected mode
dBASE is installed on a I-{N, a application, there are no external
DOS/16M is DPMl<ompliant, so that overlay files.
dBASE can be run as a DOS protected- dBASE IV LAN Pack is required
mode application under Microsoft for each concurrent user (exceDt Language enhancements
Windows 3.x and OS/2 2.x. When run the first). I-{N Packs sell for'
dBASE M.0 builds on some of the
under Windows or OS/2, dBASE uses $495 per user.
enhaacements offered in 1.b (see the
the operating systems' virtual memory sidebar, "New Commands and Func-

DATA BASED ADVISOR,/MAY 1993 85


FIRST LOOK
Ll
l

r
t-
(
cl{0{ tions"). Forexample, 1.5 adiled rudimen- dBASE IV program clicked the mouse'
EI tary mouse support. and 2.0 attempts to Also. the niw ON MOUSE commaud
mate the mouse usefirl to developers' theoietically allows programs to branch
2.0 includes functions to determine on mouse events.
M.0's mouse
L' whether a mouse &iver is installed and Unfortunately, dBASE
to figure out where a user rundng a support has a serious flaw. When

ffi The dBASE ComPilet fo? DOS

cirriZw l n" orland's new dBASE


Compiler for DOS is the
such as CREATEi/MODIFY SCREEN,
REPORT, or LABEL. In addition, a
aucceasor to the dBASE line of code cannot begin with a macro
Now Wrih Wndows* APPliotions These language restrictions are the
RunTime system that waa
ln the (ipper language You available for Previous same aa those that aPPlied to
Aheady lhow with Gip-4-Win. versions of iIBASE fV. RunTime.
The compiler allows developers l,o When taking source code from the
It vou wont 1o wnie Microsoff' WLndows"
distribute unlimited comPiled comoiler back to dBASE M.0, the
odpllcolions wllhoui slrugglng wrth C or C++
clio4win is the onswen dBASE IV applications as stand- only incompatibilities that exist
alone EXE files. The EXE files have involve the compiler's preprocessor.
Crro-4-Wrn 0llows lhe CA-C|ippel 5.0 developer
lo ireote fi'ue Wrndows executobles lhol run most of the same capabilities as the The dBASE Compiler supports the in-
much fosl€r lhon lhose creoled by other applications running under dBA.SE clusion ofC-style header files and the
ClippsrMindows conversion ploducts IV 2.0, including multi-user support. definition of constants using s1'mbolic
Clio 4-Win olov des eosv. dlrecl occess lo lhe The compiler goes beYond RunTime names. dBASE IV 2.0 doesn't suPPort
wrhdows Apl ollowrnq vou to loke lull odvon by addi-ng a true, CJike, preprocessor, these constructs. HoYr'ever the dBASE
toge of ever!4hing Windows hos to oller
a linker, and a make facility. Like Compiler includes a utility to "pre-
i{o lrlanor linit! dBASE M.0,
applications compiled prociss" source code files, which
are vou lired of runnrno oul of memoM ll wll vrith the dBASE Compiler run only in replaces all the s)'mbolic constant
nevsr hoppen wm Clip-4 Wi1 becouse Wildows names with the actual constantB,
tokes core of memory monoqemenl l0r you. orotected mode. and therefore require
Clrp-4-Wrn mokes lhe trodllonol DOS bofliel at least an 80286 Processor and at eliminating the #includes and #de-
(640K) o dislonl msmory. least 1M of extended memory. fines that dBASE IV 2.0 can't digest.
W ttY.nt Drivri Soltv..n
Windows users expecl evenl-dflven sotlwore Compiling ptograms Gompilation modela
ond Clro-4 WLn srmolifies lhe cumbelsome
orocess 0r wnnng il Do YoL need CUA supporP The compilation Process will be The dBASE Compiler can comPile
it's eosy with CliP 4-Wrn familiar to those who have used other aoolications in two differeDt models.
compiler products. The source code In'the taree model, the object (DBO)
3rJ P.rtv Prd".r (orD.titiliv
tt vou hove olrmdvlnvesteo rn hiro portv prod_ (PRG) files are compiled into pseudo- frles are linked with the runtime
ucis lor CA-Cltpger, vou wlll be glod lo know code object files by a compiler utility. executable code, the DOS extender,
Itrot vor- con cdrihnue usino lh€se wih Clitr4 Win.
The resulting object code files are the dBASE resource files, and the
Anv brooucl thol co4lorn-s lo he Clipper Fxlend
S\/idm ouidelines ond does nol occess DoS then linked with runtime library files runtime library files to Produce one
h6rdw06 drreclly wrllwolk w h Clip 4-Win by a linker utility and the result is a Iaree EXE file.
I..rilllttl{t: DOS EXE file. hithe compact model, the object files
reou u cq c pper vmol 5 0 . vr@lwnd# 3 li 0
6-rr-o1.w,r
diruffmh€ xnd (Mn 6 Mi@ell ttsl5li,) {.fi 6our' The actual compiler is ideutical to are linked with just the runtime
;;;; r;'oror c cH o"d alsnbe, ond 'oL mnft).Esooc d executable code and the DOS exten-
i {*hrh shdrd b. l(, windoGdpoble the compiler which is Part of dBASE
Rr o oNm onY

i; der to form a much smaller EXE. The


w 2.0 that it produces pseudo-code
dBASE reeource files and the dBASE
AI{NOUNCING files rr'ith a DBO extension The DBO
Greo Liefs Ne\tr
files created by dBASE IV 2.0 and the
runtime library files remain as sepa-
Hand's 0n dio4-Wn lraininq cIBASE Compiler are identical. So rate files that must be available when
Coll for compleie deloils ond cource schedulE
program files which have alreadY the program is run. The comPact
Start Ulriting Windows Apps lodav! model saves significant disk Epace on
Leen compiled using dBASE IV 2 0
need only be linked to Produce an svstems where more than one
GttNOW
No Grunpy aJslorrersr 30 doy mo4ey bock guo'oriF4
EXE-you don't have to recomPile compiled dBASE application is
installed, since t}re same resource ard
IREE Demo Dirls anilable upon request. library frles can be shared bY all
Ditlerences with compiled dBASE applications.
dBASE rV 2.O
800 367-761 There are a few language incompati-
The minimum size of a large model
EXE is slightly over 1.8M. The
bilities between dBASE IV 2 .0 and the midmum size of a compact model
Grumpfish, lnc, dBASE compiler. The comPiler
doesn't support dBASE IV commands
EXE is about 148K (but when You add
in the size of the required resource
SOFTWARE & EDUCATION to creat€ or modifu database (DBF) anil library files the total disk 6pace
2450 Loncqsler Dr', N.E. Suile 206 file structures, nor does it supPort ac- required to run a single EXE is the
Solem, OR 97305
cess to the dBASE IV clesign surfaces, same 1.8M as the large model).
TELISO3 588'1815 FAX:503 588-1980
BBS:503 588-7572 CIS: 71064,2543
ats ewDrtsn h attl?tfibqenrd

86 DATA BASED AOVISORA/IAY 1993


FIRST LOOK

dBASE ry 1.5 first added baeic mouse typing in a command at the dot prompt
support, Borlarld received complaints or a prograE wa8 actively runnins-
beca-use the mouse point€r was always The mouse pointer reippears "when
on the screen. For 2.0 Borland rewrote dBdSE returns to the dot prompt or,
the mouse code so that the mouse wrule runnrng a progr.am, activates a
pointer disappears when the user began menu, encount€rs a READ, or runs other

The dBASE Compiler lor DOS

I know some dBASE users are going dBASE Runfime had arr executable
to scream about the prospect of 1.8M program (RUNTIME.EXE) which ran
"Hello World" progran. In fact, a
large-model program compiled with
dBASE IV pseudo-code (DBO) Dro- Get lloohd 0n
grams. The major difference between
the dBASE Compiler requires more dBASE RunTime and the dBASE
disk space thar the sa-Ee program Compiler is that the linker component Grumplish,,.
distribut€d with the dBAsE ry 1.5 ofthe dBASE Compiler combiues the Discover why tttousonds ol CIiDD€r develooers
RunTine system! But with real-world executable code formerly in RUN- use ths GrumDtish tibrorv to enhonce ttreri
applications, the size of the EXE TIME.EXE a-ud the DBO files into a progromming projects. ihe Grumotish LibroN
becomes less ofa factor. The EXE file enobles you lo instontly odd powtlr to your o[p-
single EXE. licotons without spendrng o tol o, tim6 codtng.
of a 5,200Jine program I wrcte wa.s Because the dBASE compiler is
still under 2M when compiled. The capable of combining all the compo- Why reinvenl the wheel? a (Grumpfish
EXE of a 20,000 line accouating sys- Sove your voluoble time
nents that make up a runable dBASE ond dozzle vour users wilh hos provided
teth was less thar 2.5M.In these days, program into a single EXE, Borland our useful flieto-fu nclions.
wheD it seems that even the most ba- feels justitred in cal[ng the product a 0 meons for
You con e{sily integrote
sic commercial applications arrive on compiler. Fair enough. Since the end our modules jnlo your me lo do mV
six or more high-deusity disks, atrd result ofthe product is an EXE file, I owil code within minutes job better,
hard drives of 100M+ are considered accept Borlaad's description of the of breoking lhe shrinkwrop.
foslet ond ot
the Einimun for any serious work, I product as a compiler. But users The source code f900k+ I
don't see the size ofthe executable as rs includsd Modity it to tit o for lesser
should be aware that the dBASE your exocl needs, os well
a black mark against the compiler. Compiler doesn't produce rncchine cost lhon
os leom the successful
To aid developers in distributing code executables (like Borland's C++ Clipper coding techniques wilhout.r,
their applications Borland provides a Mok Ans P@t souhd
and Pascal compilers do), and the of Greg Lief.
utility to split large files iuto pieces EXEs produced by the dBASE
that can fit on a diskette, arrd a utility Compiler have no performance GrumPfish LIBRARY bv Gr€s Lier
tojoin tbe files backtogether. Thejoin enhancements over dBASE M.O. lncludes. Pop-ljp ufl ttEs. not6pod,
utility can be freely distributed with Borland intends to sell the dBASE col€ndor spreodsh€€t, & colcutqlor
H6lp d€velopmenl system, Scre€n
applications. Compiler as a stand-alone product, poinler, Gen6ric dolobose browsar
and claiEs that developers don'|, need MOBE, over I00 conv6n6nt func-
lions, ooslhelic conlrols, @GET
Gonclusions dBASE IV2.0 to develop applications. exlonsions, plus much mor€
At a recent meeting I had with some This claim may be true for users who
repreBentativea from Borland,s have existing dBASE III Plus or Grumpfish MENU byrohn(asler
dBASE t€am arld some developers, a dBASE IV code that they simply wish
to compile for whatever reason. But
heated debate broke out regarding
someone developing new applica- '(One of the mosl
whether or oot the dBASE Compilei produclive tools
can rightfi.rlly be called a "compiler." tions, or enhancing old ones, will want
to have dBASE fV 2.0. The compiler we've ever used:,
It is generally accepted that dBASE Nicnobs tvon, Bob H&ing s.,twe
IV is an interpreter. Even though has no debugger, no design surfaces,
Now build elegonl menus ond DrololvDes
dBASE IV compiles source code to and no straightforward ]vay to creat€ efrortlessly Simpiv creote o teit oufli;e fite.
pseudo-code, it still interprets and or modifu database tables. You need hen choose lrom 7 msnu stvlss. Add hot kevs
executes prograEs line by line at dBASE M.0 to do any serious ond security levets for eoch itenu opton.

runtime- Except for the presence of a development.


more advanced preprocessor, the The dBASE Compiler for DOS sells CAI.I. IODAY
compiler component of the dBASE for $495. Owners of dBASE IV can NOGrump! Cusromers' 30 doy money bocr quoronla

Compiler does what the compiler purchase the compiler for $199.98. FREE Demo Disks ovoilobl€ uponrequest.
component of dBASE IV does, i.e. it Owners of Ashton-Tate's dBASE IV
produces pseudo-code which ie
int e rp re t e d, at r.JntiD.e.
Develope/s Edition will be ofered the
dBASE Compiler for free as a fulfill- 800 367-76
There's actually very little practical
difference between the dBASE
ment ofA8ht n-Tat€'B commitment to
provide a compiler for Developer's Grumpfish. lnc,
Compiler and the dBASE RunTime Edition owners, a commitment that SOFT\,I/ARE & EDUCATION
system which was available for Borland has pledged to tulfill. 2450l,s|coder Dr., N.E.. Su e A)6
dBASE fV versions 1.0 through l.E. Veale Solem, OR 97305
-David TEL:503 588-1815 FAX:503 588-19BO
BBS:503 588-7572 CtS:7I064.2543

DATA BASED ADVISOH/MAY 1993 87


FTRST LOOK

commands that cause a pause for user structure. Because dBASE IV shows the
inout. However, many dBASE program- mouse pointer only when the program
pauses ior iuput, ilis impossible to create
me.s *rite their programs to be event-
driven by using ON KEY stat'ement's event-driven Programs using ON
i inside a bO wHlt-E looP or a similar MOUSE-the mouse Pointer x'on't

I t New Commands and Functions

lllENtFNew. Executes a specified


AT(FEnhaoced. Adds an oPtional ON
in a
oarimeter to return the position ofthe command when certain Pads
Ihis lust irth o""ott"o"" of a string within a meau are select€d.
memvar or fielil, rather thall just the ON lllOUSE-New. Executes a sPeci-
first occurrence as in 1.5. fied command when the left mouse
Anot her lis h Sto ry, tt BARCOUNTfi-New. Returns the button in clicked.
Now therc js o slmple woY lo creole complex nuaber ofbart in the active, or speci- ON PAI)-New. Executes a sPecified
reoorls withoul coding. ll s kue Even youl fied, popup menu. command when a given menu Pad is
eid users con eosily creote their own repons.
BARPROiTPT(FNeW. Returns tbe highlight€d.
The Grumpfish Reporler is o complele stond-
olone leoorl wiler ond od-hoc querY monoger text ofthe specified bar ofthe specified ON POPUP-New. Executes a sPeci-
Our inluilrve inledoce ollows bolh Vou ond Your pop-up menu. fied command wheo certain bars of a
end users lo become ,.
immedrotely prod- "MUCh e0Sief ISMOUSE(FNew. Returns .T. if popup menu are higblighted.
uctive, withoulony t^ lo.rrn dBASE detects an installed uouae ON SELECTION BAR-New. Exe-
driver. Returos .F. if iIBASE doesn't cutes a specified command when a
:':f;P,:::Il!:f ffi',,00". tno"n'[Iii,, find a mouse driver. given bar is selected on a PoP-uP
With tho developer s edihon. *i:?.ii. if
link onv or oll ol lhe Repoder KEYMATCH(FNew. Returns .T. menu.
dirscllv inlo vour own obplicotlons. lnslontly the specifiedixpreseion ie found itr the ON SELECTION MENlFNew. Exe-
odd cuslom iepoding fsotures olong wilh lhe specified inilex. cutes a specified command when cer-
pre-defrned rcporls you creoled fol lhe sYstem
MCOIJFNew. Returns the column tain pads in a given menu are selected.
'(The most user-friendlY ond positioi of the mouse pointer on the ON SELECTION POPUP-New. Exe-
flexible end-user rePorting scree!}. cutcs a specifed commanil when cer-
svslem I hove ever seen:r iIE ORY$-Enhanced. Adds Pa- tain bars in a given PoP-uP rnenu are
-to
Port Sunnes Pob P@l CcFr.LrtnP
rameters retum the amoutrt of selected.
Grumpfish REPORTER E'[n,, memorv avai-lable iu total, in conven- PADPROMPT$FNew. Returns the
Grumpfish Reporler mokos il tional iemory, on the heaP, and being text of the specified pad of the speci-
simDle wilh on eosy lo use
screen Dornler ond rnteroclive
controlled by the virtual memory and fied menu.
orjpul aonhols. Also includes bufrer managers, RAT(FNew. Returns the Position of
exlensive dolo-diclionory,
possword secunlY dolobose MBOW(FNew. Returns the row Posi- a sivin strirg $rittrin a memvar, field,
linkrng pseudo-n€Es, tion of the mouse Pointer ou the or uemo begindng from the last char-
numorous query crllerlo ono
much much more
acreen. actei ofthe;tring being searched. The
ON BAR-New. Exeeutes a sPecified occurreDce of the Etring being
Grumof ish CLIPWKS,!* ** command when the given bar on a searched for may also be specified.
Now suodorb Lotus", Borlond's
OuoflroPioo, ond Micrcsofl Excel6 popup menu is highlighted. SET IBLOCK-New. Chaages the de
r'Just the tool to use if ON EXIT BAR-New. Executes a fautt size of the indexing block that
1lou dBASE aliocates to aew inder files.
sDecified commatrd when the high-
need lo reod ond write doto liiht is moved off the giveu bar of a SET DISPLAY-Enhanced. SdPPort
to ond from spreodsheels, poPup menu. for VGA 50 liae text mode added.
An excellenl product." ON EXIT iIENU-New. Executes a SET LDCHECK-New. Enables or dis-
' Lotry qsen. CUG ot Wslote NY
sDecified com.Eand wben the high- ables language driver I.D. checkiag.
li^ght is mwed off certain Pads of a sET MBLOCK-New. Changes the
IODAY
CATT 3cdoy
NO GrLrmov Cuslomersr monev bock guoronrm
menu. default size of the block that dBASE
FREE Demo Dlsl6 ovoiloble upon requesl ON EXIT PAD-New. Executea a allocates to memo field files.
soecified comnand wheu the high- SET MOUSE-New. Enables or dis-
light ie moved off a Epecified Pad in a
800 357-76 menu.
ON EXIT POPUP-New. Executes a
ables the mouse Pointer.
TIME0-Enhanced. Can now oPtion-
Grumpfish, lnc. specified commaDd when the high-
allv riturn a charact€r string of the
cuient tine to the hundredthg of a
SOTTWARE & EDUCATION ligbt is noved off certain bars of a second, rather than just to the whole
poPup melru. in
2450 Loncoslel Dr., N.E., Suite 206 second ae 1.5.
Sdem, OR 97305 Veale
TEL:503 588-1815 FAX:503 588-1980 -David
ASS:SOS Seg-ZSzZ CIS:71064.2543

88 DATA BASED ADVISORA/|AY 1993


FIRST LOOK

Enhance Database Applications with


while progra-o is running a DO
.app,ear
\{HILE
a
loop or similar commaadi. Electronic Forms, Logos and Signatures
_dBASE Mnctudes a SET MOUSE
ON/OFF command to control the
appeara-nce ofth-e mouse pointer. In 2.0,
/_(N
Borland should have let developers
decide- when to have a mouse pointer
available in arr application.
On a more positive note, dBASE IV 2.0
I xra;ir-fih-

N*fu
does a good job of making menus and
pop-ups easier to work with and more HP PCL Printer Macros & Fonts Stored in LaserJet
Memory I
powerful. 2.0 includes commands to
execute other commands when pop-up Energize y,our laser printer bv usi rtg M*ro.b.hzb
bars and menu pads are highlighted oi ro process ,print to file output, fi-om
exiled. These hetp greatly whin per-
forming such tasks is displaying help * Aldus Pagemaker * Borland Object Vision * CorelDRarW
text to go along with menu selictions oi I x FrameMaker + Interleaf * Lotus Ami Pro
restoring the screen differently &om the x Microsoft Word * Sigma?lot * Ventura Publisher
default when a pop-up is deaci.ivated. * WordPerfect
and, 8 populqlfoms dcsign products
An addition I welcome is a new set of lor
ON SELECTION commands, which fi- Smaller lile
Sizes Faster Donmbading and Printing and
nally add consistency to the way selec- Automatic Creation of Escape Sequence activation files for
tions-fiom menus and pop-ups are proc-
essed. In previous versions, you hid to casy infttuoration and, antrolof all r.araible data and printer
images.
process menu pad selections by issuing
ON SELECTION PAD commaads foi
each pad. But to process selecLions of E data with forms, report layouts, even duplex
]f-*T:",,-erging.of
( both $des) page printing.
bars on a popup, you needed to issue an
ON SELECTION POPUp command for
the popup as a whole. The ON I8 Multi-page formats can be combined (portrair and landscape),
SELECTION POPUP called a procedure expanding your multi-part forms capabiliry.
containing a DO CASE..ENDCASE
structure to determine what bar was
I
lS fti*inut loading. aligning, bursting, sorting and wasting forms
selected and to process the selection.
i - no more preprinted forms !
2.0 adds an ON SELECTION BAR
command so that individual bars can be
tE IP PCL rasrer graphics are optimized and compressed wirh
processed in the sa-me way as menu Run-LenSth Encoding, Delta-Row;nd TIFF 4.0 compression.
pads. Likewise, an ON SELECTION I
MENU command is added Eo that any
selection from a menu can be processed I I3F Ouptlcate fonb are removed from multiple form file s.
in the same way as from a popup. These fS PCX and TIFF raster graphics are converted to Hp font format.
additions allow you to select ihe best
\ray to procesa selections from menus I
lThis M$Wiadows
"inrelligent tool" even comes complete wirl a Gdd Regi6t-atioD
and popups and, more importantly, to be controller thar allows for ptcise data placement _ iombining downloaiing of
consiste , in the way menus and popups nles, data regrstratron afld merging of data.,on the fly,,for easiest tesdnf.
are handled in your progra-s--aking
i
I 3,
cooe easter to mamtarn.
Platform Independent Implementation
Other important language enhance-
ments are the ability to declare aIr array
to have. memory permitting. up to ) W, Compatible with Xbase and all programming languages
65,535 elements in a dimension, as I E/ Royalty Free !
opposed to only 1,170 in 1.8. Memo field To order call
block sizes can be up to 32K (minus b12
bt'tes). In 1.5 memo field blocks could (818) 906 - 1596
only be up to l6K Ard finally, only six Special DB/Expo '93 Fax (818) 906 - 2070
years after the introduction of VGA, MacroMechanii Price
dBASE IV supports VGA 50 lines text
mode.
$ 9g.oo --+ I

It'a f.cter! sfraEls


* Tin Jutl 30, 1993
Now that the program runs in prot€ct€d Synap6is Corporation Lrd.
mode-w"ith 5M or more of extended add $5.00 forshippinsand handinE
PO. Box 17002
memory-all the dBASE system code Encino. CA 91436
Califomia re(idrnrs aad 8.259. sarci b,
Soti:Iring Elz.tmnic Fffm and MIC,ti ttxer printing cttrtomzrs since 1987.

DATA BASED ADVISOF/MAY 1993 89


FIRST LOOK

can be loadeil into memory, eliminating


of ilata to find the record number ofthe
) overlavs and the need for dBASE to go -kev value. thereby hurting
perforEance'
L tn""ai"u for svstem code. With less a"seSn'" documentation gives little
eoid"t." as to how to use theusrng SET

al thanthat, dBASE needs to create a swap


fiie on the hard drive. But the swap file
system is still much more efficient l'han
the old overlay syst€m used ln verslon
1.5, leading to better performauce'
IBLOCK command; it suggests
irial and error to find the best setting'
the best IBLOCK setting for a file will
"h"nr"
ou", time as the number of
recorts distribution of data
2 .0 also includes an int€lligent internal changes,"hatge.
and files are used in relation
cachins svstem. dBASE no longer *itU"otft"t". I recommend you tune the
inctudeijr needs-the Hperdisk disk IBLOCK setting fr equentlY.
cache that accompanied earlier versions' You'll probabiy experience the most
It's a lhink lonk.., The internal cache holds data and
indexes and is optimized to work with
dramatic performance improvements iD
Eite. or"otion". In previous versions of
dBASE's file structures. The result is dBASb. SET FILTER TO WAS A
stellar performance in alata access and command to be avoided because it could
index iearches. I've found (and the make a svstem slow to a crawl' espe-

,*,ffim
Poolino the knowledqe of the finesl Clrpper
exoeda in lhe field todov, lhls publicolion
documentation conirms) that 2 0 runs
sliehtlv faster without an ext€rnal cache
suih as SmartDrv.Exe or PC-Cache,
since CPU clock cycles aren't wasted in
double-caching ilata, ancl more memory
ciallv if th; file was filtered on one field
whiie indexed on another' Earlier
dBASEs tried to reduce the need to set
filters bv allowing conditional indexes
(usine IiIDEX FOR aNd SET KEY TO).
or;vidss enliohteninq, tnslrucive inlormolion is left available for dBASE. However, if Condltional inderes were a flawed solu-
bn ClioDer proolomming, wilhout putling You vou choose to use an ext€rnal cache, you tion because it often meant maintaining
lo sl€€D. The Aquorium's qool is lo moke you ion't have to worry about increased several indexes used only for specialize'l
os orot uclive os oossrble in vour Clipper
endeovorc. Aulhors like Greg Liel. Joe Booth, danger ofdata cormption, as is often the queries, a time- and disk-consuming
Kent Kinoeru. Ted Meons, Clolton N€ff ond case when multiple caching systems are Drocess.
oorren F6[cier will educote ond entedoin you used. Borland has heavily optimized filter
tt technolosy in dBASE IV 2.0. I built a
I receive Reference(CliPPer), In addition to a cache for indexes, 2.0 20-000-reiord database and used SET
Comooss, DBMS, ond DBA, also allows users to set the size of the FILTER To to set a filt€r on a single
index blocks (or noiles). By default, field so that onlY eight of the 20,000
ond iind Aquorium to be the dBASE allocates 1,024 bytes per index
most inlormotive." records would meet the filter condition'
Ro, Doce, llhnois catnnaTe cann,sslm
block. By using the SET IBLOCK The eight records were distributed fairly
command, users can increase the size of evenlv throughout the database l then
w h Aouonum vou con rsod odicles ond the index blocks for a file in 512-byte tried doins a BROWSE in both dBASE
occomionVing iource code simulloneously,
seorch bv litle. oulhor, dotes or key words,
increments, up to 32K bytes. dBASE IV M.5 and 2.0 to see how long it would
cross relarence our index ol bock issues os index files work by storing key values take to find and display all the records
well os ihe index of orlicles in olher Clipper and record numbers in an index block,
oublicolions. PLUS, oul unique lnlegroted that met the filter condition. Both 1.5
calleil a leaf node. When the leaf node and 2.0 initiallY took about 10 V2
Messooe c,entel ollows you lo sosrlY
conesdond with our oulhors, Clippsr
fills up, dBASE allocates parent noiles, seconds to display all the recorils. I
developers ond olhet experls vio modem which also contain keY values But exited the BROIUSE and then ran the
instead of containing record numbers, LIST command to display the same
"lt'slike hoving your own these parent nodes contain poinrers to recorils. 1.5 took the same 10 V2 seconds
reseorch teom. lhonk VouT' the n;des that contain the record to disolav the records because it need8 l,o
ttnnhto P;tDTDla Coatlal Fenetol
numbers. In large indexes, parent nodes the 6lter each time the file is
may have parent nodes. Thus, to find the
If,ff visibte TBrowse recoril number of a key value in art index,
""o.o"""i
searched. However, 2.0 displayed the
Sove hoJrs Dv,nE.oclrveY deslgnlng cLslorn TBrows€ eight records instantly. In fact, on all
obiecls ]'hsn'oulomolicoliy g€n6lole fu lly ophmized dBASE might have to search through su-bsequent acceases to the records,
CA-CIrooer 5 0 code. Ilis qreol produclivily l0ol !s
yours'FhEE wilh your poid subscrlplrcn
several layers of parent nodes until it dBASE M.0uremembers"
returned an instaut
works its way down to the node contain- response. 2.0 what recorils
ing the record number.
me;t a filt€r condition the first time the
CAI,T IODAY Bv increasing the size of the index file is accessed after the filter is set. A'6
FREE SOMDIE |SSUE
ovoiloble upbn request. blocks, more key values can be stored in long as the filter remains in place, 2.0
the leaf nodes-reducing the number of doesn't need to reprocess the filt€r'
parent nodes. Thus, the time required to dBASE M.0 is also much faster at
800 367-76 iocate a record number is reduced. The
trade-offis that dBASE must read entire
processing filters on indexed files. Using
ihe same 20,O0O record file. I once again
Grumpfish, lnc. index blocks from disk. If the index block
size is large, and the value for which
set the filter Bo that the same eight
records met the filter condition. But this
SOFTWARE & EDUCATION dBASE is searching is still eeveral time I indexed the file on another fie1d
2450 Loncoster t
., N.E-, Suile 206
lavers of nodes down in the index (not the field the file was filtered on).
Solem, OR 97305
{clespite the increased block size). iIBASE M.5 took 50 seconds to 6nal
TEL:503 58&18 t 5 FAX:503 588-1980
dBASE will need to read a large amount and display the eight records when I rarr
BBS:503 588-7572 CIS:71064,2543

90 DATA BASED ADVISORiMAY I993


FIRST LOOK

a BROI{SE. Subsequent LIST and However, dBASE M.0 still


BROWSE commands also took about E0 has developers to the t€am. The evolution of
significant enhancements. you need to dBASE may be happening slower than
seconds. But 2.0 took only IE seconds to be far less concerned with available
initially display tbe eight records and all some had hoped. But dBASE IV 2.0 is a
memory. And dBASE should now lose its great leap forward and confirms Bor_
subsequent searches returned an reputation for sluggishness. This
instant response. land's commitment to dBASE.
release gives dBASE a new lease on life.
This filter optimization applies in all Borland's purchase laEt rrear of David Veale is Vics prssident ot Veale and
circumstanceg wh ere records are WordTech System's Arago technology Assgclates, lnc., a consultinglirm spgclaliz-
selected based on a criteria, including all rng in mulllmsdla computsr_bassd tralnlng
grves them access to top notch database programs, Davld can be reachsd on Com--
commands with FOR and WHILE engine code and adds several excellent puserve 74006,576. O
clauses and. ofcourse, when using query
by example (QBE).
The results are most dramatic when
accessing data across networks. dBASE
fV has never been known as a speed Q. DO YOU WANT TIIE DASI OT'A REPORT WRITER?
demon-on l,ANs, but 2.0 goes a long way Q. DO YOU NEED THE POWER OF A LASIR PRINTER LIBRARY?
toward reversing this reputation-. My
colleagues and I tried running several Form Design and Postscript/
types ofqueries against multi-user data-
bases on our LAN Server network using
A. t FCL Laser Printer Libnry in One!
both dBASE IV 1.5 and 2.0. We found
that 2.0 was-at a minimum-three FOLLOW THESE SIMPLE STEPS
times faeter than 1.5. The t€st started l,) Draw your form, repon orother outDut in 2.) Press and genemte
with a simple LOCATE FOR on a single, a powerful WYStwYG design tool.' complete native
non-indexed file. In our most extreme Xbase/SymScripr
test, we did a SET FILTER ou a 80,000- Er. Edh s.rbs. {.tc source code
record fiIe that was linked to three other
files using SET RELATION. We then E t ffr iXffim'ffi
ran a BROWSE using fields from all four
files. It took versioo 1.5 a minute and 45 Ah.rtc.n Wdg.l Crou!
Code
seconds to display the 20 records that
met the filtercondition and perl'orma)lce 3.) Run your repons
didn't improve significantly on I in Xbase for the
subsequent queries. dBASE IV 2.0 took ultimate in tue
only 28 seconds to initially display the database publishing!
records. Subsequent queries took less
thar two seconds to display results. One Combirc the power ond ease oJ a WSIWYG fonn and rcpon de[iEn ,ool, with the
exception: If a user on the network fl1xibllity ofa laser-pinter libmry. As a design tool, you'can quicib design your output.
chaaged any data in any of the files As a.laserprinrer libmry, Jou have the ability to handle compilex ,,in-the]Jly, databie
involved in the query, dBASE IV kaew publishing situations. SymDraw and Symscript combine thebest of both iorlds yor yorn,
that the data had changed and reproc- repon, graphic and any other asped of dabbase publishing.
essed the filter condition, bringing re-
sponse time back up to 28 seconds for the SymDraw - A Form and Report Generator for Symscript:
first query following the data change. * WYSIWYG tool to design any ourpul
including all features found in most Desktop
Publishing Packages,
!n conclusion
dBASE M.0 is the beginning of the ]kls.a:rngtc bunon and SymDraw willproduce native Symscript/Xbase source code
(.PRG). Simply go into Xbase, and run your new report.
next generation of the dBASE product
line. By abaudoning real mode and SymScript - The Ultimate Laser printer Library:
putting atr emphasis on speed, Borland
has made dBASE more competitive in
the PC database arena and sei the sl,age
for future enhancements.
I have some disappointments with this
release, such as the lack of Borland /X\/7
t€chnology. The iDtegrated development LII
environment (IDE) from Borland,s other
language products, a decent editor (yes,
the MODI COMM editor is still here,
unchanged), an API, ald suDDort for
IDAPI were all on my wish list,-but, alas, "SymScript is a powerful, must SynrDral, & SymScript
I didn't find
them. At the very least, i productlor Xbase. I liked it so much , I S249 toyalay Fr€e
expect€d dBASE to be rewritt€n using Hallogram Publishing
the objectoriented programmitog t€ch- inteBrated it into my teaching seminars.
1532 South Dawson - Aurora, CO 80012
niques that are Borland's claim to fame. -Adam Green, Xbase Guru Phone (m3)752-20t6, Fax (303)752, I 646

DATA BASED ADVISOF/MAY 1993 91


For the finest in hands-on
aa
Access'& FoxPro ffaffing )

learn fromthe fts oaa


Flash Creative I ment
Flash Creative Management's comprehensive and
unique approaches to training have been hailed by
.otpotite America and individual consultants.
rq,&
r
&x'
n TT
tl f}'r

Training by industry exPerts State-of-the-art f acilitY On-site customized


Each trainee is assigned a 486 DX-33
training classes
Flash professionals have been
featured at major conferences; computer, assuring hands-on Flash training classes can also be taught
authored ForPro Codebook, The
Tfte erperience l}lat maxilnizes training at voal office. We customize our classses
FoxPro Programmer's Reference and time. Big screen proiection allows you toiocus on your company s software
Volrrme Five of Tfi e Pros Talk Fox to studv the instructor's everv move. development issues while teaching you
series; and contributed to leading the skiils necessary to deve)op efficient
industry publications. Srnull clrrses, and maintainable code.
personalized attention That's why companies like Microsoft,
Our kainers include Menachem
Bazian, CPA, Yair Alan Griver (YAG), AII classes have a maximum of ten AT&T, Martin Marietta CorP.,
Bill House, Paul Johnson, students. This means individualized British Airways, and A.C. Nielsen
Leslie Koorhan, David Lederer, attention where your questions and have turned lo Flash for training
Ari NeugroscN, and Ed Ziv. needs can be addressed. and guidance.

To get the most from Access & FoxPro, inch$ing the nel version 2.5 fot
V4ndows"andDDE/OLE'contzrctthepeoplewho.y-r-,o,19-,*Sk"h.*.Hg"P3

F ffi x:'!;:!t":;:#:;:ffi:'r,!.:::;
creotive monosement inc. (201)489-2i00 FAX (201) 489'6750
and *ai n in g
Parlner
SOFTWABE BEVIEW

. Errcr handling
o Extend system
CA-CIipper:
.
.
RDDs

RDD9 sFciticatton Newly


Ertendcd
WithRDDs
By John Mueller, Technical Editor
the DBFNDX driver to support dBASE
CA-elbper S"z IJ I PLUS_requirements. In';ddition, the
Conputer Associates DBFNDX, DBFMDX, and DBFI{IX (na-
ver see those ads on TV that One Computer Associates plaza tive Clipper) drivers sport anew feature:
tell you a product is unew and Islaadia, NY 11788 multiple record locks. This means you
improved" even though you (516) 342-5224 can. tackle so me of l,hose thorny integrity
can t actually see most ofthe problems that plagued earlier verJioni
changes? That's how I'd de- Pricing: 9795 ofthe product. The DBFMDX driver al-
scribe CA-Clipper version 8.2, recently Competitive upgrade: g199 lows you t access the multiple hdex
released by Computer Associates. 5.2 ii htes supported bv dBASE [V. while the
a long-overdue update that goes a long DBFCDX driver allows you to access
way toward easirg the problems experi_ FoxPro compound indeies, and the
enced by those who attempted the up_ DBPX driver gtvea access to paradox
grade fiom Summer'87 ana failed. Ea;_ data.
lier 5 .x releases were noted less for their those bugs. ln addition, it provides bet_
vastly improved feature set and more for tererror messagesthat helpyou find the
the Bteep leamhg curve and buggy en- source of the problems. lmproyed terminal drivors
vironment they provided. Wf,ii" tn" In line with the environment theme of
lea.rning curve is still steep, this new The big new3: a new this upgrade, Clipper now suDDorts a
varie$r ofterminal drivers. you ian use
version ofers hope to those ;ho want to language environment three drivers in place of the standard
make the transition. This version of Clipper is uaique in driver for a variety ofpurposes. For ex-
another way. Previous versions have al_ ample, the PCBIOS driver uses BIOS
Bug fixes ways concentrated on improvinqthe lan- calls..instead of d irectly manipulatiag
guage. CA takes a different ipproach
_Of course, the big news is bug fixes. with Clipper 5.2 by improving ihe lar_
the display qdapter memory and regisl
lhts new version offers not only a less ters. This allows you to create applica-
bugBy environment, but more aids for guage envrronment. This means that rlons tor envlronDents where direct
finding bugs in your applications. For while the language remains somewhat hardware manipulation is detrimental
example, both TBrowse and TBColumn stable (reducing the learning curve for or unsupporbed. Want to run your Clip-
sport new error handling features. In those who ve already invested the time per application under OS/2?,Ihis driv;r
previous Clipperversions to update to previous 5.x versions), you provides that additional level ofsupport
lou could send can use Clipper in manv new environ-
mvalrd data to either TBrowse or TBCo_ you need to make sure thai the appiica-
l"-1 . *9 they'd gracetully accept it, ments. There are two main areas that tlon works on all the systems vou need
res-ultrng !n aJmost immediate program CA concentrated on: repl aceable it for.
failure from some mysterious cause. 5.2 database drivers (RDDs) and terminal
pncl'rdes error trapping that handles in- driverc- Ihe NOWERM driver provides a com_
valrd rnstance variable values. Likewise, pletely different level of support. Some
remem ber-the terrible memory manage_ lf ew!-Reptaceabte Database people have experienced problems run_
ment problems in version 5.0 that were Drlver!. (RDDsl nmg their application on non_dedicated
addressed in a somewhat lesa bugsv ver- network servers. (One of theee situ_
can now work with a variet5r of ations was the non-dedicated fi Ie servers
sion 5.01? The new release frxes iny of -_Clippe-r
Xbase data foroats. CA has improved used by some NetWare 2.x installations;

DATA BASED ADVISOF/MAY ,I993 93


SOFTWARE REVIEW

\r hence the name


or TIGA board bY
loading ANSI.SYS in
NOVTERM.) This This new version CONFIG.SYS. Since
driver allows Your many display adaPter
application to ruD
- ,t. safely in this envi- offers not only a less manufacturers Pro-
{ vide special versions
ronment. of ANSI.SYS that use
The linal driver, buggy environment, the features of their
ANSITERM, allows display adaPter, You
you to suPport some
terminals that may
but more aids can now access these
(ome to 0u Sthool.,l have required You to
features within CIiP-
for finding bugs per. Any ANSI.SYS
Gtumolrsh lnc. Drovides lhevsry b€st in honds-on resort to using the command you ca:r Put
hoinrio ot oul Solem oregon sducofion c€nrcl extend system in the into a batch frle is
w6 ipE"ior,ze ,n cn btippdr 5.0 developmenl oast. For examPle,
I trorniho. ond ouI studenls leove wilh nlgn - accessible to Your
person-ol sotisfoction ond enthuslosm'
ioo use this application.
"un
"rlriverwith an XGA
our lroinino moleriols ole prepoled by our
;rimoN rns'iruclol GIeo Llef. Mr. Liefis co-oumor
k iiibiiii, i
biveabers 6urde (M&T Books)' 5.2's RDDS Detailed
hos dden o feotured speoker ol l0 U.S' ond
rnlernolionol Clippel Developels cofl elences,
ond hos looosd mony lhousonds ol nouE tle Matt Whelan ComPiler Kit (now
oxploring lhe dsplhs of CA Clipper b 0
called the CA-Clipper/Compiler Kit

M' ---
=Grumplrsn
.,
Yi'J,[fJ8'
B Bo'Pt
nl-83fJffi ,,
cd_P'std'dcolo'o'ol'
ior dBASE rV), bui that was the onlY
other RDD they produced. Al1 others
r ere created bY third-PartY
developers.
IN-HOUSE TRAINING with CliDDer 5.2. Computer Aseoci-
S
.ttt tu to c/!-Cilotct
-;;;
.CA.CWN 5 Ob!.ct Ck6sos
(adv)iii'aoreoo €ro"io' at€s hB8 m;de good on the Promiae of
r ld;;l'd;"*
C,oog
nriw lo ClP0.rs lour oDl€cl ooss shipping multiple RDDg with the latl-
"nLie,v
.c!4n,of, 5 tltt ,cnanltr,g 'CrWd afaabd figgnnnkg
/;ftm i' A'r rd o snono vth U'C W s ittcen)
.rr"ee. Vereion 5.2 atso extends the
i iiiiii,i 6n-'i &:crri"i s o L6on'ro 6 sdooi] obrec'o Hrnciionatitv of the origiral RDDg by
;wi:;i^m, wlw)ffi,
trffil,1l"Ll',,1?#""",ffi 3"*fr#F,3"
allowing multiple drivers to be used
concurr-entlv. ln Clipper 5.2, each
,rnprcve o€rcmon@
work area can use a clifferent RDD'
iiitc.hons n cA ctapt
which means that multiPle RDDs
Everv sfudonl leceivos p€rsonol ottenhon, 0
iombrenensive orinteo monuol, numerous cod€ mav be ued simultaoeously. It's even
;iodioles on drdkefle, voluoble CA-CIipperS 0 Dc;ible to set relations between work
,iirirvirooioms ondAquorium M8ssogeThreods areas usins different RDDs.
covdrihg 6wide longe ol clipperlopics. Drivers for delimited and SDF Eles
ttBest volue for lroining l've l
are also ilcluded, but theY can be
used only forimporting and exporting
seen, lhe documentotion.. I
data, not for anY data EanagemeDt'
DBFNTX is the default driver, and
exist€nt. is included automatically unless Clip
NaDtucket eveDtually Produced a per is told to use another default
;rrrriiseffiifr.,"#l
No hme for school? Now studY ol youl own
dBASE IV RDD. which shLiPPed wit'h

I ooce wilh lhe ofliciol Grumplish course norcs'


In-inexoensue option to lroining, includes oll
I moteriol covered ln our courses. b Dool(s Clippor S.2 shlps wlth the lollowlng drivsrs:
ovorloble in oll - qreot r€ference moleflols'
tormat
I DBFNTX DBF witr Clipper index and memo files
outlines ond (Vsrsions Summer '87 and 5.2)

DBFNDX DBF witt dBASE lll PLUS index


and rnemo fil8s
I !
DBFMOX DBF with dBASE lV index and memo files

Grumpfish, lnc. DBFCDX


(Versions 1 .0 and 1.5)
DBF with FoxPro index and momo files
SOFTWARE &
EDUCATION (Versions 2.0 and 2.5)
2450 Loncosler Dr., N.E. Suile 206 DBPPX Paradox dab and index lilEs
Solem, OR 97305 (Version 3.5)
rLL 503 588-1815 TAX.503 588-1980
ees'soisaa 75i CIS: 710642543 2
'!993
94 DATA BASED ADVISOF/MAY
SOFTWARE REVIEW

..1

l{ew APls effort) to direcdy ac-


I t[
Speaking of the ex- Version 5.2 also cess parts of the Clip_
t€nd system, this new per enyironEent that -ffi_
version of Clipper extends the you couldn't get to in
contains some addi- the past, (Of course-
tional files in the IN- functionality of the Clipper hackers have
long accessed these
CLUDE directorv-
The filee contain "C original RDDs by portions of Clipper,
header files that are but now CA proyides
fully documented in allowing multiple the tools required to
the Clipper Norton fully use these fea-
Guide. You can in- drivers to be used tures.) One offour new F*-ffi-**;xtffiL--*ffi
clude these files with APIs is the Extend
your C modules (as- - concurrently APL IT's really a re-
named EXTEND.H
Clippe\ FoxPro, dBase, an.t C Use^ _ add
sembler w.ith a little plcfures and documents to youldatabases
with
with a few standard C the T-BASErV library. Jusl add our routines
ro
your code - and you have instant
imagesl
5.2's BDDs Detaited T-BASE acceprs mosr popular image formats
,ncluding PCX. GIF. IF, TCA- DCx &
BMP. Create rhese imag€s with color or
&iver. can ru-o existing Clipper a
black & white scanner, ora video diSitizer.
.You.
code usirg this driver withorit ch ange.
To,r-tse on-e of the other RDDe, you
need to make some minor chaDces to
your code. At the top ofevery pro-graar
rrtai wrlt acceas the RDD, add a line
that iocludes the new REeUEST
statement. In addition, the RDDmust
be specified as part of the USE
comraa:rd-, The followiag code opens a
alq createa a Foxpro index
llr with
rrte two tags stored in
CLIENTS.CDX:

FEATURES:
Rlot Esl! DBICDX O Super-VGA, VGA, EGA, CGA or moDo
fuactLon EAlJi( ) O Display one or muldple rmages in any
Iocation wilh/wilhout exisring texl
ur. CLfE*Tg vl. TDBFCDXi E B O HP Laseier ll4lt printing
lEd.r. o[ !|lIE tag mtGg to , NEW
CLfBITS lot l/e6ion 3.4!
Lad.x oD ID tag ID to CIr:BrIg O Hicolor 32,768 color suppon oD SVGA
O TIFF Group 4 and DCX suppon
r6lura (Dll ) O Direct scanner suppon for Hp scannen
O Store images iD Foxpro 2.0 memo fields
O Auromatic Sa,{Z/VG ofimages - fil imaees
you've opened a table r'ia an !o a window. rhen zoom to full size and
NDD, you carr use all of the standard scrol I for closer inspec tion
commaods on it. SKIP, REPI"ACE O Automalic color correclion for multrDle
REINDEX, etc. all work with Fox.ho, VGA rmages with drfferenr Datenes
Paradox, aad dBASE IV files just as O Uses software fonts for lexl re-disDlav

they do with Clipper's file formats O Aubmanc scaling ofprint imaEes


Unlortuaately, frleJockirrg compati- O ChromaTootsrM. rhe premrer graphics
converter, bundled FREE with T-BASE
bility is provided for dBASE lV only NO ROYALTIES - Dstribule your
this means that while Cli pper aup- Dicture
database application ro any number ofuseE!
port6 conpatible file formats for the
other database engines, you'll likely
have problems sharing the files vrith
their parent progTama in a networked To order or for information
applicatioa. You can uge , create, and
Eaintain Paradox and FoxPro files, Davld Rlchardson la a Ssnlor proqram-
Catt(800) 9A-V|DEO
rnor/Anatyat rrhh tntet CoDoraflo;.
butyou calr't rurr a networked Clipper
c8n io ,olched tk VIDEOTEX SYSTEMS, INC.
application while sharins the files on Compusorv€ at
with Paradox or Foxpro. 8499 Creenville Ave.. Suite 20 5
Da as, TX 75231 IJSA
4 3 43 -4500 f=;:,
BB a:
348-3 82 1 Gd
4 34 365

DATA BASED AOVISOB/MAY 1993 95


SOFTWABE REVIEW

I
le StarClass'
@ tt (CA
tvoedefs added for good measure
, ho $ a[lIners t}t" file t; API for
N eu class es fo I c A c Il' e r
p EXIEND
"i,lr-"a with the other APIS; cApro-
consistencv
the flrst fiue class l[, rae 5 for refer-
yo u beyond the fix ed C lasses lnto one of fmBI'fO.H fite which
$arcla55i
prograrn merS wh o rxant to apPly ooP to
th€ll real -llfe "iJ." tt"" SXIEND.API file for compati-
CA-CllP pel 5. $archs5 ls td eal fo ooP """"" " p.."ir"s versions of Clipper')
Programm lng prob
em5 and for progialnm€ is lust l€amlng ii'ui, #tn
The ltem API altows You to create'
gOBE -odif* u."""", and retum iteos
be-
Full ifyou
t*-*"'itipp". -a C tor assembler allows
,""iI"
't" pirip* techniques) This
- ra€lass is one of the first true class IhG Glasses
,"" pi"at* structures or nested ar-
)tibraries for CA-clipPer 5 oI lt
lt
Sta(lass is a User Interface class library' that You can use in both
classes with mouse The most important as-
provicles new classes for CA-Clipper Drovides event-driven
suooon for windowing. browsing edidng'
";;";fa;i"
",iriron-ents.
oeci of this API is that it allows you to
programmers who want to move ,
sciolt bars. background processing and
much iiJut" ed extemal modules
bevond the fixed classes Provtoeo ""1.f-"o.rt"it the extend system'
ihat don't rely on
wiin Cn-ctipper' Srarclass is suPPlied more.
provides access to ar area
The GT API
as stanclalone classes that you iust thai iust about every Clipper developer
link in and start using as you now use "Stalclass is a Steat way to stafi using
r.^." Jr""t"a to use: the 'general termi-
TBrowse, GET, etc... OOPs....l've found it vetY easY to nal" module of Clipper. This area ma-
merge its obiects into existing nioutates ihe displiy and allows you to
applications." Al Acker' in a sftctacular way The
the Progtammer new to 5.01
tol "r!*"ia"t.
I-iife.ation of tttlrd-party libraries that
Refcrcnce (CllPP.r) 'ritow vou to display the data in diJIerent
The Dowerful classes allow you to use the
CA-ilipper fixecl classes withoul needing to "l find Starctass to be a very well *uv""ontv to underscore this
know all the inlricacies. Powerful browsers ooint. With ""tt"i
the GT API You can now
designect and implemented libtaty"'it
is
yor. own low-level display rou-
of code
can be created with iust a fuw lines " "r"ut
a Srcat OOP leamins tool iiries ihat ultimatelv makeyour applica-
Darrcn forcler, fhe Aquadum tion look unique
t0r thc CA'Clipper 5.01 P]oglammel The \/1\,I A-PI Provides the means for
"Staolass is a solicl libtary of clxses for using the Extend
Sta(lass provides full source code' -"tiput"tirg -"-ory prob-
Programmers will have examples olan Clipper 5.0 t . Any developet wanting
to svste^m. tneie are many memory
extensive class hierarchy Application learn more about obiect-o ented
ii.tl"ith t "nt "pplications that sim-
ol" "t
di"upp""t orr* i6e programmer has
development time will be greatly reduced programming woul(l leam a great deal [il""i .ii,""" to tfie memory routines'
" C module to the end
from the classes Provided fo.
tor the AdYanccd User Paul Plko, Melbourne CIIG Cllpplngs oi uoot appii""tion and call it repeti-
"*a*pf",noof "

Although Class(y) is not required to use the


iirlU uuli-tt".ttv vou'tl end up either
use
exhausting system memory or corrupt-
Starclass classes, Class(y) owners could A tull demo (SCoEilo'EXE) is auailable 0n ins CIipPe;'i memory. The solution to
them as a foundation and inherit ftom them ComDuservE in DBADVISoR lorum
0[6' i't i oi66t"- i" to ttave vour application
same method
into their own
"tU"I"t"
-"-oty
""ingihe
In this wav Clipper
specialized
irr"i bUppu. d6es.
can keeP [rack of sYstem memory as a
classes.
StarClass L,O. E 3 .G .E'tl whole. The result: fewer memory-
r"i"i"a p"ott"-" when You use the
Software, lnc extend system.
1712 Avenue Road, Bor 54505
Toronto, ON, Caflada M5M 4N5
But walt' thele's mole!
Several other improvements in this
Iel. (416) 784-3618
version of Clipper fall into the nlce'to-
Fax (416) 784'3768 have category. For example, Ullpper
afrtS version 4 0, which
ooP oBItcrs BBS (416) 784-9712 ""* ."""":.tJ
itiut yo" access up to 32M of
Compu Serue 74326,1174 -""tt" "*
your application usrng a
-i1owith
memorv
CLASS ilrrvr driver. The bad
LIBRARIIS CLASSES "o.i"tiule
news for network useB is that you must
a" gMS puge fiame in order for
CA-CLIPPIR $1s9 lJs (US &
"itoc-at
Clipper to recognize the EMS memory'
PlLssl andnadfing
PPing
Can $15 US; olh.I courtrira, Plaase
with the ever increasing use ot upper
col act Loesg6nsolh al. Gdlt' memorv to load TSRs and device drivers
orde6, phasE add anDlicatle lar6' high, you may find that creating a page
iiimJ the conventional
vlSA, astocad'
An*x,
Ciect, Isonet odcr memorv"ould-t"duce
available to run applications
a brarv publshe'r bv Oqecrech rnc
MeG Slalclas includes a tunlne veEm ol clais(y)
arlrEdema*s are th€ popedv or $en rcs'sr6@d

96 DATA BASED ADVISOF/MAY 1993


SOFTWARE REVIEW

lmploved suppott for obiects experience with the product very minor
-a
Object o-rientation gained little
-i
il!"1!pr',.".!tff :Eiti:*i}""tj.,iTj'.H,i::IIii*0.*",*," ,
fTS f:l|;X"Jffirf,f;ffi,;T I*
.a""*.ic"ri#i]dlJ',, tr," .igr,r or
sreadorpeJormi,,fal;i"#i;iJ,l,',fi :L:HlXtJirr"l",#,"Jrtrlff""t
wrthin- a DO..WHILE ioop, the. new
tu..itt,iSsiE
ff :
method lorces ar entire stabilization of - gor," .*"y *a
Ca nu" "r.o.l.t "ul
1il'L."l.,irrg
the TBrowse obiect. Essentialty this "{r;;; ""-"-"i""j on""
Eeans that inst.ad of srabilizing the ";;;-b*iji.ro.". l.o.
pl;:-;;:,, #;il1i#.'l-o.y "*u__
p.out"." let Our lthool
separate-step, you
::J-T11".,. as part now
"an mes-
i""r" *itr, . i*t'.i" l,g wh"r,
ffi::HJ:
or a compound c^l
^dal
;;;"";'";;r "p^"".
the preproc_ (ome Io
You,,.
"*;,'ff;"i1ffiT'Jf
jlH""xr*:fr
pr uBram- may:i:fi!tH#x#&:fl
experience
::ft fi H
more problems with ap_
ll your progrommers ore slymisd byCA CltDDer
c.u IVouhove progrommers newlo Clipdei or
mer,s life ; bt ;;#. i#- smpry wonlto getyour mon€y s worlh oiliofthis
powedut developmenl lonouobe hen vorr
snoutd co on Grumplish inc tur mislion is lo
to determiae if
allows you
rg1iilffift";;;;; r
Ttre result: fewer memory-
pro.r/roe,he very beslvolue rn speciol,zed
rrorntng tn yourwork environmenl
t'A
Cltpper

fr,lii:,,tstii.if;lfS related problems when you use must for onvone


::":t"11
you're
to determine
attempting to oDen a
tr the extend system
serious oboul CliDoer S.,,
rrto rue Cotr ro t
pow€r ordo 8 L Lh Co

table with an ;tias-that "Slff ff


doesn't exist. Finallv. the iltTf fl l..,1Tfl.'60'r"i"r,,,,1.,,!,0.ilS;r*.
urumptrsh closses. Our lroinino moleriols orc
EG_CYCLICA_I, consiant tells you when prepored by ourprimory tnstruciol
plications that use a lot of strings in Greo Lief
you ve made a circular reGrence, rvlr. tret is_co oulhor of Cljrpel S A
Devbto\e|s
for ex- variables. g,u/oe (M& I Book)
los been o feotured aDeoker
a-lnple, rI a work area tries to set a rela_ 0r ru u s. ond inlernolionolClipper Devslobor,s
,lems. debugger also still has a few prob-
tion to itself. The
It still experiences problemi dis_
lmproved documentation playngcoDrplex variables. In the case of
A major complaint about earlier 5.x
releases was that the documentation
by-relerence variables, the debugger oc_
casionaUy gives you the wrong iiiorma-
uon. tt also won,t allow you to display
[',I-,riff't'*'*'ffii'-
oN-stiE TRA|NtNG:"*j*D''
1

never reflected the true state ofthe prod_ Con be .nodrt6d ,o it voGr compony,s spocific ,loeds.
uct. To ge-t ar idea of what the product the total number of records in a t;bl; t-
.-Uy .Dot J
wou-rd reauy do, you always had to refer when that number exceeds 1.000. ,* ooP wo*ea E, thd 6Er systen
wf,ggi,o
to the Norton Guide supplied with it. -Likewise, ifyou were hoping this was 'rH^'o r*u
u ortun-ately, it wasn,t always conven_ tle^long-awaited object_oriented version f":.ffilfitr EP'*
ol Uhpper for DOS (vs. Visual Obiect for
"*"
(rExcellenl!
rent 1,o relbrence this online documenta- Eveffiing lhot
l,ron, nor was it always up to date, This UlipIer, which is a Windows product),
youll be.9isappointed. That won,t wos so hord to understond
new version of Clipper contains much ap-
pear uatil what CA is calling "8.x" before the closs is now
lmproved documentation. CA went so pears. The company hasn,t oFered
ap-
within grosp!r'
lar as to be-ta test it. They literally gave a re_
lease date for that. ceq Ande6an
a group of beta test€rs . copy ALTA N6!1th Slrolelios

qocumentation and asked theE ofthe


to tear !n conclusion
rt apart. As a result, the errors in the
new documentation should be few and . Even wi-th the remaining bugs, Clipper ilflfll3S,n8l'No,,sf,ffi-
tar tetween. rs ready for prime tiEe. fuir[ the ;ddi_ No hme for school? Now studv o, vour own
tion ofthe RDDs and new terminal driv_ poce wrh the offictol Gr!mprish course
noles
An lnexpenstve option lo trojntno. lncludes
What got loft out ers, you have a product that's ready to go
moEflot covered in our courses: 5 books
o

Even the-best updat€ can't hope to fix wnere you need it. Add to that the casy_ ovort0bte tn oll - greol relerence moleriols
every probtem or incorporate every new to-understand. complete docLrmentation
leature. There are a number of ways that Eyeatly reduces the leamhg curve
where 5.2 falls shortofthe goals that iA or lru,s pncduct. lfyou already use Clip_ CAI.I. IODAY
stated Ior the origiaal release of the per, I
recommend that you upgrade. if
d9,l'!, perhaps t}le comperitive pric- ..fr 3fl BBIB,'."rtB?.'.,'1l$'i.oi3.t
product. While the current version pro_ IoY
l'rdes the long awaited RDDs and many lng wrll be a compellng enough reason
much-needed bug fixes, there are a few
mrnor problems that CA still needs to
to consider adding
ment arsenrl
it lo youi develop_ a I 0 67'.76
address. (For exaople, the current re_
lease_uses a diflerent implementation
John Mueller ls the technlcal editor lor Data
Based Aduis.or, the author ol 15 computer
Grumpfish, Inc.
of SOFTWARE & EDUCAIION
the LastKey() function that breaks boot(s, and also ownerot Dalacon Servlces,
many, developers, code.) Overall, you a conaulllng ,lrm speclallzing in Novell 2450 Loncosler Dr.. N.E.. Suite Z16
should find most of the problems you,ll networt(3 and databage manaqement Solem, OR 97?,05
syatems,O TEL:503 588-tgl5 FAx 503 588-1980
BBS:503 588-7572 Ct
o a

New
,
Access
CA-ClipPer'

offer!
The PremierAPPIication
Development System

aMi*
tsoorrlr

orv-with shofter access times. New dvnamic overlays to let you exceed avail-
The ComPlete, Professional eioanded lr,'temory System (EMS) capa- u'ble naU. You also get faster scrcen
writes, thanks to Rsls comPliance'
Programriring Environment bilities including LIM 4 o suppofl plusa
ForXbase. VirtualMemory Manager that uses
W
Enhanced Source-Level
cAdpPer dBASE
CA{liDDer"5.2 is a robust language' .YES DebugqerFor Improved
an efflrcienr linker, a fleible Pre-
NO NO
--Stabilir5z
\.ES NO NO
orocessor and a high-Performance
iomoiler. lt includes: an editor, code Block lES NO ri0
It's one of the most Powerful debug-
debugger and make utiliry, forming Nerted $ultidimensional lulal6 lEs NO NO gers in the xbase world. EasY to use
a comDrehensive system tor creatlng YE5 NO NO and comPletely interactlve
and di;tributing Pc and LAN-based jn Debnggel NO NO
applications.
vanades Modifiable
YES NO NO
New RDDs For FoxPrq
FasterAccess, Faster \TS \1S NO Paradox and dBASE IV
neads and ivr(es F.\Pr,r i :DXl f_rles

ScreenWrites, Faster ( YES NO \ES Reolaceable daEbase drivers for


Rrformance YE5 NO NO allihe most PoPular develoPment
vc6ion 2 SJotDos and dk45E lV Velnan 1.5. systems.
Address uP to 32 megabYtes ofmem conpade4 basetl ok FotPtu
C-anSaredBASE ,

AC,OUsers ]b $Lzett
$199 Includes Your Choice Of Any One Of These products AbsolutelyFREEI
OfferGood ForUsers Of AnyCompetitive DBMS_ CallTodayl

CA-ClipperTools Kir CA-dBFast'

lr

$6e5 $395
value Extenslon Library dBASE lVCompler' $sso
value value
M tm:
Ore. 550 ti n e -s@ i 49, p rob te n -s o lr i4q fun cti o n, in
Conple alnast an! dAASE lV applica.ion ia three
on. h6h p.rJamanc. poc*qqe. Roselau,
eas! *eps ant1pro.lrc. u.(utabte I ExE) fitcs
dBASE apps cane aliw with a C4-daF6t2.A-
pto.lr.aqo Mth th6 valuabte hb.an theJn4 dBAsE<anpaable databNe and
Mth th. sp.ed and Ofracnq qt cAltqp,t lahguqefo. Wntlbws.

Open Architecnrre Gives you This Offer Is Good ForA

ffi
delay. Call r@t now and save a fomrne
FYeedomTo Grow while you upgrade
Limited Time - Call Today to the newstandard
Customize Clipper with user{efl ned com- This special Comperirive Upgrade Offer is in Xbase applica-
mands and functions. And seamlesslv good fora limited time only so don't tion development.
integrare modules from languages suih
as C, Assembly, dBASE and pascal.
No runtime fees, no additional licens- SEE YOUR L o CAL DE AL E R TODAY
es, nb LanPak. Enioy free distdbution of
your applications by producing exe- oR CAL L t- 8 oo CAL L CAI EXT 1 76
curable (.E)(E) files. Operators are S tanding by to take your order Offer good for

mm
rTrli i
a I tm I ted time only so don t a1 t Cal I I o day I

NewcA-Clipper 52.
Llllrrtrr,ill

.,*,*fu,.",**-*.'-
tutq1lt .bdqdt:n a
Teach an
g new
w
a

tric a
@

Are management and users hounding you


Flashpoint slashes development time of GUI front
ends by up to 90 percent and drastically reduces
for easier information access and
maintenance - revitalizing legacy systems by
new graphical interfaces? Do
, giving them the same graphic "look-and-feel" of
you need to extend the life
other corporate applications Plus it partners
of valuable legacY
with Knowledgeware's obiectview*, ideal for
applications without
developing clienvserver database applications'
adding to your mainten-
Depend on KnowledgeWare for proven
+
ance backlog?
Now Flashpoint from tools to turbocharge your move to clienVserver'
Our unequalled experience and expertise back
Knowledgeware' gives You
you with comprehensive consulting, training
the iump on client/server
and technical suPPort services'
technology and the critical
need to integrate information
while preserving legacy
limHill,
applications. Windows"- manager of order
based Flashpoint quickly processing systems
for Deere & ComPanY,
and seamlesslY integrates
used Flashpoint to
new and old aPPlications combine four legacY
residing on host, LAN and applications into an
integrated system for
PC platforms for a graceful
dealers. Flashpoint's intuitive development
transition into clienvserver. environment shielded developers fiom the
Desktop users can cut-and-
I complexities of interface programming and
\ rc-to-mainfuame communi(ations.
paste information from anY
spreadsheet, database or
other favorite aPPlication, Sfnowtedgeward o,€c / a'€ r00 5ls'6d

I
'*
::$S:lif":?i:*r;#"tr":#"s"T;i:tr',"^;r,I;ci""i."'
no matter where it resides

and tlashpointseminars and FREE demo d6kettes. Call us today at I80011384 130 or 14041231{575.
Knowledgeware offers FREE
lilSlDE TBACK: FOXPRO 2.5

. FoxPto lor DOS fs FoxPro


forWindows
. FoxPro lor Windows
. Meking the migration
. Windows application

aReason to
development

Switch to
Windows?
By Mohsen Moazami and Figure l-This i9 an application running Figure 2-This is an appllcation running
Larry Kostmayer under FoxPro for Dos. under roxpro lor winiiws.

T;t:lii:H3Hff::t?:tili c{iF!, lEl.rt }rh! tcB


Jo! Irt l.: h*iitrr
@
r'
!{ without the
inherent overhead Ibm lrvtrHa Iq: xtl{r{x.
$l.r: 15.711.55 (siL.
' l5r;;.-. __-
E
YID )
cLtr,.,) E dffi ttr_-_-_.l r.EdiriE
;1;'YI;I:i::"ltra*l
menus, pushbuttons, pop-ups, radio but- lJt rla*b r.ri- rxl
5o* t-___EB

t/'BlB lrt.! E At Ga. LrrL.L r.r


tons and check boxes, scrollable lists, n/rrr l.r. L f,r art aio tr rr;r
etc. On the other hand, FoxPro for Win-
dows givesyou some di,stinct advantages
over the DOS version. a( Lc )( ,irl )(l*., ) (Lne...) ( ttrh ). t .
In considering the move Lo FoxPro for
Windows, ask yourself these questions:
I Are you currently using other Win- Windows applications communicate be-
dows applications? one ofthe tables in your company's inte-
tween each other. OLE is a suoerset of grated database applicar,ion could store
I Does your application need to com- DDE technology that allows oLiects or all thetemplates foryour business forms
municat€ or share data dynamically documents created by one appiication (letterhead and memo templates for
rvith other Windows applications? (knowr as the server application) to be lvorcl processrng, expense report tem-
I Do you want or need a ,,sexy,' stored within the documents of another plates for spreadsheets, and multimedia
interface? (known as the client application). The presentation templates for business
I Do you need to use icons and/or difference between linking and embed- presentations). Using a FoxPro for Win-
graphics in your application? ding is this: When arr object is embed- dows interface, useis could select the
I Do you have enough hardware horse- ded, a copy of it is stored in rhe client template needed, creat€ a new document
power to get good graphics perform- application: when an object is linked, a in the native application, print or e-mail
ance fiom Windows? reference to the original objecr is stored it, and go on about their business; all
In this article, we'll help you fiEure oul in the client application. In either case, without ever effectively leaving their in-
you have the ability to edit the obiect in tegrated application.
whether making a move to Windows un-
der Fox Pro 2.5 is worth doingby explain-
its native application. lf the obiect is
ingwhat FoxPro for Windows offers that embedded, you edit a copy: ifit's linked, Screens that say, ..Uso ms!"
you edit the original. An appealing feature of a GUI is the
the DOS version doesn't.
With FoxPro for Windows,you can now inherent good looks of the interface.
Gomm,r.rnication and store data iiom any application that can With FoxPro for Windows, you have the
integration act as ar OLE server in a Fox table. The ability to create eye-catching interfaces
ke-y to doing this lies in a new freld type with three-dimensional effects, icons,
One ofthe most useful features ofFox- called "general," which can store any
Pro for Wiadows that doesn't exist in the sounds, pictures, wallpaper, multime-
object created by an OLE server. ThL dia, etc. You can control fonts and font
DOS version is its support for Dvnamic possibilities for using this type of func-
Data Exchange (DDE) and Objeit Link- characteristics, as well as screen
tionality are virtually endless. You can positioning of all objects. For printing,
ing and Embedding IOLE). ln simple clesrgn environmenk that truly use the
terms, DDE is the mechanism by which you now have WYSIWYG print preview
right tool for the rightjob. For example, and the ability to create stylized output.
Continued

DATA BASED ADVISOB/MAY 1993 101


INSIDE TRACK! FOXPRO 2.5

The user can perform any action and can tions, drag and droP, and double
Hard-core DOS-heads will undoubt- clicks. Theie is no one right path The
edlv arzue thar pretly screens aren't navigate from an)"*,here to an,'vhere
without havingto traverse a certain pre' widest range of user activities should
*"'r tr th. overhead incurred bv a CUI be allowed at all times.
("Who needs proportional fonts. any' determined path. To handle the creation
way?"). But as more powerful hardware of the event-driven programs, at a mini- I A modeless approach to Program-
becomes the standard desktop worksta- mum, the GUl-based application devel- ming. Most traditional software ap-
tion, that argument won't stand uP opment environment should support: plicitions make extensive use of
I The main event IooP. This enables modes. Although modal Program-
The event-driven model mins is easier to do. most ofthe time,
The user-centered design requires the applications to let users do whatever
tiev want at any time The aPPlica- mod"es don't have a Place in GUI-
use ofthe eventdriven model, where the based event-driven Programs. AP-
user is in complete control of the pro- tion is in a constant look out for user
actions, such as clicks, menu selec- ple's Hurnan Interfau Guidelirus (a
gram, rather thin the other way around'
iood resource for Ieamingmore about
eUI characteristics and approaches)

Clipper Tools by ChYDale So ftwue Ltd.


dBxStore
DBT
II
Memo Field Alternolive
ffi Mouse Driver
Mouse Supporl with One line
o Perlormance TiPs

'7hile the database en'


- -
E lminates the ffle bloat Problems
associated with memo Iields.
ol Code! \A/nilsi"T"l,fin:#;
Mate3 it easy to pror'lde mouse Y Y yi"td similar
tit Per-
"ty il data malipula-
formance results
Storage of atry t!rye of data support to Clipper 5 aPPlications
including: Clipper Memos: single. without having to rewrite Your tion operations, Lhe perceiued Per.
multi-diirensional, and nested programs. Siniply qdd I his line of formance of any apPlication is
arravs: screen images; PCx and code to your .Prg liles: closely tied to lhe speed with which
othei qraphics formats: printer the int€rface responds. When com-
fonts ;rtd drivers: as well as #lDclude "mlckey.cb" oarins identical FoxPro aPPIica-
SuperClass and Class(Y) objects: -running on identical hard-
iions
ard Character Data tlpes. Mouse support is Provided to all ware, where one version is rulning
CliDDer's user inter[ace walt states: under FoxPro for DOS and the
Written in Asa€Ebler for faster RE.AD. DBEDTI ). MEMOEDIT( }.
reads and writes and lightning fast MENU TO and ACHOICE( ). other under FoxPro for Windows,
compression. the DOS application will aPPear to
gulctly add DouEc furctionality run faster. How much faster de-
Ef8cieDt DiEt Maragement without the complex coding oends on the ratio of data maniPu-
svstem reuses available disk space
ahd needs onlv 6 bvles for the first normally associated witl mouse iation to interface manipulation
bne of data vdrsus-S12 bytes wilh drivers. The overhead involved with using
Ciipper memo liles. a GUI is unavoidable, and without
Mouse Driver also supports a reasonably powered hardw are
Flexible teld searching capabilities comolete set of User Delincd and./or accelerated video, we don't
and Advatrced Netwolk Locklng Codmands for adding Mouse recommend usilg Windows for anY-
functions. support to your custom interfaces
thins. let alonJ FoxPro for Win-
do*s-. Ho*urer, there are tricks
\ that can help increase performance
SuperClass III @ when developing for a GUI PIat-
form. Here are a Gw ofours:
Obiecl Oriented Progtomming I If vou have screens with lots of
Provides t}le Programmer with the capability of creaun-g- User Defincd stiticobiects on them that are
bi""""" tft.t Message Send commald exacuy like Clippers 5 never uidabd (lines, boxes, la-
Classes. ""."the bels, shadows, graPhics, and
icons.), vou can sPeed uP screen
SuDerclass lets vou write hlghly mahtahable code with reusrble repainting by Putting all static
obllcta ro increise your productivity and code reliability'
obiects into one bitmaP and then
ls fully compatible with other Add-otr Librarie8' putting that iII the background
One way to do this is to coPY
Includes 27 Predeflned Base classes , complete with Source-Code. them as a grouP to the Windows
ready to be incorporated into your pro grams. Base Classes also offer Clipboard, Paste them into a
excellent OOPS learning toola. graphics program such as Paint-
Brush that can create Windows
bitmaD (BM P) files, save the en-
dBEST I $ 145 ", $295
eacn for All rhree
tire imaqe as a bitmaP, and make
,4. FIALLoGRAMPublishing that BMP frle the wallPaPer for
your screen. Don't do this until
I r3o3l752-2086
Fa-x: {3O3) 752 1646
153 2 South Da$sbn, Aur5ra. CO 8OOl2

102 OATA BASED ADVISOR,/I,{AY 1993


INSIDE TBACK: FOXPRO 2.5

states, "With few exceptions, a given In a GUI ervironment the concept ofa but users and developers will select and
action on the usels part should al- READ is obsolete. The application standardize on tools that accomplish
ways have the same reault, irrespec- should always be in a read mode waiting that functionality much more
tive of past activities." Certain for user actions. To programmatically productively.
modes-such as alert dialog boxes or manage READs and keep trackofnested
open and close file dialogs-are still READ levels is unnecessary and unpro- Cross.plattorm
the preferred way of doing certain ductive. In contrast, multiple windows
operations in a GUI application. in products like Access are much easier
considerations
Although FoxPro's event model has to open and manage. FoxPro requires A widely anticipated feature ofFoxPro
room for improvement----es pecia lly in significantly more work to handle a
2.5 is its cross-platform compatibility
the area of the foundation READ multi-window situation. Eventually, all among DOS, Windows, Macintosh, and
("getless' READs) and multiple window tools will allow the same functionality, UNIX (versions for the latter two mak-
management-it provides enough flexi- ing their appearances Iater this year,
bility arrd power to produce true GUI-
based applications.

Perrormance ?ips

the screen is in its final form.


Also, make sure all static obiects With fie PCX Toolkir and GrF
are aligaed perfectly with your Toolkit, you can create applications
live objects (GETs) that will lay
on top ofthe BM P before creating
it.
Ifyou have lots ofmemory, it will
help considerably l,o load your most
graphically complex screens into
memory at start-up time, leaving small.
them hidden uatil needed. Then, to display, save, scale, Qpture, and manip- out
when they're called, they're simply ulate PCX or CIF lmages m conventional. check out the PCX ot OIF Develope/s Pak5
made visible by the screen program expanded, extended, and disk-based mem- hich consist of either the PCX Toolkt or
with the SHOW WNDOW com- ory. And since they include rhe cX Kemel, ctF Toolkir, cX Graphics, GX Effects, GX
mand generated by the screen 1'ou ha\'e pou'erfirl imaging functions avail- Text, and GX prinrerl
builder. able like Puycetlrnage, palette manipulation,
virtual display, plus VESA support. The GIF
I Ifyou have many GET otrjects on Toolkit aiso includes tull ctF8ga supporr.
your screens, don't use SHOW Se\.eral utility progams are also proyided for
GETS unless you really need to image manipularion withoul any progam-
.tr"F,i
redisplay all or almost all of the
objects. Whenever possible, use
ming. Show images and create simple
slideshows, capture and conveft screens ftom
Yilii
individual SHOW GETs to re- other programs, sllale images, inspect image
paint only those objects that headers, translate text screens into pCX or
.eed to be redisplayed. You can GIF images (gleat for documentation), fix
write a procedure to selectively older fues. and more. A unique library man-
SHOW individual GETs, passing ager is also provided which allows you !o
to it the parameters that t€ll i[ EEF-:ilI=@-
group all ofyour images into a single library
which GETs to SHOW. You could file, or dfecdy into your EXE progmm - with Scre€n shor from acnral dalaba* cre:lfd usrng rhe pcx
even maintain an arrav contain- Toolkr GX Crdphrcs, CX EtreG, al]d cX Tela ClDDer 5.0
no extra code or data overhead. source avaiable on fie cenu5 aas. (zlrt
ing all the GETs, along with ezo-o6b r

their current state (enabled or . No Roya.lties


disabled) for a particular screen DllElolllft PrI l9rG r(I d .r) .--_tt95 . 30-Day Money-Back cuarant€e
and a mask indicating what ones P(X looull 249 . Assembly tanguage Speed and Size
need to be changed at ary par- -...*-..**._.*1249
Gtt rool(rl . HerculegCCA,/EcA/VGA,5VCA Suppon
ticular time. Your user-defined GI Gufirt**.'.***r249 Ttuough 1024 x 768 x 256
routine to SHOW GETs can then GI ITFTOI lt, . Unique "f\emel" Srstem That Reduc€s
Gx lqr,.-,-.----*-*_tt49 Progmrh Size and Overhead
process the array and mask in a . Comprehensive Examples and hstirctional
3{9
FOR..ENDFOR loop, knowing Manuals
exactly what GETs need to be
SHOWn and what their state
should be- IO PI.AG YOUN ONDTN OT TOR
Inft Grrus Crnroc, Catr
I
lolr+Rtr t .c.o.o.s
1',,ohsen Moazamiand
Laffy Kostmayet
r-800-227.09t8 irss lilff@.9m
(713)
2co.in6ru( il
8/04737.|u 0t$ 87M288
,ois

DATA BASED ADVISOFYMAY 1993 103


INSIDE TRACK: FOXPRO 2.5
TM

according to Microsoft). As the Mac con-


tinues to make its way into corporat€
America ald as Windows continues to

Image toolkit grow in marketshare. it will be more and


more important for you to be able to
provide solutions on both platforms The

Add ilre visual imPact of iross platform issue will no longer be PC


vs. Mac; but character-based vs. GUI

picturcs to your Plograms,- Right now, you can open uP a FoxPro


for DOS application and run it under
hnd save hundrcds of dollars! FoxPro for Windows unchanged. How-
ever, what you'll see is a poor imitation
of a GUI. When desigaing a. screen for
the GUI environment, you have manY
more design decisions to make than
.ar. when desi[rring for a character'based
environment. There are decisions about
what fonts to use, what types ofcontrols
u to use, how to use screen real estate, and
l' when and how to use icons, souads, and
pictures. Many such decisions don't ap-
ply in a character-based environment,
I ind those that do will likely require a
different approach. However, once these
decisions llave been made, most (if not
Sunshow lets you disqlaY images all) will apply to ary other GUI environ-
atongside text from your data files ment.
Porting a FoxPro aPPlication from
. Windowi to the Mac or vice versa will
Suoshow, the breakthrough image Functions provided as BNs and LlBs
likely be easier than porting from either
roolkir fiom Pinnacle Publishing, makes you build into your code, as well as
CUI to the character-based environ-
it easy to incorporate lill'color pictutes stand.alone EXF-s ments of DOS or UMX and vice versa.
into your FoxPro, ClipPer, and dBASE . Display and enter characters in
programs. And you don't have to spend a graphics mode
. 256-color support for more than 40
ln conclusion
fortune to use itl
SVGA carls (including \ESA), Plus As a developer, you've probably frgured
out that the biggest growth area and the
Get the pkture VGA, EGA, CGA, and Hercules
larsest investments are in the GUI-
. Print to HP LaserJets, HP PaintJers,
Sunshow gives you all you need to build and Epson dot matrix printers
basied application market, specifi cally
images into your applications: Windows. Very soon, most ofyour cl ients
will want to take advantage ofthe pow-
. Full sqport for four image formas (GIF And compare the price . . .
erful capabilities under Windows, such
PCX, PlC, and Targa), with convenion At lust $199 (royaltl,free), Sunshow as OLE, DDE, and user-friendlY soft-
routines that let you use 10 othet formaa gives you more power and flexibility than ware products. [t's therefore better to
. Lighrning-fast display routines "snap" other imaging tcxrls priced hundreds of vour manv vears ofinvestment
leverage -and
images to the screen dollars higher! in Xbaie learnio use and exploit the
. Edit images easily-scale, flip and GUI functionalities of FoxPro for Win-
rctate, scrcll, sharPen and "smooth," dows. This program, while maintaining
its DOS capabilities, has expanded the
even zoom and pan in real time
Sunshow is priced
60.DAY Ianguage and power tools to a Point
at $199 and comes *hJre vou can start building real Win-
a 60-day
with dows aoplications using the tool you al-
maney-btck guarantee. ready linow well. The time to begin this
learning process is now
To oder call
80()/78&19q)
206/251.5057
Fax
Mohsen Moazami Is p.esldent and Larry
KostmEyer is senior proiect englneer al
Stanlord Business Systems, lnc., in Los An'
Rsler to code ESA geles. They can be contacted at (310) 215-
Pinnacle Publishing, lnc.
8444 and ComPuServe 76'167.3463. D
18000 72nd Ave. S. #217

Sunshow's image editing utilities make it #h Kent, WA 98032


206/25179OO
easy to get the exact picture you need

104 DATA BASEO ADVISOR/MAY 1993


*
1989-1992
DATARASED
,apvpp"s_
BeadercEhoice
Award

WRITESYOTIRD4f,a,dsE
l,l"io.*'f1,0
level enhance-
APPLIM?IOIVS ,nli,,T'Tl;:
modifications to the
metrts brousht to .FOR YOU chosen temptate.
the Dbase languages,
you're still coding too UI2 includes th orough ly
many routine data base oper- ALTTHESE tested templates that generate
ations. Too little time is left for FEATURES WItH robust Dbase code* for either
the unique programming NO TIATID- c omp lete, full-featured
challenges of your appli- applications or individual
cation. You'll appreciate: CODING will
End-users component parts. With a
appreciate:
h ig hly flexible Screen
Rapid

You'd prefer to use a gen-


wo*ing prolotyPes . Search and filter-by-
Simple chaining together example, even for related files Editor, a fully integrated
erator to produce the bulk screens and memo fields Data Dictionary, and the
of your code. But, you're Enforcemenl data ifltegrily
. Run-time index selection meflu automatic provision of
justifiably suspicious. rules you define wirhin rhe Data . Contextsensitivehelp comprehensive tec hnica I
DictionaD,
Typically, code generators . Pop-up caiendar lor a,ate fields documentation, UI2 will
are just too inflexible, and ' Pop-llp pkklists for foreign keys quickly become your con-
few have lasted. . Optional color changes at run-
stant, hard-working part-
time
Everyone will appr€ciate
ner for all your develop-
How, then, has UI2 consis- ment activiti€s.
. Full multi'user suppon wi:h
tently remained the undis- Optional delet€
intelligent lockirg and sseen
puted standard for code Call us now and we'll set
generation with in the . Optimiz€d parent/child lookups you up with a risk-free,
development profession? . Direct zoom Aom picklists to 30-day trial. You'll expe-
data mainrcnance modules
. rience first-hand how UI2
The short answer is Hooks into Multipage data maintenance
scIeens with conditional page eliminates routine hand-
remark ab I e efficiency. access afld display coding, freeing you to
UI2 owners report easily . Connolled user-access rights focus your programming
achieved savings of 309o talents, energies and time
to 70Vo or more in development on the truly challenging aspects
time as well as dramatic reductions of your applications.
in system maintenance. Template Garden
Software, Inc. Suggested retail price for the U12
More fundamentally, UI2 lets you Developers' Release is $595.
stay in complete control. UI2's tem- 150 Wesl 28th Stre€t, Suite 1104
plate technology enables you to New Yo*, NY 10001 . Ulz iemplates ue oprimized ro take ful adverage of rhe
unique features of the d€veloper's chosen Dbae ldguage.
completely customize your applica- (212) 463-0738
Suppot is prcvided foi dBase M.l, FoXBASE+. Fox?ro I
tion, either through the insertion of and 2, Clippq Smer '87 and 5.01.

your Dbase code at the screen ftoo-233-3569

Canada: (416) 920-7395 Brazilt (0ll) 276-4022 U.K.: (0707) 373-600 cermany: (089) 570-6031 Australia: (02\ 317 -4404
_n-

I
fluilrors 0f [p ousduinning ftse{Jp ord N6
a

,s
Your Complete DataFlex Sour cel
'Flex Utilities,
Communications,
And Morel

Call for all your system needs.

All products are stocked


And shipped the same daY.

Special orders are gladly acceptedl


. FlexQL . C-source and Library . office works . DataFlex DebuSSeI ' DFUtil
DataFlex 2.3b & 3.01
DBKiller . CS-Help . DataFlex Trans(ormation and immigration Guides . Usin8 FlexQL ' DF-DOC
EthelNet Boards, Terminators, Connectors, and Cables

,'",.' *" oll'.ilY'; :',itrJti$ the u.s.A. )

Cogitate, Incorporated
"A HiShet Fonn of Sofute"
2400O TelegraPh Road
Southfield, Michigan'18034
(313) 352-2345 . FAX: (313) 352-2358 o ComPuServe 767031252
Outside the 313 Area, dial80G93{OGIT (8W 2-M)
FOUNDING MEMBER of D.I.S.D.
odlF.r dd E.xoL rr. reddhart! or oeta L..8. co.P- cbs.-up rrd cble,up LA .r. t d.msr*! ol Notbn-LMh.n cory. Ncs l. a t.drMn( ol JaL htnrmlbn s]tL' '
SOFTWABE REVIEW

. Alpha Fout
. Application development
ADeveloper
. End-user tool
. Xbase
Evaluates
AlphaFour
By Todd L. Gould
Figure 1-Alpha Four sample program.

A
/|f
;;,l"izl';t ;:::l["if,::::1"1,':#]i*: l#;
claims to be able to replace me and my colleagues.

4, lRelational
rs one o, those programs: ,The Fully
I Arpha rourDatabase
for NonProgrammers, ,..Com- r"..";;
t2rg2
s7,211.74 #*re
pletely Menu Driven, and "Creates Customized Applications.,,

Mtr antroduction to Alpha Foul lzi,


M_y firstexperience with Alpha Four was to open the package
and install it on our system consisting of 286 and 886 work-
stations on a Novell network with two file servers----one run-
ning Netware 2.15c, and the other 3.11. The installation was
$23.m S6e,e
l
amazingly easy. However, when I accessed the first sample
table,I received an error
message pertaining to
access rights on the net- So it isn't a speed demon
work. Since I'm a "Su- I began^b,y conductin€ some not-so-scientific tests tocompare
pervisor Equivalent," I version 2.1 ofAJpha Four to compiled Clipper S.0l routines
LAN have complete access to and dot prompt commands using FoxBASb+. I ran each test
everything on the net- on the same 40MHz 386 clone configured with 4M ofRAM (3M
30-user, work. It was time to call used as XMS memory). I created a f;irly large table of I03,200
Alpha Software's tech- records (roughly 4.5M) and began the t€sts bysorting the data
nical support line. on a 2S-character field with each application. I never sorl in
As it turns out, the any applications that I develop, bu1 I thought it would give
company was over- me a feeling for how fast Alpha Four can access and write d-al,a.
whelmed with response Clipper and FoxBASE+ completed the sort in two to three
to their new release of minutes; Alpha Four lorcked up after about two minutes,
2.0 (since upgraded to requiring a warm boot ofmy computer
2.1) and unprepared for I then put all of them to the intex test. Each successfully
dpha Software Corp. the onslaught of techni- creaLed an index file for this table, wirh Alpha Four beins bv
168 Middlesex Turnpike cal support calls. After I far the slowest. I then had each perform ipproximately iOtt
Burlington, MA 01803 made several calls and random seeks into the indexed table. The Clipper appliiation
(617) 229-2924 sat on hold for a very Look 16 seconds. FoxBASE r- required 40 und elpha
long time, a friendly and tour took 2 minutes 31 seconds. AJthough """ond",
far from irue
benchmark tests, it appears that Alpha Four is no speed
sentative apolosized ror the deray anJ#I,i,""t$:iiji#i#; demon when compared to the other products.
the problem. After several rounds of phone tag, he lelt a
message for me that the problem was a bug in the Alpha
product and a fix would be sent out. The bug fix disk arrived,
On a netwolk
installed easily, and made the error message disappear. I was The multi-user version ofAlpha Fourclaims towork on most
offand running. |iilPl95 network operating systems including Microsoft
LAI Mqlgg"L Banyan Vines. and Artisoft Lanta"stic, as well
Not knowing exactly where to start, I decided to skim as Novell NetWare. A separate licensed copy ofAlpha Four is
through the tutorial. It was fairly basic and easy to follow. A required for each simultaneous ,se. on iL" network. This
non-programmer may be challenged by the iniroduction to substantially increases the cost of implementing a multi_user
database concepts, but a seasoned developer will find the application on a large network as compared -to a Clipper_
tuLorial a quick way to learn Alpha Four's philosophy. (Why compiled application.
is it that every database demo,/tutorial is for a hypoihetica-l The program automatically handles DOS 3.1 record and file
video store? See fig. 1.) I also found the files in ihe DEMO locking protocols. Multiple Alpha Four users can work in the
directory created by the installation program helpful. same tables with no problems. However, users running differ_

DATA BASED ADVISOR/MAY 1993 107


SOFTWARE REVIEW

first Ietter of field upper, the rest unchanged; first Ietter of


ent programs that use the DBF formcan't work concurently'
each word upper, the rest unchanged; etc
For example, two users---one running AJpha Four and the
Additionul' iul"s can be applied in many combinations
otfr". *niti"e a Clipper application-could read the same ni"irf" b" frU"d by user input or automatically calculated
a"i" ni"", ur. .di, edit,-oi delete records simultaneously' "a" tieta". femplates ind masks are assignaile, with
il;;;k;* ""t
mechanisms for each program is different; they i.om olfre.
o. *itt o"t the allowance of input exceptions Fields can b-e
won't ackn-owledge each other's locking On some networks
DOS SHARE program may be needed'
au.t"a "required" and also auto-incremented for such
-'al*.
the
t1"*u." tt at-when you're installing the LAN version lf,ing" ""invoice numbers. Default values and validption
you have the option of allowing each user to
"" are assignable and ranges can be indicated'
oi e.tpiu foo., ".v"tem "*orZ""ion.
Double entrv can be required oflields to verify correct inpul"
fr.""'f.i" on the ierver-including the tutorial'
".n"iand demo applications' The drawback to this is
..-.i" a.t". Field entry may be skipped based on a logical expression'
if,rri".t, ."i-"p.un take jp to 4M ofspace' My advice: Make C,rsto- irelp piompts ant look-up tables are assignable to
each field. Als;. vanous messages can be predefined for each
them share.
field ifany ofthe above rules aren't followed.
tt can still build aPPlications The tables (DBF) are dBASE iIl PlUS-compatible and Iim-
To really test Alpha Four as a non-programming tool, I tried ited to 128 fielcls. Alpha Four allows newly created MEMO
fields to default to dBASE IV----ordBASE llI Pl-us----compati-
to u" appiication using only the menu system-and
".*t" macroi. I wantcd to see how far I could get without
kevboard bility; however, existing dBASE IV MEMO frelds are handled
projerly, no matter whit the compatibility setting (provided
using "scripts," Alpha's euphemistic way of nol saying pro-
srammine lanzuage. thev're 128 frelds or fewer in size)
-
lr,lv wlfeieceitlv ooened a iewelry business and asked me to Database design is simple and straightforward While set-
dev"elopaclient-tiackingsysteM t feltthiswould bethe model ting up field rules, the only problem I came across is that the
small proiect with which i could put Alpha Four to task' tab'ie name wasn't displayed anywhere on the field rules
Onu Gat,rte particularly like is Alpha Fou:'s - ability to
I screen, causing me to often double-check that I was in the
create a data dictionary. Atpha calls them "Field Rules " right table.
ihev'r" po*erful, although only accessible through Alpha frext, I used the Set functions to define several relational
fo,l'a u.r,i not norn other database management programs A Iinks between the tables. From this point on, I accessed these
comoletc list ofdefinitions can be attributed to each field in a Set definitions instead ofdirectly addressing the tables' Upon
t ahl; Mv favorite rule is "Case Convert." which can force
one openingthe Set, all necessarytables and indexes were opened
ofanuniberofconversions: none; all uppercase;alllowercase; and table linked.

a JECT LIB W,, J:"::",: : l:Y: I:;:J 'OpportunilY for Develope$ & UARs
OBJECT VISION is still one of the easiest, Integrated Voice/Iax systems are sweeprng across the
ouickest. and most inexpensive ways to create country, revolutionizing business comJnunications, and
rl,indows programs. lt can be used to.develop opening new frontiers for dBASE programmers,
full-scaie Jpplications. Yet as powerful as, resellers, and VARs.
OBJECT VlSlbN is, it can still be improved'
lfyou are tired of setling accounting systems, FaXFORCET
OBJECT LtB helPs fo so/ve this may be the fax-on-demand (F.O.D )

Problem in two waYs tool that launches you into


telecommunications. . Develop scripts
#1 PROCESSING FEATURES #2 DOCUMENTING FEATURES FaXFORCE is a key Part of in a dBASE. menu-
OAJECI UA Providss a DLL libary OaJECf LI8 Provides a Prcgram the next generation of driven environment.
ol ovsr 30 lunclions to ead n OVD liles and thon
oroduc€ a texl d@um€ni descnbing business communications: . lncludes User Manual.
ihe contenls of lhal liL6.
@BUTTONSET Enabl€ / Oieblo 5 P*h an affordable, interactive,
r This d@umenlalion incudos fo.m
aCoLUMNACTTON P.dom an actd ro' field and lrnk descnpuons and how Pc-based, voice, fax, and information system'
aEMPTY Oeremn€ il . fi€rd lhev are relalsd lo each olhsr This
- emotv d.soiE is link'! dtr:',mantaton makss deblqqinq When you go home, FaxFORCE keeps on working'
dlrNMcrloN Poiroin an M@ r,or ar vour Droqr6m mlch easrer and it can
6€ lsed as pail ol your syslem P ow erful. Affo rdable. Adi ustab le' The latest in
@sEIROw Sdam nabbr.lo
Apply FaTFORCE to th€se IntEactive vojce/Fu ApPlications:

X Distributing Sales Information


OBJECT LIB sells for $89.00 (plus $5 00 S&H) integrution
Canadian Resid€nts Please add 7% G'S'T' ,( Distributing Technical SuPPon D@umenls
tuee Pbduct lnlanalioh Avaitable ,( HandlinS Custom€r Accoun! Inquiries
,( Collecting Customer Informadon, lhen Distriblting rc the Sales Force Via Fax
1161 McMillan Ave.
GAMESMAN Winnioeo [,ib. R3M 0T7
-(204) ihere is much more to know! Call Now for more information
June Communications . (303) 428-4224
475-7903
rNc. Phone
Fax : (204) 284-3307
9176 Marshall Place ' Westminster' CO 80030

I08 DATA BASED ADVISOR/MAY 1993


SOFTWABE REVIEW

Each Alpha Four Set is limited to a total of 10 linked tables. of each type. This limit comes by the letters of the alphabet,
A parent table is linked to the child wia a dBASE III PLUS, A-2, being assigned to each choice.
compatible index (NDX) file. However. the index won,t be Once the database information, sets, and output options
compatible ifit isn't case-sensitive. Each link can be a one_to- were in place, it was time to create the actual application.
one or one-to-many relation. To handle bi_directional links,
Applications are created with the,,Applicatio"""';o;;;;;
you have to set up separate sets, since you can't refcr to the lrom the l\lain J\4enu. {See fig. 2.) Thi; i. a u.".-d"uelop"J
same table twice. menu that displays sub-menus. execules keystroke macros,
I found the screen form design intuitive. It's menu-driven calls another application, or transfers to other applications.
with many shortcut keys. After desigring the screen. I went Various parameters can be set to control the appeaiance and
back ser _up inpur and display options field by field, function of each menu. The menus can be furiher enhanced
-and
incl.uding window size. lormat, and coloi. My only criticism: I by a full-screen editor that allows boxes and color.s to be
couldn't test the form without backing all the wiy out to the painted on the screen.
main menu to view the table with the form, then all the way
back out to edit and make changcs. And. when viewing a
linked table, the original table didn't always rcmain ihe Figure 2-Alpha Four main menu.
default when returning to rhe main menu. Ii also rook mc
awhile to understand when a form was attached to the set or
the individual table.
Mailing labels, reports, and form letters were just as easy.
All screen and printed report designs are very WySIWyG. -
.

The form-letter function is one of the best I've seen. While .t:b-/A bio
most table management systems can export files for creating
lail-merqe letters with third-party word processors, Alphi
Four's built in word processor and merge functions should be
able to handle even the most advanced mail-merge needs. lotrl (,a.a./&ratt
It's notable that every user-created filo {table, index, lorm, ,@ LaL.-/*l.
report, application, etc.) can be tagged with an English de-
scription that's used for all menu prompts. DOS file names
are only uscd for defining and selecting tables and sets. Alpha
Four limits most user-created files and references to 26 aciive

- NEW RELEASE Ver. 1.1 *


Display and print graphs from your XBASE code ofi6
*itn GrophBASE,
GraphBASE is a powe.ful relational database graphics -a
software for dBASE III through IV, FoXBASE+, Foxpro,
Clipper or any database package which conforms to the
standard .dbf file format. Wirh GraphBASE you will be able
to quickly produce publication-quality graphs direcrly from
your database files. No converting or retyping required.
. No prognmming necessary
. Display and print graphs from your code and distribute
royalty free llonoge i?eusoble
. Send the graph to a printer, plotter, or file Code. Shored by
Files
Nlony Protects
. Display data as Line, 2D and 3D Bar/Stacked Bar, Mixed,
Provlde Cross plolform
2D and 3D Pie, Stock, or Step Support for DOS, ri:.
. Relate two database files and graph fields from both files W ndows. Windows
Nl. . even the Mocl
. Use existing NDX,NTX files or create your own on the fly
. Control size and placement of graph on the page Generote Complete
Flle ond Protect
. Make use of logical opeaators and database management Hisiories
functions to select the precise data you need Coord nole Your Entire
. Use Atech FastFont tl.pefaces s1 99 Ieom
. Multiple graphs per page Pltls Stort Codirlo in
Minuies, not Ddvsl
SELECTED AS ONE OF PC WORLD'5 EXPERTS' FAVORITE DATABASE LITILITIES

Softwell Development Corp.


P.O. BOX 3333
(215) 865-3009
Palmer. PA 18043-3333
Fax: (21 5) 861-3795
SourceSafe Ono Tr@ Softwore
POBox 116t9 Baleish, NC 276U
A0OB97 2323 fat 919821 5222 wice:919ts21 23OO

DAIA BASFO ADVISOR I\,4AY 1993 109


SOFTWABE REVIEW

DO CASE
How scripts wotk CASE howhumid s "102030{0"
Kevstroke macros are where actual tasks are carried out As huridity =
.i#il" tft.rnu"ral, "scripts" and "macros" automate Alpha CASE howhumid S "so5o7o"
i;;tasG. Macros are executed by selecting a menu.item' busidity =
and scriDts are named and can be called fiom any locatlon ln CASE holthumial S "8o9o1oo"
sim ple macros can be lea rned by record-
humiality = "Humid"
ef on" n[rt if," ^ost OTIIERWISE
i"i--tft" rcy"ttot"" .r"""i"".y to execute various routines' humiitity =
ii8*"""., iit" o"ty *ay to incorporate any level ofsophistica- RETI'RN
iion i"to'tfr" uppli"riiott requiles calling scripts and using ENDCASE
uJrr.rr""a scripi commands and functions from macros'
Here's an example ofan Alpha Four CASE statement: I know which one I would rather debug. Normally, in this
example, I would use a numeric variable; however, Alpha
Four icript variables can only store character data. It's nec-
(sET tliATtrE[rllrD, iE" )
essary to'use type-conversion functions to storc other data
(clsE types. Surprisingly, most of the functions are the same or
Ar{tBowEIJttrD,' 102030a0" ) 0
( tsEl tln urDrfY, "Drv" ) (sET tt{ArcEn'}irD' "T'}) similar to those found in Xbase.
AT ( trrowEutll D, "5050?0n}0
( {aET *III,UIDITT, rNorDrI" } Developer help
(sET tu rcxEt ttID, 'T') ) AlDha Four is prosressive in that it has a strong event-driven
rr(tllorrln !lrD. "8090100" ) 0 nature Lo it. Many events can trigger scripl s such as when a
( (SET tIIUI{IDIrI, "EuEia') {SET *liATcExWID' "T' } } field is entered inbhange or Enter mode; when a field is exited
) (before or after); before, during, and after printing letters; and
{IF *UATaXEITHID=iE', at other appropriate
-tha[ times. There are also a number ofsystem
( {SET trIm|IDITY, "UakaorrE} ), variables store system-related information, including
{ (crNcEL} )
current field name and last key pressed.
)
A nice feature for developers is hidden near the end of the
Xbase, the same piece of code could be written more
In Aooendix in Lhe Rc[erence Manaal: the Alpha Four documen-
anrtleeiblv ( the RETURN statement inside the CASE ta'tion utilitv. Accessed lrom the DOS prompt outside of the
"imoiv
statement is iheri only Lo emulate the Alpha Four code): main program, the A4DOC program documents all file struc-

EZ.//NSTALL
original The Realistic
fre Sonwarc Oe vetoPe/.s tnsblbllon Tcril
Now Your Software Can Havs a Comprehensivs,
Professlonal lnslallation Boutlno ln Minutes.....
Accountant
FULLY INTECRATED ACCOUNTINC SOFTWARE
...with EZ-INSTALL 4.0 ! !
a
Receivables. Payables o lnventory. General Ledgel
a Sales o Purchaseorder. PaYroll
a Fully integrated high-prformance single and multi_us€r versions
.IM and Group/lcon uPdating for FoxPro 2.0 and up. Single CPU and Royalty Free Packages sold.
. NO copyright screens A great tool kit for ary project.
. NO copy protection
r Designed to tecome a simple and easy quick start for any Custom
NO royalties
r Source Included Accounting Project. Complete with easy to read source code
. Free Technical Support included.
. Satisf action Guaranteed Demo Kit $10 complete wilh Full Function Demo. Source Code
r Used by AT&T, Bell examplesand orderinS. pncing informalion.
Canada" IBM, Intel,
aod thousands more
r ald now a special pricell @ Realistic Computing Corp.
827 HaMhorne Dr., suite l05
Allen,Texas 75002
..Ihe Software Factory I-t
s19c1p
-rxrlrfillr[r-rir
Visa lMosereard
Iel (2.14) 390-2260 Fax (214)727 -4644
Orders/Demos Toll Iree 'sry'
13612 Mideay Road, suite 246

800-BB6-922s
Dalles, fi 75244 USA AMEXIDi:aver
EZ.INSTAII (2r4) 490-m35 SbieDils l, (US)
...just $199 le ace.d.).ll5 (od..) B 0 0 B B 0
ux (214) 4gO-9520 Td; rcid;s .dd 8.25%

I1O DATA BASED ADVTSORA'AY 1993


SOFTWARE REV!EW

tures and field rules, indexes, set definitions, applications,


and scripts.
The file mystery
Another key developer feature is the ability to prevent .If I yanted to use Alpha Four for developing client applica_
alterations.to tions. I.wo.uld need-to-figure out exactly wh"ere Alph;'F;;
_reports, labels, forms, browses, rarrg"r, urrd stores atl t he relared files. Although I ser up my u.ife.s files
search-es called from an application. Each type of frle can be in
individually flagged to prevent or allo* us"i a unrque subdirectory. l ve noticed a number of relared files
cha.rges.
in the Alpha Four application directory. If these are temfo-
,Alpha^Four com-es with a large array of predefinied printer rary files that aren t-being cleaned up. then rhey need to Le;
drivers formost ofthe common printers. iniluding posiscript
It's a simple task to modify or create a new driver de6nition rl they-re necessary, I need to know that too
for an unlisted printer. You modify drivers using the
"Create/edit printer configuration" oplion via the,,O"ther,' ln conclusion
option fiom the Main Menu. You can maintain up to 26 printer So, is Alpha Forlr going to put the professional developer out
configurations at a time. The configuration information in_ of business? Although a non-programmer could easilvcreate
cludes a descriptive name, left margin setting, top of form sim p)e_ applications. I believe that p rogra mming skills are still
delay, printer port selection, form advance command, lines needed to unleash Alpha Four's power.
per page, printer initialization codes, print style codes, and
print density codes. Each ofthe various codes is entered using . Overall, I find Alpha Four to be a relatively complete data-
the decimal equivalents of the control string. you,ll need ti
base management application. It has a number oi excellent
features, such as the data dictionary, that I rvouldn,t mind
know various control string sequences for the printer being seeing incorporated into other Xbase products. It lacks the
configured. There's no built-in support for network printeri depth to create a full-scale, mission-critical database applica_
that must be attached before starting Alpha Four. tion.(ofcor.rrse, the company doesn't market the program that
Havingevaluated Alpha Four using a VGA monitor, the first way), and lLs not-a-progrdmming-language is iwkward and
thing I noticed is that the screen wasn't displaying the usual limited. Alpha Four is ideal for the imaleur who needs to
palette of colors but rather consisted of pleasing sof colors. create basic applications.
Unobtrusively tucked away in the configuration menu were
the set-color routines. I discovered a wide variety of prede-
fined color settings, mostly with descriptive pictuiesque Todd could is president of Loten Data Corp., a Los Angeles-based
custom sottware developer and network service burear. Gould has
names such as "Bermuda," "Las Vegas,",,North Atlantic,,, been developing Xbase applications since 1982. He can be con-
"Twilight," 'Autumn," and "Purple Haze.,, One was called tacled at 800-745{736 o. (81S) 226-5500 and on Compuserve at
"Pete's Favorite." I have to agree that it was mine too. 7050'1,320 or MHS: TODD @ LOREN-LA.f

Learn Cli ppe r I n


Record Tim e !
FROM O]IE PROTESSIOI{AI. TO AIIOTHER
UAR MAIIAGER:
Call 1-800-832-2450 to
receive our FREE 7993
Course Catalog and a
FREE report on
ffiffi
Advanced Linking
Techniques.
For tastsr rssponse, FAX your SERIATIZATIO]I
business card to (412) 271-5760. GAPABltlrlES:
. Automatically assigns serial numbers
Our Hands-On Clipper Courses: lo your soft\iare. -
lnlroduclion to Clipper . lntermediate Clipper Topics . Advanced . Tratk serial numbers as assiqned
.
Clipper Topics & OOP Networks, SQL, & ClienUserver Topics to dealers and then to end uiers.
. Tracks serial numbers of
Call to register for our next course in: components received.
Wsahington, DC. NewYork City. Pittsburgh. Chicago.
Ihllas . Los Angeles . San Franclsco . Denver . Boston
I
ul
On-Sito Hands-on Education ls Also Available
APPtilude Senina$ is a CA Recognized Training Csnter lor CA.Clippor
CA-Clippff is a Reg'slercd TEd6ma* ol Computs Associates tnlgmatonat, tnc.
APPi'hte Seninats. 6557 gadetl SIE€I . Pittshlrch. PA 1 5217- 1 833 . (412) 271-5700

APPtituddii{#* I I

DATA BASED ADVISOB/MAY 1993 111


SOFTWARE REVIEW

. Alpha Four
AL]ser
. Applicati on develoPment
.
.
End-uset tool
xbase
T?ies
AlphaFour
word processing functions. Hence, the divided attention, thus causing eye-
By Jim Mortlock strain from my having to constantly re-
need for some power and flexibility.
One day I received a brochure in the focus. On the other hand, the reason for
a sales representative for the mail advertising a program called Alpha putting the steps only in book form may
I craffs division of a elobal textile- 4. version 2 that sounded terrific. The have been because the program and tu-
-'m
I rclated comoanv. Ilravel north- brochure said the product was flexible, torial application already took a lot of
I m."Jl" l*lli.' ?:lll "'l' ff I
occasionally cottage industry manufac-
fast, and-most importantly--designed
for non-programmers. "Hey," I thought,
"That's me!"
space on my hard drive. I was pleased
with the video store application for the
tutorial. As a former retailer I felt it was
turers. What I wanted was a Program that very realistic.
Working on the road has Provided could take existing data and allow me to I did find a number of "typos" in the
some interesting challenges, mostly con- customize it to my needs. Since sales Iessons but found that I created many
cerning information-how to get it and people don't all use raw data the same more typos myself in data entry, which
how to use it. We constantly receive way, the program had to be simPle to led to hours of backtracking or simply
bulky printouts from the home office- understand and flexible. Alpha 4 ap- retaking the tutorial. These were my
monthly sales report by dollars and peared to ofer the ability to create cus- errors, yet I found the program very un-
products, accounts receivable informa- tom scripts for beginning users to work forgiving when I goofed. I didn't find the
iion, customer analyses, etc. The infor- from, yet flexible enough to let end users help key all that helpful, though in fair-
mation I want is buried somewhere in design forms and reports to suit their ness it did help me out of several jams
these various reports. Once received, it's needs. later. Alpha Software may want to heed
up to individual members of the sales Being totally unfamiliar with database the advice ofsomebody with onlylimited
staff to analyze that data and use it as management. I posted somequestions in experience: Buy a copy of Microsoft
best suits their needs. To stay ahead of a number of different CompuServe fo- Works and run the tutorial. It doesn't let
our competition, we have to find ways to rums seehing help. Soon after posting you make an error, and it can be run at
sort and manipulate that data and con- the message, I was contacted bY Dola almost any time within the application.
vert it into timely information. Based Aduisor with an invitation: Now to the program. I found it blind-
They'd place a copy ofthe product in my ingly fast and highly flexible. Too flex-
The company I work for is in the first
hands if I would take it for a test drive. ible. I constantly revised my intentions
operating year of a major corporate as I traversed the tutorial, coming up
merger. The resulting changes from the Trying out Alpha FouI with numerous additions and amend-
mer:ger have almost quadruPled the ments to my initial requirements. To be
amount of data sent to the sales force. When the package arrived, I was in the
midst of my busiest part of the season honest, in certain areas I overdid it
Therefore, the need to seek out the re- Even the limited work I've done so far
quired information and disregard the with our product releases for the Fall
and Winter, but I forged ahead with it. has been constantly revised and up-
extraneous detail is critical. Time is also graded. The biggest problem I have with
I ran into major problemsjust trying to
in short supply, so any automation of get the program installed. It turned out this program is simply deciding what to
tasks is a great help. do with it.
that the copy I receivedwas a fairlyearly
version; a later version installed very My first real project: to automate a
My introduction to database easily. I was disappointed to see that a small pricing table (called "database" in
management menu-driven program like this didn't of- Alpha lexicon) and merge it with a cus-
I was given a small project a short time fer the option ofusing a mouse. tomer table into order forms. Wow, is it
ago to seaich for a computer program Next, came the tutorial, which I also smooth!
that might easily be used by sales repre- had problems with. Yes it is very com- Unfortunately, with all the territorial
sentatives who had no computer experi' plete, but afier completing it "several" changes and changes in product lines
ence and who might even be hostile to times, I believe it would have been much and the handling ofthose lines going on
learning how to use a computer as a easier to work with as an on-screen tu- within our operation because of the
sales tool. torial. I frnd it most dilficult to switch my merger, I've had only enough time to
My decision was to use Microsoft attention fiom the book to the screen scratch the surface of this program's
Works, an integrated program. It works andback again. The book is far too heavy capabilities.
well but is very limited in capabilities, for my text holder, and the small print An associate and I have discussed cre-
specifically in the area of merging and made it dimcult to find my place again ating a system to enter data via barcode
automating database, spreadsheet, and in certain chapters that required my un- and to maintain price lists from one of

112 DATA BASED ADVISOFUI\,4AY 1993


SOFTWARE REVTEW

+t tN

ItrING
]]n
our suppliers pulled from Wordperfect
files. We're also hammering out a stand-
ardized customer table so we can
exchange information.
* FASInSI DavEloPED I

I can't say enough about the flexibility


of the product. The scripts (akin to pro-
grams) I created are understandable by
non-computerJiterate people. (I know,
l\rlosr llAY
because I showed them to a fi-iend, who
said they looked "sensible.") If someone
without experience can follow the
1b G TAT Youn
scripted directions I set up, that's a suc-
cess in my book. I did, however, have
problems writing expressions. To quote
i5'I*: ;:3::;'il,. CmpER,,i:",'i::':i::[1::
from Todd Gould concerning the writing
l1',:t:J,".'J.lil:T:'.
ofexpressions: "No matter what you call
it, it's still programming.'
I'm impressed with the program,
though I rhink the tutorial could be im- It's lean. You can run it
nms "tfru*t*iif:give Clipper users simple
proved to make it even easier for neo- on a 486 or a laptop. ins!ructions over the phone to
phyte database designers.
It's mean. In a recent user follow. No more emergency plane
I'd certainly recommend this program
to anyone who needs some muscle, survey conducted by Data Baxl trips, or long-distance modem
though at this time I believe that the .Adaisor, our product left FoxPro@ hook-ups.
person should have more experience in
programming than I do and, in particu- and Clipper well back in the pack Imagine running a command
lar, experienceworkingwith multi-table But if you re a developel or and seeing what it do€s wlthout
databases. Although the advertising use a Clipper-based application, going through cumbenome
states that this progTam is for non-pro-
grammers I believe that even limited there's a more immediate way to Vrite-Compile-Link steps.
programming experience is certainly an appreciate Shark'i Even reports and subsets that
asset, possibly a necessity.
Let me filI you in on my progress to- Try changing a Clipper f:le weren't anricipated in your original
date. I've created two tables: one for ac- structure, or index expression for Clipper application are easily
count information. the other for prices. instance. accessed through the Shark
These link into an order form. It has a
pop-up window for account information, Until now, you'd have to do interface.
which, when selected, automatically fills extens;ve rewriaing. But with Shark. It transforms huge
in the territory (l share some areas with
Shark in your Clipper toolkit, you Clipper problems into sleek, agile
other reps), shipping and invoice infor-
mation, as well as shipping preference can make edits on the fly. Shark solutions.
and the current date. l've also included Intenctively. It devours them.
an incremented order number for my
reference. The filled-in fields skip to That's because Shark is
speed data entry. Next is the order entry compatible with Clipper dara and To TuRH CLrpprRs hrro SuRrs,
form with an optional pop-upwindow for Cnu |-800.59-5HARK
indexes
quick fill-ins. An extension field calcu-
lates the line total.
I know all this probably sounds tame
to those ofyou who do rhis for a living.
but as a user I'm most impressed. Be-
sides, I've gained a newfound respect for
what programmers do.
W
What's to come? At the present, I have
to make a hardcopy and fax information
into the office, but I hope to be able to
send the form directly from my fax-mo, ,

dem in the fulure. Am I finished? Not


even close. Am I impressed? Very. :

Jim Mo.tlock has worked 13 years as a re- Shark should ser this years
tailer and has traveled northern and eastern BEST CLrfftR ADD.OT a$ard "
Ontariothe lastfiveas a rep for the company
that had been his malor supplier. He can be
conlacled on CompuServe 7't62'1,271 6.:l Tnr FuLr Dnualsr Llucuncr Tunr UNrocrs CuppeR Dnre
DAIA BASED ADVISOR/MAY 1993 113
The UNIX
Database Leader
NowDoes
Netllt{aJ€.
aI,-----

Oth3r Unity Oracle


11.8%
'1751"

P(€r€ss

lngl€s -
5%

Sybas€ -
mrNFoRMrx'
37Ao

Empress

frdffd. UXlx i.Ldon l D.tabaaa Sottw.lt Ucana. ahlpm.ntalg9l


s&6: hr.tutdr oal, cdo..rid, !sd2

\0hen it comes to open systems, Informix pioneered mainframe_caliber


client/sewer data management with INFORMD(-Online
We've taken over 11 years' experience in UND(" client/server databases, and
used that experience to develop a robust, yet easy+o_use approach to NetVale?
based &ta managemenr.
lNFORMD(-OoLine /o t NetVare has t\e power to run OLT? applications
throughout the enterprise. It
-but it's surptisiogly easy to install and maintain
suppons Informix's emfe line of SQLbased application development tools, and
a large number of third party tools as vell.
If you want to build and deploy client/sewer applications qui&Jy, easily-
and successirlly-you want INFORMD(-OnIine/or Nerl7are.
Because when it comes to open systems data management, we're the expens

Find out mote.


cdt r-adL6aa{Fu.
dEilDg rd,otrd t 6 c,tia,!d
^!

[/ rNronvx'
THE U]{tXEpEFtg
DAt/lA lE

,rh^u1""-
CLIENT/SERVER
ADVTSOR Develop
DEVELOPER BEPORT
. Application deve lopment Groupware
. ClienUServer development
. Development teams
.
Appswith
LotusNotes 3.0
Groupwarc
. Version control

By Eric Rayl Design Templates- Sharing code between multiple torms and applications

Lotus Holes
tt t's been a long time coming, but frlc Ylcw gril Hclp
! Lotus Development Corp. is fi-
q
Ev4/.y

4
I
I
nally shipping Lotus Notes ver-
sion 3.0 (referred ro as Notes R3 by
Lotus). Not many soff.ware prod-
ucts can endure a 16-month lapsl be-
tween versions, but L,otus appears to
EB
S*3
r'-;
i

,{El{s
tsiH;i C
-
Ds&=]-,9{!!"e I
S!&l;
\

have made it, especially since rumored


groupware competition ilom Microsoft
SIFE i ,
ffi a,{ r6-
ills H€b D€d*
g: .0
and Borland has failed to materialize. Nc,v*wiE 1991 Ftrq9I1i
Notes R3 is packed with new features
I
and enhancements for users, adminis-
trators, and developers.
-.tr
Te.t olos, Sl
8i- HH -. lll
Fn-i
ni e
Notes is one of the few products Schedlc
available that lets developers develop a
program in either the Windows, OS/2, or
Macintosh environment and instantly
G 0
d/tl
G'l
E*.orive l
U a ffi J-ir--
run it on the other pl^Lforms uithout B'i6rhor i

mod.ification. (Lotus plans to release a


UNIX version in the future.) ClienU
server-based workflow and olfice auto-
mation applications can be rapidly
v I EH ,'
tu**rA"*
i
i Y*r,,lP?pr.
:

prototyped, developed, and deployed in


Notes, and these applications will inher-
ently allow both remote access and be
mail-enabled. signments or activities can automat- choose from a simple information win-
ically be sent to users. dow with an "OK' button to more com-
Workllow applications and
background macros plex multi-value combo boxes complete
New functions with default values.
Building workflow applications to The majority of the new application A shortcoming of pre.rious versions of
automate paper-based office activities is development tools come in the form of Notes was its lack ofrelational capabili-
one ofthe main reasons many compan ies new functions that improve a devel- ties and its inability to read and write to
consider using groupware. R3 workflow oper's ability to create applications. The standard databases such as DBFs and
capabilities have been bolstered consid- most powerftll new functions are in- SQL databases. Lotus has given Notes
erably by the addition of Background tended to be used in Notes macros (pre, designers two new functions,
Macros. You can design macros that run viously called "filters" in Notes 2.x). In @DBtookup0 and @DBColumn0, which
periodically (hourly, daily, or weekly) on addition to @MailSend0, @ommandO will help provide relational capabilities
a server that runs oncc against a given will become one ofthe most widely used between Notes databases, allowing in-
document. This feature can be used in functions because it
can execute Notes formalion such as customer lists, de-
many ways, such as automatically esca- menu commands from within a formula partment numbers, and cmployee infor-
lating the status ofproblem reports that or macro. mation to be maintained in a central
have gone unresolved or automatically Another addcd, and much necded, database and be easily used in multiple
pu.ging or timing-out workflow re- function is @Prompto, which causes onc Nolcs applications. This is particularly
quests. When combined with the new ofthe many typcs ofmodal Windows 3.1 useful in keyword fields where the
@MailSend() function, notices ofnew as- dialog boxes to appear. Developers can selection list can be dynamic and not

DATA BASED ADVISOR/MAY 1993 115


DEVELOPER REPORT

hard-coded into the field. Unfortunately, a formula. There are several new Iunc-
tions that will help ensure that correct Notes lros and Don'ts
Notes still doesn't supportdirect reading
and writing to other database formats, statements of a formula are executed:
but this support is rumoured to be close @ReturnO will cause formula execution on't dwell on the cost-Per-
in the form of ODBC-compliant drivers. to stop and return the specified value; license for Notes; at a re-
@Do0 witl allow a developer to not only tail cost of approximatelY
Fotmula evaluation rules specifu multiple statements in a formula $495 per user, Notes is an
Under R3, lotus has imPlemented a but will ensure that the statements are extremely good value
too-down execution sequence th aL executed inthe orderwhich they appear; when vou consider that your organi-
miles iteasier to predicr the outcome of @Set0, @SetEnvironment0, and @Set- zation won't have to Purchase elec-
tronic mail, word processing, and
relatively few communications solt-
ware licenses, not to mention exPen-
sive application development sys-
tcms and their associated run-time
licensing fees.

Announoin g Don't try to run Notes concurrently


with an established e-mail
Do plan your implementation with
system.

the goal of eliminating your current

DB.h++ E-mail system within a stated period


of time. (Unfortunately, you may also
have to install and supPort Lotus'
CC:Mail since it has some gateways
Errend your client/server system to mail systems that Notes doesn't
and Notes has a gateway to
wilh a dirsbose inter{oce ilrot your CC:Mail).
Don't be discouraged when it be-
Ploglunmer olreody know. comes apparent that Notes will not
completely meet the needs of a Par-
ticular application. Do focus on how
C++ Access io Doioboses Notes can be used to quickly develop
a variety of distributed applications
that have a common user interface
.Data obieals defined a{tomati- and easily allow remote access-
DB.hl'l i, u po.'".tu una
calty. Obj.,ct definitions can be Don't think that because applica-
portable altemahve to develoPinB
D&.h++
your applicatjon using EmHded
automatically derived from Your tion development under Notes is so
suprls fot/o,rd,, SQL or a proprietary APL It
RDBMS data dictionary easy that end-users should be en-
Recompilation is not necessary iI couraged to develop Notes applica-
od <ttont enables RDBMS and ISAM devel-
l4krosalt, the data dictionary changes.
oDers to extend thef slstems urth tions. Do develop policies and proce-
ronfihrs. tlie benetts of C++ and object- .support for BLOB (Binary targe dures for helping end users create
Ccrr4rrdl/ewith oriented Fogramming. O8iect) datt DB.h++ contains Noles applications and make certain
l,l9DOi, Whdows 3.x,
special classes that rnnlrc it easy to that MIS approves their applications
DB.h++uses operator overloading i;corporate compler data, stored in before they are allowed to be placed
tu1o', NX, llP-UX to help your C++ prograrnmers do the database as BLOB dat4 into on a Notes server.
database develoPmmt without your application.
od OS/2. in-depth knowledge of SQL. And Don't think that handing a user the
your DBMS developers get lndudes turorblwith Lotus Notes documentation will con-
iumpstarted because the objeds
exomples. Otiect qnd source stitute adequate training. Do plan on
in DB.h++ - cursoE, rows, tables, wrsirrs ovoihble. training users on general Notes tech-
etc. - are alrcady familiar to them niques. Your initial training costs
rliilfr .Ponability aqoss dahb53e plat'
will be higher than normal, but as
you create more Notcs applications
DB/t)(PI S3 forms. DB.h++ has be€n desiSned
that users can use without training,
from the 8round up to be Portable
aooss databases, oPrating
you will reap the benefits of lower
systens, and compilers. overall training costs.
Boorh #1616 Don't exclude DOS users from sub-
mitting Notes documents to a Par-
ticular database- Do create simple
iOR IAORI IN]ORTIATION RO G UE DOS lronl ends for applications us-
WA VE
CAII ROGUE WAV: TODAY ing the Notes API so that DOS users
have a quick way to enter informa-
1.800.487.3217 ioirwaRE tion such as help desk requests.
RaYl
,.O. r.r ,!2a, a.rudlL, Or.gqr 9r!39 ' Itoll 75a'231I ' l x: lSOSl 757'6610 -Eic

116 DATA BASED ADVISOFI/MAY 1993


DEVELOPER REPOBT

What is Lotus otes?


.I\ Y ::""",,"'; o,:,"1:iJ;"0:,?:-
I Word processing capabilities that database (No Access, Reader, Author.
include full supporl for compound Editor, N{anager, etc. ). Database
I \ ! oase sysLem thar uses the documents that consist of text. "roles" can be assigned to people or
| \l clienti;server com pu r ing numbers, and 'rich text" fields that groups. bur unlike Notes 2.x rhev
! model. Currently, Win- can contain not only formatted text, aren't limited to the fi\e different de-
dows, OS/2, or Maclntosh clients ct.rm- but imbedded OLE objects, such as fined privileges per database.
municate with Os/2-based Notes serv- graphics/images, sounds, and Notes uses a combination of single-
ers. Notes users and servers are inter- videos. and dual-key encryption algorithms to
mittently connected, so that the data- I protect data from unauthorized access.
bases on the various servers can be The ability to extensively modifiy
how information is entered, organ- Dual-key. or public-key encrlption, is
resynchronized (replicated). Notes a technologlr that Lotus Iicenced from
supports many major network operat- ized, and presented. Additionally,
Notes R3 offers the full-text search RSA Data Security, Inc. Irs purpose is
ing systems, including Novell Net- to protect Notes mail documents. You
Ware, Microsolt Lan Manager, IBN{ capability, which can be used across
multiple databases. can also use single-key encryption to
Lan Server, and Banyan \IINES, and
you can use Notes servers as an inte- ! Comprehensive security measures protect individual fields within a docu-
including selective restrictive data- ment so that the data can be seen onlv
gration tool for linking dissimilar be users who possoss the encryption
LANs. base access control, down to the re-
Building upon this platform of dis- cord and field level, using RSA data key. Additionally, you can encrypt
tributed databases that are automat- encryption technolog-y. data as it is sent across a LAN or
modem connection.
ically updated, Notes provides:
Combining Notes multi-platform,
Lotus has made Notes a secure envi- distributed database system lvith it,s
I A platform for creating CUA- ronment lhrough a combination ofda- rigorous security measures makes
compliant mail-enabled applica- tabase access control lists (ACLs) and Notes an excellent platform for devel-
tions that are intrensically net- database roles (formerly called "privi- oping powerful, secure, distributed
work-ready, have remote-access, leges" in version 2.x) combined with GUI applications with a minimum of
and can r-un in the Windows, OS/2, encrlption keys. Each database has effort.
or Maclntosh environment without ar ACL that controls which default Rayl
modification. rights a user or group has in a given -Eric

FieldO are all equivalent to statements which allows for not only a single point are available as Smartlcons or from the
that were available under vcrsion 2.1 of maintenance for multiple databases, Notes menus, should be discouraged.
but are now available as functions and but for a common "glossary" ofdatabase Notes forms have much improved ob-
can be used within @lf() statements. fields ject linking and embedding (OLE) sup-
Some care and thought must go into port, and a form can be designed to auto-
Design templates using shared fields, however: In pre- matically launch an embedded object
Notes database designers have always vious versions of Notes it was common when a form is opened, in either com-
had to fight with the problem of how to practice to use the same field name in pose, edit, or read mode, and hide the
reuse their code. Fields can be cut fiom multiple ways, but this can cause prob- underlying Notes form. Document li-
one application and pasted into another lems when using shared fields in R3. For brary databases that consist offiles cre-
application, but this approach quickly example, in v2.1 a field called "Depart- ated in OLE-server applications such as
gets unmanageable when it comes time mentName" in a main document and Word for Windows or Ami Pro will bene-
to update all ofthe same fields in multi- defined as Editable could exist with a fit greatly from this approach, athough
ple applications. Lotus has solved this field with the same name used in a re- care must be taken in multi-platform
problem by modiflng the way Design sponse document with a field type Com- environments to ensure compatibility.
Templates are used-by defi ning shared puted (to inherit the department name Another important document manage-
fields. and adding the Refrcsh Design fromthe main document). Under R3 this mcnt capability in R3 is "automatic vcr-
option. Unlike Lhe version 2.x "Redesign will cause a problem if the field is a sioning." A new form attribute is the
Database" option that basically sychron- shared field from a design template ability to save changes to a document as
izes a databasc's form, views, and fields since the automatic dcsign-refresh proc- responses to the document or for prior
with it's design template, the Refresh ess will try to reconcile the field's defini- versions of a document to be saved lrs
Desrgn option allows fields to be selec- tion to the design template's dofinition. responses to a document. While cer-
tively shared between a design tcmplate tainly not a full-blown version control
and a Notes application. Furthermore, Form and view design system suitable for source code. this fea-
these shared fields can be read-onlv so One ofthe most noticable form changes tures allows rudimentary versioning
that they aren't altered by the design is the ability for a developer to put but- systems to easily be written.
reliesh. Fields can now be shared fuom tons on Notes forrns that cxecute a com- In Notes R3, ficlds in forms can now be
multiple databases. This new template mand or macro. While this functionalitv refreshed automaticclly, wit hout hnving
system allows corporations to create can make an application more intuitivl to press the F9 key as in previous
pseudo data-dictionaries of the fields for users, the overuse ofbuttons for com- versionsof Notes. This will help com-
that cre used wilhin their applications, mon Notes activities, such as those that puted fields be more useful since they

DATA BASED ADVJSOR/MAY 1993 117


DEVELOPER BEPORT

can now be automatically calculated as buttons, popups, and OLE objects. A useful since they can protect a routing
soon as the data is available for the cal- form can contain multiple sections, and list from being modified by unauthorized
culation. users can specifically be made "owners" users.
of a section. For users listed as owners, One major disappointment in R3 form
The last major enhancement to Not€s these fields will behave normally; for design is that Lotus didn't improve the
forms is the ability to create sections in other users, these frelds are read-only, table capability within forms. Designing
a Notes formand control the access tothe even if they're listed as Editors in the a table in a form is tedious at best and
section. Sections are special areas of databage access control list. In workflow there are some serious limitations. For
forms that can contain static text, fields, applications, sections can be especially instance, a table's column width mustbe
at least wide enough to accomodate a
field's name in design-mode, which can
cause either columns that are too wide
or use ambiguous field names.
While the design ofNotes views hasn't
fundamentally changed, the ability to
Data Junction@ Converts make views more astheLically pleasing
has been enhanced. Now views can use
a variety of font styles and sizes. A new
Your Data Files view type has been added called "Private
on first use" which helps developers use
Use Data Junction to get your data where o No programming menu &iven the @UserName function in view selec-
you need it. Quickly and efficiently.
- tion formulas. This limits documenk to
tr Selects/rearranges records, fields, chars particular user. The developer also has
Convert to and from dozens of popular a
tr Reads/wriles memo fields & dictionaries more control over how and when a view
databases, spreadsheets, accounting &
statistical packages, and other applications.
tr Instant script file creation for total batch is indexed, and when the index is dis-
There's no better tool than Data Junction
processing carded. This is especially important in
for converting, manipulating, modifying or tr Also converts any ASCII, binary, Iarge databases since unneccessary re-
defining your structured data files. EBCDIC or packed data hles indexing wastes time.
Views still have the curious limitation
Accounting Paclages of not being able to display encrypted
sOL DBs
fields. even when the user has the appro-
priate encryption key. An examPle
where this feature would be very useful
is a human resource application that
contains encrypted salary information.
DBs
It would be very useful to be able to
display this data in various views that

v
Data Junction
^
perform calculations such as pa1'roll to-
tals by department, salary averages by
job grade, etc.
One additional new feature common to
forms, views, and macros is the ability to
create sub-menus. This feature will help
desrgners group similar forms. vtews,
and macros beneath a similar menu
M.inlrame & Mini Data selection.
"... a powerhouse.'' Lotus Magazine Security enhancements
"... more than worth its price.' PC Magazine rtfus. zeei\ Notes 2.x had the ability to create up
''.,. a surelire winner." Computer Language ffil
\bel
iffi,ftbal
\trb!6.L./
to five database "privilege" levels that
allowed database designers to hide cer-
"... an in!'aluable integration tool." Byte vz-/ \.14-l
tain forms and views from unauthorized
"... olle of those softs'are gems." UN Times users. Notes 3.0 has changed the notion
1 2-3, o&A, Enable, DlF, asksam, & merge liles
of privileges to "roles" and has dropped
Standard Edition convens dBASE, Ascll, the limitation on the number of roles
$99 tor WodPerfect. Word & Wordslar
that can be defined (databases created
Protessional Edition Convens Standa.dformats plus Binary/EBCDIC, SC4, SYLK' Paradox c_t.ee,
$199 R:8ASE, Clarion, Excel, DalaEase, DalaFlex, Magic PC. Btriev€ & more with privileges are still supported under
Edition Converls Sld & Prol. lomals plus lnlormrt. Xdb. Oracle. Nelware SQL. Xlrieve.
R3-they're a subset ofroles). Roles can
Advanced
$299 SAS. SPSS, S.Plus, Platinum. Solo.non. Progress. ALcPAc , Raima & more also be used in many more places than
privileges, such as in controlling access
LAN 1-4 users converls alllormats. UNlx & XENIx v€rsions available
to particular form sections and even spe-

BT
$499 for 386/486, Sun Sparc, RS6000 & HP. call lor pricing
cific documents.
Cal/ 800-580-4411 (Ext. 97) Lotus has still not improved the secu-
or 512 459-1308 Fax: 512 459-1309 2201 Norlhland Drivs rity of "local" (versus server-based)
AMEXoVISA.M/C.COD Ausrin, TX 78756

118 DATA BASED ADVISOB/MAY 1993


DEVELOPEB REPORT

Add-On Tools lor Lotus J{otes

ACL/Reportet board" ofkey business indicators, with Q+E Database Editor


Distributed Systems Solutions graphs and reports, that automatically Pioneer Software
International, Inc. monitor the status of a trusiness 5540 Centerview Dr., Suite 324
31255 Cedar Valley Dr., Suite 207 operation. Raleigh, NC 27606
Westlake Village, CA 91362 Price: standard edition, $695; {919) 859-222O fax: (919) 859-9334
(818) 991-0200 fax: (818) 991-4606 clienUserver edition, $?90. Summary: With Q+E, users can ex-
Summary: Designed to helpcontrol the tract pertinent information, perform
many Access Conirol Lists that existin lntoPump ad-hoc queries and reports, and inte-
an installatior that has a numtrer of Channel Computing, Inc. grate data into other applications.
Notes databases. Provides a Notes Summary: InfoPump is a data router Supports DB2, Ingres, Oracle, Sybase
Server Adminisl,ral,or or a workstation that offers a complete development SQL Server, Microsoft SQL Server,
user with a way to observe thecontents environment for building and SQLBase, NetWare SQL, XDB, OS/2
of the ACLs. l,ets users {ollow the implementing dara routing appl ica- DBM, Paradox, Btrieve, dBASE, Xl-S
changes that take place to ensure that tions. ?he Notes API provides SQL- files, and text fi1es.
they meet any special constraints. like access to Notes data, making each Price: $299
Price: $995 for first four Notes servers; form a "table definition" and eachdocu-
each additional server is $395. DSSI ment a "row." Using the InfoPump
also provides enterprise licenses. Script Language. you can develop sim- OIE Database Library
Pioneer Software
ple scripls that move documents into
DSSI Database Utilities and out ofthe Notes database.
Summary: Collection of DLLs that
provide a common call-level interface
Distributed Systems Solutions Price: $25,000 for two datat,ase for database access flom any applica-
lnternational, Inc. interfaces ald two dalabase
tion capable ofcalling a DLL.
Summary: A suite ofdatabase utilities managers-
Price: $399
that allows periodic maintenance of
databases without the need to do so LighrShip
manually from within the GUI. Pilot Software Application Programming
Price: $495 for each Notes server. 40 Broad St. antedace (APll
DSSI also provides enterprise licenses. Boston, MA 02109 Lotus Development Corp.
(617) 350-7035 fax: {617) 695-7265 55 Cambridge Pkwy.
Foresl & Trees Summary: A data-driven visual Cambridge, MA 02742
information access and analysis tool. A (617) 577-8500, (800) 343-54L4
Channel Computing, Inc. graphical front end that provides
C)ne Harbour Place. Suite 500 Summary: A set ofC subroutines, data
access to text, numbers, images, or structure, and mail functions that
Portsmouth, NH 03801
graphical data. allows you to write programs that
GO1) 427 -0444 fax: (603) 427-0385
Price: LightShip single user, $795; 25 access Notes databases.
Summary: A desktop decision-support
users, $27,500; LightShip Professional Price: call company
tool that lets users collect, combine, (includes LightShip Lens) Developer,
monitor, and act upon information
from a variety of sources. Users can $4,000; each additional developer,
create a customized "electronic dash- $2,000.

databases. One ofthe main loopholes rn ments all of a particular databases one vendor, a Windows-based develop-
Notes database security has always fields, forms, and views. This feature ment system liom another vendor (com-
been that when a database is not on a could be much more useful, however, if plete with run-time fees), a Macintosh-
Notes server, encrypted fields are the Lotus would creaLe a Design Synopsis based development system from a third
only means of security. Shared encryp- database that could document multiple vendor, remote-access software from a
tion keys aren't easily administered or databases in one location. fourth vendor, and an e-mail system
maintained, and it seems that there from yet a fiIth vendor. There will al-
should be some easier way to protect the Conclusion ways be the transaction-intesive appli-
databases on remoto users' laplops. Companies looking to develop cli- cations that Notes cannot support, but
ent/server applications that allow re- most any company can still benefit fiom
Other new leatures mote access and support multiple GUI implementing Notes R3 for at least one
Notes R3 can create full text indexes of platforms should take a serious look at of its application development needs.
databases, so users can perform full text Lotus Notes version 3.0. While it may
searches, across multiple databases, us- not be able to meet all of a particular Eric W. Rayl, a panner ln Alison, Rayl &
ing boolean logic. applications specification, a company Associates, has implemented Notes al a va-
Developers can also print a "design gets many more benefits fiom using Lo- riety of sottware developmenl companies
synopsis" of their Notes database which tus Notes R3 than having to use some and tinancial institutions. Hecan be reached
creates an ASCII text frte thatfully docu- combination ofa database back end liom al (818) 363-3575.1

DATA BASED ADVISOR/MAY 1993 'I19


,,\
I T+
I I,
t

r cau ' PRPW,/jWTB's 1-800- szs-laoe


,.

r
r
t992
DATARASED TM
fleade$
Auel
By John Kaster

CREATES YOUR
,a
SYSTEM DOCUMENTATION

TechWrite/uadapts to the way you program.


Supports all Xbase Ianguages: CA.dBFast,
CA-Clipper Summer'87 & 5, dBase lll/lV, and FoxPro.

Creates ready to use ASCll, Expert Help, Norton Guides,


Tom Rettig Help, and WordPertecf files.

Supports external editors such as Brief, Qedit,


Multi-Edit, and Sage Protessional Editor.
Download demo from BBS (Documents first 25 modu

Voice: 703/765'0805
FflUBBS: 703/765-1836 utsfi
CompuServe: 71510,3321

-
lnterface Technol
2314 arv Baldwin Drive
Alexandrh, VA 22307.1 508
CLIENT/SERVBR
ADVISOR. Forest &
CASE STUDY
. Downsizing
. Forest & Trces
Thees Gives
. ClientEeruer
GUIFace to
Mai e
Data
By Linda L. Briggs like a railio button, is a location on the access other scripts, scripts can acceas
user's screen. When the user clicks on queries, and they can retrieve data from

\IY Y
the hot spot, a designated action takes queries." Lebit also explains that the
place-printing a report for example. scripting language is "very user-
lil*t}"un"1ft:Tx Drilling down is similar, but allows us-
ers to click on a location to focus in on a
friendly, very easy to understand." This
formula, for example, creatcs a dialog
particular piece of data. A dollar sign
;a*r"Ti":fll*1T*#- might represent sales figures, for exam-
box that prompts the user to choose 6:om
a list of items:
agement honed in on Channel Comput- ple, and could be set up so the user can
ing's Forest & Tlees. (At press time, Palo DlelogrD(
extract more detail by clicking on the
Alto, Calif.-based Trinzic Corp. an- dollar sigl. The system can be pro-
nounced plans to acquire Channel Com- List" )
grammed to expand on that piece of
putitrg.) But Release 2.0 had problems-
problems that would have precluded the data, drilling down to more detailed
sales information. This query prompts the wer for an
firm from using the product. After meet- item code and returns the descriptiou of
ing with Channel Computing, the com- Fane tuning that it€m:
pany became a beta site for Release 3.0.
This article explores the process the Programming is done in Forest &
Tlees'script language. It can be pro- SBITECT dlascrlDtl6E
firm went through to select Forest & grammed to build queries "on the fly" as
ltd_trbl.
FItOti
Tlees and how they plan to use it. yh€rc lt.!d_cod.r - dlial,og(,E[tcr
users are making selections. According It.n Cod. to Id.rEtify, )
Forest & Tlees is a data access and
reporting tool that runs under'vVindows.
to consultant Adam Lebit, "that makes
it relatively easy to program. Scripts can
Its SQL query engine ofers a single in- This formula sets the variable drill to
terface to a host of data sources, includ- the yalue of the last triggeted row of
ing dBASE-compatible files, Paradox, column 2 ofthe last triggered view:
R:BASE, DataEase, Q&A, Novell
Btrieve, Lotus Notes, ASCII, and binary .6t.trlEg (,thi11,, &tELggcr-
flat files. It supports a number of data-
: vl.t'a!D.& (&trtgg.rror&,2 ))
base servers, including Microsoft and
Sybase SQL Server, Oracle, Gupta This formula opens the group All Sales
SQLBase, Novell NetWare SQL, and calculates the view PROFIT:
INGRES, and Quadbase. The program
-=
GrouD ('AEolI" ,AtI 8a1c., )
also offers links to Irtus 1-2-3, Sym- VI. T(C,IJTT,L. I|E,, , PROEIT, }
phony, ard Microsoft Excel, and sup- -l
ports the Windows dynamic data Product Sales Tracking Lebit is a software conaultant who was
exchange (DDE) method of real-time hired in August 1992 by the Framing-
linking of information in different
packages,
E ham, Mass. firm to develop a prototJrpe
of the executive information system
Forest & Trees includes such user- they'd conceptualized. By late Septem-
friendly features as automatic query ber, he'd produced a simple protot5rpe.
generation and a clean, graphical inter- "They wanted something fast," he ex-
face. Prograrrmers carr use it to build EE EEE plains of the four-week turnaround.
attractive interfaces with features like "They were still considering other tools
'hot spots" and "drilling down"-graphi- at the same time."
cal ways of allowing the user to select Before Forest & Trees, sales and mat-
and focus in on specific data. A hot spot, keting data was downloaded to the local

DAIA BASED ADVISOR/I\,AY 1993 121


CASE STUDY

IBM RS-6000 computer from offrces to view and manipulate information data-an important point during the
across the country (it still is). Oracle was quickly. "They wanted lbothl reporting
a selection process.
then uEed to manage the data and sreate tool and a query tool." Management Data extraction is now done with
tables- To extract meaningful data, us- want€d the ability to create meaningful Forest & Tlees residing on the PC. The
ers had to print batch files from the reports, and to drill down on critical product sends its queries to the Oracle
mainframe-a long, tedious Process. data, extracting the information needed engine, and Oracle perforrns the query.
and discarding the rest. Unlike Oracle, Forest & Tlees then presents the infor-
A good fit Eorest & Trees is solely a query tool. mation in a tabular or graphical format,
According to l,ebit, the 6rm was look- Users can view but caanot change any depending on programming.
ing for an on-line tool that enabled them Speed was a problem at first, Lebit
explains, because "we had one big table
in Oracle" with as many as five million
records. He's now working with in-house
programmers to design ditrerent kinds
oftables in Oracle. Speed is now "not as

Check into dotomol's much of a problem, but [the system] still


doesn't satisfu everyone's request. We're
redesigning some more tables." Except
Business Monogement for that glitch, Lebit says working with
the Oracle tables went extremelY
Tools smoothly.
The company chose Forest & Ttees af-
t€r looking at several other producta,
Power, Performance and Security including Pilot Corp.'s Lightship, Oracle
Datamar's Eusiness M anage ment Library olfers Jeatu res lound only in top Card, Asymetrix's ToolBook, and Power-
accounting packages. Each module otfers multi-levei logon and password Builder. Ed Orton, Information Tech-
proteclion , and special functions onlylor supervisors. Allthis, plusthe capability ot nologies Manager, was instrumeutal in
posting to prior periods, 3-year comparison s on a single statement. and much more the selection of Forest & Ttees-and in
hiring Lebit. He says Lighkhip had been
Maximum Compatibility selected when a team member saw For-
Our Business Managemenl Tools a.e fully com patible with arrm4or dBase est & Tlees at a Windows conference,
e interpreters and compilers, including dBase lll Plus (v.1.1), dBase bought a trial copy, and showed the
oxpro, DBXL, Clipper, and Quicksilvef product selection team. Although the
team had seen other products with nice
Free, Unlimited Tech SuPPort graphical interfaces, the demonstration
\obody oeas Datana/s suppol seryrces. We provide Iendly. expert tecnn cal sLpool by of Forest & Tlees proved crucial. After
phone lax. 01 Conp,lserve in the Dala Baseo Adv'sor Forum. and on our ow l e leclrclic seeing the demo, and with some urgiog
bu let n Doard And rts all aGol"tely \ee Peiod \o subscription tee. no trme inil. from Orton, who especially favored
Chaanel's product, the selection t€am
VARs Build on a Solid Foundation chose to go with Forest & Trees.
Each ollhe Datamar Business Toolmodules operates independently or Orton then brought Lebit in to develop
together. Buy whalyor.r want, when you want, and expand when you choose a prototype before proceeding further.
Every module is designed for multi-user environments o, up to 255 users on a Lebit had a background in Paradox and
standard local area network. Each one reatures easy to read and modify source an IBM product called Metaphor with
code, so you can tailor it lo meet your cuslome.'s specific needs. And don't forget to
ask about our dealer p.ogram. some rough similarities to Forest &
Tiees. At the tiEe, he knew nothing
about Forest & Ttees.
Datamar Business Management Tools
Payroll Accounts Payable Order Entry We do Windows
Sales Analysis Purchase Order & lnvenlory Job Costing According to Orton, product cost, in-
Eslimating lnvoicing & Accounts Beceivable Bill of Materials cluding associated fees (such as up-
General Ledger
grades, licensing fees, maintenance
$198.00 per multi-user module. $15.00 Demo available (cost applies costs, and so forth), wasn't a big factor.
toward purchase.) FREE Menu system with 3-module purchase.
Source or executable versions available (Forest & Tlees is priced at $695 for the
Orders received by noon (Pacific Time) shipped same day. Standard edition; $790 for the
ClienUServer edition, with access to
dotqmol systems host-based environments an additional
$195.) What was crucial was the Win-
dows interface. nlt was very important
6969-D Corte Santa Fe, San Diego, CA 921 21 that we pick a tool that ran in the Win-
(8q)) 223-9963 Calif. (619) 4s2-oo44 . Fax (619) 4s2-oo88
. dows environment. We picked Windows
as a strat€gic direction lwithin the cor-
Producing xBase accounting applications since 1981 porationl , going with tools that are much
' Al s pEc.ny d .osp6cll@ mef&tutoE
cooyngftB
more intuitive." With Forest & Tlees,
Orton explains, 'lve're trying to cieat€

122 DATA BASED ADVISOF/MAY 1993


CASE STUDY

Flgure 1--+orest & Tr€es'alarm triggers est & Trees by Lebit. Orton expects time this article appears. The firm is
lnltlate acllon based on specilic business other, more technical users, such as data making some firal changes to the Oracle
condlllons. analysts, to build their own applications database. Eventually, there will be more
and create their environments. He than 30 users. For now, fewer than 10
maintains, though, that uanyone who are using the new system. All users will
---!,.1 can use 1-2-3 can use Forest & Tlees. run PCs oo a Novell LAN.
.3--l With Powerbuilder, for example, you According to one user who's tried out
--r--.1 need more of an apptcations person." the new system, speed is somewhat ofa
The Forest & Tlees system isn't en- concern. Michael Borgos is manager of
--L-l tirely in use yet, but should be by the sales and marketing information re-

i-9=.!!! E !:!l
an information utility that lets the users BUSINESS
do their own thing."
In early October 1992, Lebit and
resentative from the company visited
Channel Computing. They talked with
Channel about the upcoming release of
a rep-
o PPORTUNITY...
Forest & Tlees 3.0, which was still in the
development phase. According to Lebit,
"we brought up some of [our] concerns
Ibased on 2.01, and they took care of
them. They showed us a demo of 3.0."
I
The firm's main concerns with 2.0 were
the reporti.ug tools and the graphical
WA]\I'ITD.
user int€rface-ironically, two of the VAR$Programmers, and Resellets to Marhel
program's strengths now, according to -e
Lebit. Medical 0mml Sofiaare Royalty -Fnee.
In version 2.0, for example, the report-
ing tool could handle only simple calcu- Income Potential of 5 or 6 Figurcs!
lations. "It couldn't combine calcula-
tions, it couldn't do multiplication and e
division." In addition, programmers
could use only a limited number of for- Complete Top-Rated FOXMed PROTM or [O[)ent PROrM Software, 45,000+
mulas predefined by Forest & Trees, and Lines of loxPro Source Code, Illustrated User's Manual,, Ro]alty - Free License.
'ltwas a one-pass report tool." In 3.0, the
reporting tool is enhanced so that it can For an Affordable Fee.
now do complex calculations. Program- . Benefit from our
mers can also write formulas. Perhaps 1-ears of experience, sar.e l00o's of research and
the most important improvement, Lebit deYelopment hoursl
says, wErs that the report writ€r was . Current base of 1,000's of happy doctors with s)'stem costs ranging from
changed from a one-pass to a tn o-pass $299i to $20.000+!
tool. . Vi{Rs and doctors yote this s},stem the best on the market at an}'price!
The graphical user irterface was sig- . Declared the finest user interface created for medical mamgement.
nficantly improved as well. Hot spots . 1990 s techrology utilizes windo$'s, macros, arla)'s. UDF'5, scrolling look-ups!
were added, so thatwhen users drag the . Addresses I million pati€nts.99 doctors, and produces 1.000's of reports!
cursor over a particular area of the . FASTII Locate I patient out of 100,000 in less than l/2 second!
screen, the cursor changes shape and the . Integrated general ledger flrll securit,y s),stem, and multltasking capabilitl !
area can be selected. Version 3.0 added . Clinical features una\.ailable in any other package. BUILIIN!
lots ofvisual touches, such as on-screen
buttoDs and a bett€r drill-down capabil-
. Full LAN suppofi and complete deskop management qvstem with l0 pop-ups
ity. In 3.0, l,ebit says, "you can do all . FullvA-R sales support:color brochures, demonstration video and MoRE!

Dnmo Systnm -lbu$lJ komea.


these complicated things. You can actu-
ally customize the way your window
oal
ltis --
looks, Iandl how l,he wiew inside the win-
dow looks." Vereion 3.0 also added the 1009i Fnnctioral. Limited to 250 Patients. So Good, Can SILL DDMO!
lor.lgr ordus nr.lrde i I r, shrppin!
ability to import bit-maps and to custom-
ize the menu bar.
The average user at the company is a
sales or marketing manager, who relies
on the functions programmed into For- affi 12500 San Pedro Ave., Suite 460 . SanAntonio,Texas 78216
2l 0.5+i.1 0lO . FAx 210.5+5.5i+i

DATA BASED ADVISOF/MAY


,I993 123
GASE STUDY

sources. Borgos, who describes himself bases," he admits, professing a prefer- and a snappy response." Although the
as the "techie computer guru in sales ence for R:BASE. But Borgos concedes software's not as fast as he'd like, Borgos
and marketing," conceptualized the ap- that the Windows interface is important Bays Forest & Tlees has "come a long
plication before Lebit created it. for most users, and says he Iikes the way from 2.0. fThat version had] many,
"I!e been playing with [the new sys- product "because of its ability to make many limitations."
teml to learn it," Borgos says. As a user [data accessl very easy for the user."
with a technical background, he finds But he can't resist adding that Figure 2-With For€st & Trees' two-pass
some aspecta of Forest & Ttees tedious. "R:BASE just zips through this [kind of reporting, summ8ry lnlormatlon can be
incorporated lnto an sxecutivs summary
"I find it somewhat clunky and slow com- data manipulation.l There's a trade-off
pared to what I'n used to $'ith PC data- in favor ofease of use. You give up speed
ffil-4Er*rm{ilEm

I New Rx from the


ilBASE l)octor.
I art ru How maintainable is Forest & Tlees?
"It's very maintainable," Lebit says, al-
-E-- Paul Heiser promises yoa super
though he says a prograrnmer will still
need to get a feel for the application and
5--,-I
puedrom the new oenionof 'lvhat you're going to look at." He will
train one other person, the in-house da-
dSAIVAGE PROTE SSI OMT 4.0. tabase administrator, to support his ap-
plication once he leaves.
dBASE file damage has been around dSAMGE gives you potent ard proven tools. What does l,ebit thin-k are the main
since the inceptioo o[ dBAsE atrd Paul has .New user inter{ace wilh pull-down menus, strengths of Forest & Trees? "It's very
been bringrng dBAsE frles back to life for full mouse support, enhanced diagnostic user-friendly.' The graphical interface,
almost as [ong. and repair facilities. he thinls, is perhaps its strongest fea-
Now the dBASE doctor promises you .Command-line diagnostics that run ftom ture. Ofequal importance, though, iB the
the power of ultimate file recovery Rilh fte DOS prompt or balch frles. support he received during develop-
dSALVAGE PROIN.SSIONAI 4.0, .Supports new fleld qpes ir [oxPro. ment. "I have to say, Channel Comput-
.Recover ZAP'd & crossed-linked fles. ing has great technical support. They're
dSALVAGE is ar exhemeiy efficient rnd
.Large disk panftion support. still very helpfirl.'
easy{o-use file recovery system. It even
protects you ftom insidious dBASE dangers, .Complete disk wdte corhol. Orton says that the only drawback to
such as panially lost or slightly corrupt data, . "Continue-ftom-here" feature for even Forest & Trees is tbat there's no Macin-
tosh version. "It's an issue because sen-
with regular automatc analysis and repair fzster recovery
features. [eatures so powerful that they .on-screen damage anallsis reports. ior managers in this division mostly
€Yen recoYer lost memo data! .Repair of most damage forms without have Macintoshes. I have to satisfy
[their] needs as well-" For now, Orton
dSAIVAGE supporls FoxPro, dBASE, copying file to separale oulput.
says, the company is once again looking
Clipper, dB)0, and all other XBASE .Headerhecor hex/bl4e-stream editors.
.Extensive on-line help.
at Oracle Card as a front end for the
products. Masintosh users.

c€t fte
solution before
I

I
Ple?s€ send me-
PROttSSollAI for o, y $19.951+
copies of dSAIVACE II
llllrw-llIl
On his part, Lebit thinks the introduc-
tion of Forest & Ttees has been a success
so far. The package has been "veryfavor-
ably accepted. I think people have been
the problem. waiting for it for a while now." In fact,
Dotr't wait until your
I
Narne

Phone (
I ffiffi the company has plans to expand the
dau is conuped to buy I syst€m into u6e iD its inventory division,
I Company tlx-iltrll
the solution. Be prepared.
I
and to add Eore data as use of the
C€ll I Steel product grows.
(8oo) 456-7005 I Gty Slale
I
t ke no risk widr Comt€ch
You
( )vis1( ( -Zi,p- I Publishing Ltd. Llnda L. Brlggs ,uns Techwrite, a San Dl-
I PaFnenl )MC ) Check/Mo
Comtech's 30-day money- ego-bas€d t€chnlcal writlng company. She
back guarantee.
Card No.:-- I P.O.Bf.r.12340 spscializss ln documentallon ,or database
I
Exp. Dele- Reno, NV 89510 and Windows softwars. Shs can bo r€ached
All o.odu.t( hentidned (102) 825-900{)
h.reln,F hdem,rrs or I (Shlpol,r& lr0 c{ud.. 120 roftl8n,
16 0.s., p€t copy
I
at (619) 944-7139. o
i\eir respe.tive compui6. NMde r6ld.,B dd 7x eI6 ur, P4not ln lus.) FlrX (702) 825-1818
I I
,I24 OATA BASED ADVISOR/MAY
1993
The Fax
on Lotus Notes;
So Much For So Little!
fJlhe Fax for Lotus Noteso, from WinClient Features:
f Technologies Inc., goes far beyond the basic . No special hardware
- send and receive capabilities, by offering Lotus required
Noteso users options that are not currently
o Inbound/Outbound in one
available.
. Supports low cost Class 1
Supporting all popular fax modems that conform to
fax modems
TIA Class 1 or Class 2 communications standard,
Lotus Notes,users have all the benefits of incoming
o Status Reports
and outgoing fax transmissions, at a fraction ofthe o Fax Preview
cost. o Statistical Records
The Fax for Lotus Noteso enables users to route
Notes' mail to any fax machine in the world, and t-10 usEEs $3sB
makes sending a fax as easy as sending e-mail. (INBOUND/OUTBOUND)
And, you can preview your fax through a PCX 1 r-50 usEns .................. s7s8
viewer. (INBOUND/OUTBOUND)

NOW AVAILABLE, The Fax for Lotus Noteso UNTIMIIED ......... PTEASE GAI.L
actually provides statistical records for every
outgoing fax transmission.
Ifyou are a Lotus Noteso user, get The Fax or you'll
never know what you are missing!

For lVlore lnformation or to 0rder Call

1-800-949-3512
NOTESLFA)L
Fax Gateway For Lotus Notes'

WtlCrEirT-
frrflwanrarar-rnr-
WNCLIENI IECHNOLOGIES INC,, SUIIT 1200,411 UNIVERSITY STBEET, SEA|TLE, WASHINGTON, 98101 U.S,A, FOR FUBIHER INFORMATION CALL fiA0.949.3512

Loii^, Ldrr rE696d!d rn&t6+s dLdnh6bs6ltusdb.: ttid,br b. @gids.d t dea* o[wrc,ox l*hfloqi$ tN. ccopy9h ttflidNrelrnbg6 N.19e3
'Vd6.rdrvobs
t:
I
I I n 'ru
d

Iffi
I

, , t

a
I
Ir.

lqr\

.L
WATC0M SQL
"
lOf WindOfS is ahish-prrormance Highlights
SQL database engine for Windows applications. The package includes > ODBC kvel 2 support
everything required to begin using WATCoM SQL immediately ftom many popular > Built-indeclarative referential
Windows applications, supporting interfaces ranging from ODBC and DDE to theWidows and entity integrity
clipboad. Everything necessary for application development in C/C + + (using comPilen ftom > Visual Basic Interface
WATCOM, Microsoft or Borland) is also included.
-> Bidircctioflal, scrollable, updatable cunon
> Row-level locking
lnstal latiOn i n Undgr 1 0 Minutgs rhe easy installation and setup rcduce
> ANSI SQL and EM SAA compatible
the time and exp€nse tnditionally requted by cli€nVsener techmlogy. Further WATCoM SQL lets > Full transaction processing support with checkpoint log
you achieve high performance Esults right out of the package without the need for prformauce and forward transaction log
s€tup and tuning by €xperl pe$onnel, > Multipl€ simultaneous application connections
> Symmetric multi-theading of concurent rcquests
PedormanCg and Bgl iabil ity wArcoM sQL s cost-based query optimizer
> lmprt dua from ppular file formats including DBF
and emcient data representation combine to deliver high prformance . Transaction pruessing and
> Automatic use ofexpanded and €xtended nemory to
declarative referential integrity protect tho consistency of your data. The clienvserver architecture
improve prformame
reduces network ffaffic, resulting in increased prformance for your multi-user applications
> Static and dynamic embedded SQL interface for use with

Scalable SQt tor ]lor and the Futurc wArcoMSQLapprications WATC0M's 16 and 32-bit C/C + + compile$, and othel
environme s ranging fron standalone PCs to large multi-
can be designed to run without change in popular C/C + + compilen
user networks. The 3 2-bit WATCoM SQL Netwo* Sener Edition unleashes the power of 3 86/486
PC\ to delivff high tsrformance for large nelworks with many clients. Also available:
WATGotl" SqL Deueloperb Edition tur lllls
The Best lfalue in S0[ Ihtabase Engines wercou" sqr Complete Client/Serrcr Derclopment Tools hd€ge for
for Windows has a suggested retail price of $795
* but for a limited time you can get it at the
DOS including Standalone Single-user SQL Database
introduclory price of only $395*. Even bettel as a registered user ofWATCOM SQL you'll be able
*). Engine. Enables development and deployment of single-user
to get a copy of tlrc 6-user N€twork Sefler Edition for only $99* (Suggested retail price: $795
stadalone applications, and development of applications for
ROyalty'Frge Runtime for Only $99* As a registered user you can set use with the WATCOM SQL Network Server Edition.

royalty-fte runtime suppon forjust $99*, enabling you to distibute our standalone single-user lletmrk SeruEr Edition
WAIG0M" SOt
runtime SQL database engine with your applications mplty-frte.
Iligh.performance Multi-user SQL Database Serrcr
for PC I"tNs. Supports multiple concunent DOS or
windows clients ina network environment.
WAT=_:==:_:=== 1 -800-26s_45ss
The Leader in DevelopmentTools
CLIENIYSERVER
ADVISOR Using Data
DATABASE REPORTING
. PowerBuilder
. Report writing
Windowsfor
. sol
Reporting
with
PowerBuilder
By Michael Horwith

l co[lmon comDlaint as-


h @
# tr
is some diecussion that the next
version will make this relation-
ship d5mamic.
,l sociated witir Power- Grouping data
/ I g"lld". is its lack of a
F{ *riter. While it's
4 lt.,i""eportthat PowerBuilder
doesn't have a full-featured report
? tvn
lvt-
T- Once the SQL SELECT state-
ment is generat€d , the report may
be formatted, once again using a
generator, most of the capabilities point-and-click programming
required for reporting are available style. DataWindows are con-
and accessible in PowerBuilder structed in the general form of
with minimal effort. There are, of header, detail, summary, and
course, some reports that require footer areas. Within each area
custom programming-especially there are typical Windows-style
if they have to mat h an existing formatting capabilities regarding
form-but standard, tabular re- text, fonts, colors, and graphics.
Jor Srown
ports are easily created and format- More importantly, there's a capa-
ted using PowerBuilder's DataWindows. bility in the Datawindow to cre-
data source statement, generally a SQL ate groupings. Groupings are sets of
A DataWindow is a PowerBuilder ob- SELECT statement. One of the great
ject used to int€rface with data. Gener- data that are logically reported together.
features ofPowerBuilder is the way this For example, to develop a report ofcon-
ally, this data resides on a clienUserver stat€ment is constructed. PowerBuilder
back end. The data used in this article's
tact history in the prospect tracking sys-
has avisual programming interface that
examples is ourcompany prospect track-
tem, the data is accessed from three ta-
painlessly coDstructs SQL statements. bles: prospects, contacts, and con-
ing system, which sits on Microsoft SQL WHERE clauses can be added to select
Server. DataWindows are used for in- tact_history. These tables are accessed
statements by clicking on the join icon, through a SELECT stat€ment. The goal
teractive access to data, allowing updat- and joining databases based on key val-
ing, deleting, or inserting, or for query- is to present that data by prospect, fur-
ues. All this is accomplished though ther grouped by contact, in the dat€ or-
ing, retrieving, and formatting. point-and-click programming. der ofthe contact. This is accomplished
After the SQL statement is con- by creating group 1 on prospect_name,
it may be edited by choosing
structed, and group 2 on contact_fname
Creating a DataWindow the Rows.tEdit Data Source menu option.
+
contact_lname.
In PowerBuilder, programming is ac- if the back end
T'l-ris may be necessary
complished though painters, a Power- uses s3mtax-based optimization to fine
soft term for the icon groups that are tune performance. One warning: Power- Sorting and tiltering data
used to develop and maintain applica- Builder compiles a positional relation- The data reported by the DataWindow
tions. DataWindows are created by ship between the columns selected and is usually a result ofthe SQL statement
clickingthe DataWindow icon, and pick- the DataWirdow that is set at the time associated with the DataWindow.
ing the New control button. DataWin- the DataWindow is created. This rela- Therefore, the data may be selected and
dows are available in one of three gen- tionship is not dynamic; therefore, col- orderedby the back end to exactly match
eral formats: tabular, freeform, or grid. umls should not be deleted fiom the the groupings and requirements of the
For most reports, tabular is the obvious select statement, and columns should report. Not€, however, that the entire
choice. T'l-re developer is then presented only be added at the end of the colurnn selected data set will sit in memory
with a set of windows to construct the Iistjust before the FROM clause. There while the report processes. If the SQL
DATA BASED ADVISOF/MAY 1993 127
DATABASE REPORTIl{G

Flgure lJnteractive construction o, an soL SELECT statement. Flgure 2-Grouplng in the oalawindow Palnter'

Contrct ort
n
c.rr.tyl Q-r.-c

cdb( 6nr.{rr.6.

stat€ment is too broad, the report will the *speciff filter" window. This allows Fomatting the teport
blow up with a memory error. If a large the developer to visually program the At this point, the report is furctional,
amount of data is required, the data logical expression for the filter. but not quite finished. One of the nicest
should be gathered into, and reported The ability to sort and frlter on both the features of the DataWindow painter is
from, cursors. front end and the back end is a nice the Design/Test menu option. ltris op-
DataWindows have the ability to sort feature. It allows the PowerBuilder de- tion allows the developer to test the win-
data by columns in either ascending or veloper to take advantage ofthe coopera- dow as it's developed by retrieving data
descending order, and may also be used tive processing nature of client/server and formatting it to the DataWindow
to filter data. Filtering is accomplished systems, and decide which processor is specifications. In a typical session, the
by building the frlter expression though most emcient for any particular r€port. developer tests the DataWindow dozens

CA.CLIPPER
5.2 {
ptt
o
n

Competitive Upgrade
$149
User Upgrade
$109
Start today. Send for information on Emerald Bay DBMS Toolkts for Xbase,
Full Product
C and Pascal programmers.
$485 See why companies like Quuterdeck have standardized on Emerald Bay lor
their own in-house enterprise-wide systems.
Add $5 Shipping & Emerald Bay solutions are affordable-thousands less than equivalent SQL
handling. We will meet or sysrems from mega publishers. Vulcan (our version ofXbase) interpreter and
beat any advertised price. compiler is only $395. The Pascal version is $195 and the C version in $395.
F.ach Toolkit includes a 2-user Database Server.
4-user servers are $195, 8 users $395 and 100 users $595.
1-800-FAST 486
And Emerald Bay solutions are easy ro implement, since they build on your

@![E & fomii;..'. knowledge of Clipper, dBASE, DBXI, Foxbase and Quickilver. Call or write
for information rodav. The future woni wait.
&
Emerald Bqy
Literature
800)354-3222 En-!-01
(tOMPUIER' (8tB)248-0877 Fax: (818)248-2605
fissocnrrs
*ft-orc deig
supr;or by 2155 Verdugo Boulevud, Suite 20, Montrose, California 91020

128 DATA BASED ADVISORA.4AY 1993


DATABASE BEPORTIIiIG

of times to get the final look arrd feel. SELECT statement you provided in the
This is particularly true during the for- lines of code, and an hour of visual
DataWindow, and the riport orints to prcgramming.
matting stages. Each piece ofdata may the Windows print manager. Since the
bg formatted by providing a mask. DataWindow control has a visible attrib-
Masks are extremely flexible, and can be ute, the report can come to the screen Michael Horwlth is a partner ln Flnanclal
construct€d to format data into almost instead of the printer by making the Oynamics, a consulting firm speciallzlng in
any appearance. PowerBuilder comes visible attribute true, and just issuing PowerBuilder clienuserver appllcatlon de,
with a wide assortment of default the Retrieve(dw Control) function. ln velopment. He regularly teacheg classes on
masks. I'or example, the mask for a PowerBuilder lhat emphaslze the appllca-
this case, you maywant to also make the tion development technlques used ln Finan-
phone number is "(@@) @@@@C@'. If HScroll_bar and VScroll_Bar attributes cial Dynamics' proiects. He may be reached
the data refers to a bit map, PowerBuit- true as well. In either case, the whole al 800-486.5201 or on CompuServe
der can be told to retrieve the bit map, process includes fewer than a dozen 72501,652. O
rather than the name of the bit map.
Assuming your printer can print the
graphic, the report will include the
picture.
DataWindow also includes a series of Rev Up Database zm
drawing tools to embed bit maps and
create line, rectangle, oval, and rounded
rectangle objects. These are tlpical Win-
dows drawing tools, and although they
Programming €
don't compete with dedicated graphics
packages like Microsoft Power Point, with So.ftC^'Database Library from Greenleaf
they're nicely integrated into the
DataWindow painter. All Greenleaf Libraries Feature:
Powerful Functions E
Adding calculations No ro)Elties

Although this report doesn't require it, a The SoFrC Database Librarv is D gGday mon€y-back gualantee

it's simple to add calculations to a Data- now the new Greenieaf tr FREE unshrouded source (ANSI& K&R)
Database Library.
Window report. Clicking on the 'treate
tr fjnsuroassed soeed and
f FREE unlimited tech support
computed column" icon generates a
screen that allows the developer to inter- flexibilitv for 'access to o Top rated documenlalion AND online
documentation wih FBEE help engine!
actively build a computation statement. industrv- standard database
The computed column may be placed in data, intlex, and memo files at tr FREE BBS access, quarterly nervsletter
any section of the report, just as SQL an affordable price. D GOLD support available: tolllrce access to
data may be placed in header, detail, or o Databased Advisor says, BBS, tedl support and lree u@te6-cdfor
footer sections. One obvious application "SoftC Database Library has iop prbes
of computed colum-ns is for page num- ratings!"
bers. ln fact, PowerBuilder provides tr Don't be fooled bv orettv Database Library v3.22 .. $249
functions for Page0 alrd PageCountQ, ads-the Database iiU.lu.v i's
making it simple to format "Page 2 of12" all vou need to interface r,r,ith f,l Call today for complete infor-
in the footer section of the report. mation, demo, or to order. Mas-
dBASE III, dBASE TV, FoxPTo,
FoxBASE, Clipper, dBXL, and terCard, VISA, AmEx, approved
Calling the ?eport from the other XBASE' fues including purchase orders.
application new FoxPro CDX index files.
This is where the real elegance of the tr Supports Mll)os, 1-800-523-9830
DataWindow becomes clear. DataWin- Windows*, and is portable 214-248-2561
dows are accessed from standard to OS/2, UNX. FAX 214-248-7830
windows as a control, just like a single tl Includes Windows 3.1 DLL, BBS 214-250-3778
line edit or a drop-down list box. A supports Microsoft, Borland
Datawindow control is placed on a win- and Zortech C/C++. Greenleaf Softutare, lnc.
dow, and is populated with a s Single and Multiple User; 76479 Dallas Parkoay, Suite 570
DataWindow object. The control has a Network acccess fully Dallas,TX75248
number ofattributes, one ofwhich is the supported.
visible attribute. In order to send the
report to the printer, make the visible tr Database package not
attribute false, and use the PowerBuil- required-this product is a
der functions Retrieve(dw_Control) and complete ISAM library.
Print(dw_Control). Ifyou wish to give D Windows DLL linkable with
the user additional control, you can call most Dll-capable compilers
the PrintsetupO function, which acti- (ircluding Visual Basic). GREEI{I.EAI:
vat€s a standard Windows Print Man-
ager dialogwindow. That's all there is to
it. The data is retrieved according to the ,lR
DATA BASED ADVISOH/MAY 1993 129
CLIENT/SERVER
ADVISOR. Set-oriented
CLIENT/SEBVER DEVELOPER
. List management
List Boxes
. PowerBuilder
. sol Worth IO,OOO
Words
By Dave Menninger FlgurE 1-The PowerBuilder selection screen

I recently developed a data-entry appU- frl. Edft


t cation, and was reminded ofthe stark dif-
ferences between row-oriented and set- Sh tldodr Pon Opade. Sueg. t t.
oriented databases. This lesson was G, Pitrhd
driven home when I tried to use my stand-
ard list box routines for a list box that T
contained approximately 10,000 items.
Naturally, I mairtain the list of items in a o9..1 drai potio! ELd
tr@,
databaae table on my server. Eve4rthing worked fine for my o
smaller list boxes (with less than a few hundred rows), but the a
bigger list boxes (with up to 10,000 items) took more than 30
seconds to load.
In row-oriented databases you can quickly-almost
instantaneously-position the user anywhere in an indexed
set ofdata using a SEEK. However, even SQL databases that
support scrollable cursors require you to FETCI1 and evaluate
rows one at a time. Every row that must be examined by the
workstation implies increased network traffic and additional
workstation processing time. One pot€ntial solution is to
restrict the result set returned to the workstation. / I aat !9 .61.cts stat@Ets udirg Dr.!6dl DarEat.rl
Included below are descriptions of the objects I use in my !.l.ct-.tr.irg - TSEITEC!' + coljarE +' EROI( i +
library of tools and how I adapted those objects to accommo- talrlrrraa
date large lists. PREPIBE sqlsa PROIi :.c16ct-rtrlBg ualDg sqlce,
Background DECIARE ilya_curlo! DYtrAtlIC CD:RsOR FOR a(I1ra,
I was developing the application using PowerBuilder 2.0a
accessing Microsof[ SQL Server 4.2. In my suite of applica- OPE!!Drluttlc alf.D curaori
tions, I frequently selected one or more employees from the lf .qlca..qlcod6 < 0 tb.n
list of all employees. In fact, I had several lists from which I llossagcBox ('DataBasc Erro!', aqIcr. aqlorrtcxt)
ratura sqlca. aq].cod6
needed to pick one or mor:e it€ms, but the employee list was cEtt if
the largest. To present the user with a simple interface to
make their selection I designed the screen in figure 1. ll \rrn off r.dr.i, uatLl all ch.rgct hav6 b..a rrfl.
T?re drop-down list box on the IeIt displays a list of items. g.tRc&aw ( ildtlblrela, Flr,SE )
When users double click on an item on the left, it's added to
the list on the right. When users double click on an item on ll i@v. .Ey it6t fr@ tha &oI) al a litt bot
the right, it's removed from the list. Once users are satisfied Rca.t ( ftit]'blrrrE )
with the selections theyve made, they click on the OK button.
During the opening of the window, a function is called that // f.tch laatlviatur]. Ll@r aad aald to alroD tloxa Ltlt
populates the dropdown list box on the left with the appro-
tto tlhl]'c sq1ca..qlcod. - O
Fct.ch a!.rr_cur.or iuto :aaLl_striagi
priate items from the database. The function takes tlu'ee if sqlca.6g1cod. - O th.E
parameters: the table name that holds the items, the column Addtta (datlblrattn,
to be retrieved, and the drop-down list box to be updated. aail_atrlag )
Originally the script looked like: .Ir.lf .qlca.lqlcodc < 0 th.a
/ /poDu1at6 dal].b
ll6aaag6B6. ( iData8aac
strlng ailtl_strirg, a.I.ct strlag Elror", rqlca. aqlarrtarrt )
irts69.r !R.tVa1 - 0 aIlcwaI - aqlca. rqlcod.

130 DATA BASED ADVISOR/MAY .I993


CLIENT/SERVER DEVELOPER

a1a6 feature). Now our DO WHILE looks like this


DIatVal = Eqfca. sqlcoalB
caal lf
LooP
Do Wbil6 sqlca.sqlcoits = O alral i <= rRofl Coult
Fctch. ..
// Not, w€ can r€d.ral' tsb6 obj.ct.
getR.dllarr ( aillblraB, IRUE )
Cloa6 alf.d_cursor i
rstura D.B.atval
If ERot, CouEt, > O th6tr
i=t+1
The problem Eaat if
looD
If enough iterations are made through the loop above, the
performance of this window becomes unacceptable. Whether The limit on the loop enables the window to pop up much
that point is at 250 or 10,000 or 100,000 doesn't really matter. more rapidly, but it only contains the first nRow_Count items.
The pointis some Iists could be large enoughto cause perform- In addition to the limit on the loop, I now simulate a portion
ance problems. Ifthe Window can't be presented to users in a of the behavior of a staadard drop-down list box. If the user
few seconds, they become liustrated. In addition. we don't t5rpes in one or more characters, I reposition the list. For
want to push 10,000 rows of data around the network instalce, to locate "SMITH"the user might tlpe in "SMI"" and
unnecessarily. we select those rows greater than or equal to "SMI". Again,
I tried several things before arriving at the final solution. I we retrieve only the first nRow-Count items that meet this
considered loading up the lists or windows in advaace, and criterion. To accomplish this repositioning, I modified the
retaining them for use through the entire session. The advan- populate_ddlb function to accept a parameter for the WHERE
tage ofthis approach is that I only had to incur the overhead clause.
of loading the list once, and it could be used as often as
necessary during the session. The disadvantages include the sc16ct Btlitrg - .SELECT DISTII|CT " +
coosumption ofWindows resources to maintain manyofthese coljara + n EROII' + tablrarE
windows--one for employees, one for inventory items, one for If awt6r. <> "tr .Irh6!
invoices, etc. In addition, the amount oftime necessaryto load
a616ct-atriEg = .€16ct_string +
tr!|IIEREi+elfh6!6
this Window became unacceptable. Finally I was concerned EEdl If
that the data would become stale if other users made changes
to the items in the lists. To trap the user's keystrokes, I use the Keyevent.
Ifthe user
A variant on this approach was to Ioad the drop-down list t3,pes in
some characters that cause ddlb item list.text to
box only if necessary. While this approach could reduce the change, the populate_ddlb function is called:
initial load time, it would still require an excessive amount of
time anal could result in stale data. I considered alternate
means ofinputting the data, such as direct input by the user
with validation after the userwas done. Validating a few lines aliub_it@_1i.t. t.nt + "' "
of user input against even a very large table could be done populat._ddlb ( acolN.!., BTabL., datlb it@ 1ist,
rapidly, but this approach offered the user no guidance or aWb.!G, E.Rotr Cou1t, )
assistance on the selection of the items. For instance, if the
user yi/as unsure how to spell an employee's name, they would Concluaion
have to tr?e in their best guess and see if it passed the
Use the right tool for the right job. The Iist box control is a
validation test.
powerful userinterface mechanism that's easy to understand.
If I could find a way to get acceptable performance regard- It offers the user much more information that a post-processed
less of the size of the list, I could present the user with a
consistent interface for large and small lists alike.
validation routine. Users gets an immediate response, and
can generally learn from their initial entries. Rather than
The solution abandon this tlTe of user interface, with a few simple steps
you can overcome the performance limitations of using it in
With some relatively minor modifications I was able to its native mode. First, Iimit the number of rows processed.
continue using the standard object I created. The key was to Second, provide the user with a means ofnavigating through
limit the number of rows included in the drop-down list box. the list. Ideally, you should try to accomplish these functions
Basically, I present only a subset of the list at any point in in such a way that you can use the object in its native mode
time. However, if I limit the number of rows in the list, then as well.
I need to provide the users a way to easily change the portion
These techniques aren't limited to listboxes. Any object that
ofthe list displayed at any one time.
involves a large number of rows from the database could
To limit the number of rows, I imposed an additional con- exhibit performance problems when accessing large tables.
straint on our'fetch loop." I declared a new instance variable, For instance, you should also consider a similar approach
nRow_Count, and I limited the number ofiterations through when using PowerBuilder's datawindow, SQlWindow's table
the loop to nRoLcount. Actually, I only limit the iterations window, or other tools'browse mechanisms.
ifnRow_Count is greater than zero. Since zero is an unrealis-
tic value to use as alimit, we assume that zero is an indication Oave Menningsr managesthe Boslon offica ot Flnancial Dynamics.
to list all items. Zero is also the defaultvalue for nRow_Count, Financial Dynamics speclalizes in consulting and tralning ,or
so we cai continue to use the object without modifting the clients whg requirg custom appllcation development. You can
calling routines (unless we want to take advantage ofthe new contact him at (617)246-9551 or on Comp|Iseve 70274,2502- A

DATA BASED ADVISORA4AY 1993 131


Memo To Management
RDBMS Vendor Update:
Who'sWw?
By Jeanette Informix is placing increasing empha- workstations and low-end aeryers to
Sill-Holeman sis on tools and applications, The mainframes, and is gaining strength in
company is planning to optimize its tool UNIX. Oracle is beginning to acknow-
sets for building open systems applica- Iedge the existence ofother dalabases in
When shopping for tions, but has no plans to create CASE its environments. In November 1992 the
database servers, tools. Informix is one of the first compa- company announced ORACLE Glue, an
you have a lot of nies to offer links between its RDBMS application programning interface that
choices. Let's look at and object databases. allows ORACLE to interoperate with
r/ ,, six vendors-Infor-
mix Software Inc., What's up with lngres
DBMSs ransing Aom IBM DB2 to the
Sharp Wizard and rivals such as Sybase.
Ingres Business Ingres is a contemporary of Informix The company's latest version of its
Unit of ASK Companies, Oracle Corp., and about the same size, with reported RDBMS, ORACLET was late to market
Sybase Inc., Microsoft, and Gupta revenue of $180 million in 1991. The and about 18 months later than Oracle
Corp.-that have dominated the rela- ASK Companies acquired Ingres in originally announced, giving its com-
tional database server market. All of 1990, a move that slowed Ingres's com- petitors time to add some of Oracle's
them are well-established, artd all are petitiveness in the RDBMS arena as the pre-amounced features to their prod-
making strong moves into the company was assimilated into its new ucts. In addition, tools to support
clienUserver arena. There are differ- parent. Ingres is working to re-establish ORACLET are several months behinil
ences between the companies that can the RDBMS engine, and ORACLET
its position in the marketplace, but the
help prospective customers decide which doesn't yet support objects. Neverthe-
company is only now beginning to climb
one is best for their particular needs. back into the public eye. less, the RDBMS is proving to be a for-
These are not the only players in the midable contender in the marketplace
game, but these may be on your list if The INGRES Intelligent Database 6.4 because of Oracle's size and reputatiou
you're shopping for a server. has a strong technological reputation, and because the RDBMS is setting TPC
and is known for its ability to integrate benchmark speed records.
Tune in to lnformix object and daLa management. Ingres is Oracle is meeting increasing competi-
With revenue ofnearly $I80 million in committed to achieving a broad platform tion fiom the smaller RDBMS vendors,
1991, Informir Software, Inc. is the sec- base and open connectivity for its most notably Sybase, and will likely con-
ond largest RDBMS provider (after Or- RDBMS, working to provide the tools tinue to lose market share as the smaller
acle) in the IJND( market. Informix has necessar-y t allow the RDBMS to in- vendors increase in product strength
concentrated on UNIX since its founding teroperate in heterogeneous environ- and marketing expertise. The company
in 1980, and UNIX-based products still ments. The INGRES Intelligent Data- is fighting back, however. In addition to
contribute more than 90 percent of its base was released simultaneously on its continuing technological ilevelop-
revenue. Historically, Informix has UNIX, VMS, and PC platforms. ments, Oracle is taking advantage ofits
focused on the low end of the market, INGRES/Gateways provide accesa to large resources to build its consulting
targeting companies Lhat were downsiz- data on IBM'S IMS and DB2 databases, business and develop applications,
ing and selling largely through the Digital Equipment's RMS, Rdb move6 that can help compensate for its
reseller channel- databases, and Hewlett-Packard's slip in technological leadership by
The current version of the Informix ALLBASE/SQL on HP-UX and providing the adjunct serwices users
RDBMS, INFORMIX Online 5.0, MPE4(L. Nevertheless, marketing prob- require.
shipped in January of1992. INFORMIX lems have kept Ingres among the com-
Online 6.0, a faster, multithreaded, puter industry's best kept secrets. Sybase
database targeted at the high end ofthe Fouaded in 1984, Sybase is the youag-
information systems segment, is due out A look inside Oracle est ofthe top RDBMS vendors. The first
this summer. Initial platforms will be Founded in 1977 ard with 1992 reve- commercial version of its SYBASE
H ew Iett-Packard, IBM R5/6000, nues of nearly $1.2 billion, Oracle is the RDBMS shipped in 1987. At about $160
Sequent Computer Systems, and Sun oldest and largest ofthe relational data- million, the compauy is now almost the
Microsyetems machines. INFORMIX base vendors. Oracle isjust beginaing to same size as Informix and Ingres. This
Onlioe 6.0 is targeted to compete tech- recover from product and maragement upstart company has become the one to
nically with market leaders Oracle and slips in 1989 and 1990 that caused the beat in the RDBMS market. It s making
Sybase. company to report its first-ever loss Oracle especially newous, as is clear by
(1991).
Future releaaes include Online 6.1, Oracle's frequent focus on Sybase in both
which will include a parallel data query Oracle initially targeted the high end ads and intergiews.
(PDQ) option (due spring 1994) and On- ofthe RDBMS market, supporting Digi- Sybase is directly targeting the
Line 7.0 with both PDQ and support for tal EquipmentVIUS platforms aswell as client/server arena, with products
loosely coupled multiprocessor systems IBM mainframes. Today Oracle's specifically designed for this segment's
(due early in 1995). RDBMS runs on platforms ranging liom

132 DATA BASEO ADVISORiMAY 1993


THE
I lUllt I
I I

WAITEI! Tll BUITD


32-BtT

The Microsoftu SQL Server take advantage of SQL Server for


Client-Server Development Kit for lWindows NL And over 150 front-
Windows NT- is now being served. end tools are available to help you
Now you have everything you get new applications up and running.
'u(/ith
YtlUR WAIT need to develop applications on new direct support for
today's most powerfuI platform for TCP/IB SQL Server offers seamless
IS llUEE.
client-server computing. Use rhis integration wirh your UNIX" envi-
preliminaryodevelopment kit to fully rorurents. And connectivity solutions
exploit the power of the lfindows NT are available for many important
operating system, including scalable, host database systems, including DB2i
32-bit architecture, high reliability, syrn- \I7ith its increased power,
metric m u ltiprocessing. and securiry. open architecture, and industry
The development kit contains a support, Microsoft SQL Server for
powerful new mulriprocessing version Windows NT gives you rhe edge in
of SQL Server thar offers dramatic client-server computing. And right
increases in scalabiliry and perfor- now, you can 8et the preliminary
ItG dsvslolmenl mance. Completely integrated with SQL Server Client-Server Development
lit imlud8s E the lJTindows NT operating system, Kit for'Windows NT for the special
conpleb version
ol S0l. Seryer lnd this new 32-bit database features price of just $495 !oo
I iet o, rutust distributed management tools for So don't wait. Make rhe call.
mamgemenl t00ls.
increased usabiliry and control.
Toget your SQI Se]vel Slient-Scrver
SQL Server for lTindows NT 0evelopmcnt l(it for Windows lrll,
is fully compatible with all versions call t8001 22r-4G7S, 0ept. [J5.

of SQL Server from Microsoft and


SybaseP Already, thousands
existing corporate applications can
of Itlkxwtt
Making it easier

sybise s 3 rtEiskrtJ ad.D Loisrbae,lnc.UNIXr:rcsNrerc,lridem kDtUNxsysetut bonbc,1*iolly oM.n i[ridi4 oiNovdllx.


MEMO TO MANAGEMENT
Run Your Text Based
Database Program
Tfansparently In
needs. SYBASE nies say is more than
Graphics Mode System 10, actu-
Oracle is meeting all other database

mu n ally version 5 of its


RDBMS, is a fam-
ily of server soft-
ware products due
increasing competition
from the smaller
servers combined.

Gupta
wirh IMAGIN. atl of the functions of in 1993. Syst€m 10 Gupta Corporation
your FoxPro, dBASE, Magic PC, is designed to ad- RDBMS vendors, is a small but uP-
gC++ applications continue dress distributed and-coming partici-
Ctarion, and pant in the database
to operate in graphics mode. The text
database needs most notably Sybase.
with its Replica- server arena. The
screen, including the blinking cursor. tion Server, and in- company had reve-
is completly emulated for all screen formation syst€ms nue of almost $33
resolutions! Text emulation is so fast, control with its million and net in-
you may not even realize you're in Control Servers for come of nearly $2
backup and recovery. The SQL Server 10 million in 1992. It issued the prospectus
graphics mode - Thatis, until you see
database engine supports multigigabyte for its first public offering in January
graphic images placed on the screen databases and faster processing. Ship- 1993. Gupta was founiled in 1984 bY
with blazing speed! ment ofSYBASE System 10 will roughly Umang Gupta, former vice president
with ORACLET, keeping the
coincide and general manager of Oracle's Micro-
two top RDBMS vendors in fierce computer Products Division. He contin-
competition. ues to lead the company as chairman of
Sybase was late in offering ilevelop- the board, president, and CEO. The com-
ment tools, but the company has been pany's stated goal is to be the leading
-
working to fix the problem. In October supplier of clienVserver system sofirware
1992, Sybase created a Tools Technology for PC networks. Sma.ll hs the company
Group to expand the company's toolkit. is, it's one ofthe few to offer a complete
Most of the current offerings, both line of clienUserver tools, includhg a
& graphical and character based, came to
the company with a series of acquisi-
Iiont end (SQlWindows), a back end
(SQLBase), and middleware (routers
tions, including Gain Technology in and gateways for its own and other ven-
1992 and Deft, Inc. in 1991. Unlike its dor's database servers). Gupta has over-
Check out these featul es:
chief competitors, Sybase doesnt offer come early problems, and is gaining in-
. suppo$ most SVGA, VGA, EGA, CGA creasing recognition in the industry.
applications and has expressedno intent
aod Hercules mono display udupt"r. *,tti Gupta is in the market for the Iong haul,
re'olution'upto 1024 b) 768b) 256color\.
to do so.
and is a company to watch.
. Zooming andscrollingofall supponed image
types. Maghty Microsoft Concluoion
. Automatic high speed dithering, of color Software giant Microsoft is a signifi-
images, when required.
Although these database server ven-
cant contributor to the database server dors offer technologically equivalent
. Automatic scaling of images lo maintain the segment, primarily through its develop-
proper aspecl ratio regardless of lhe curent
products, they do present distinguishing
ment and marketing relationship with characteristics. Informix is strongly fo-
graphics mode.
Sybase. The relationship began in 1987 cused on the UND( marketplace, target-
. High rpeed paleue oplimi/alion and fitlin8. when Microsoft decided to concentrate
. ing the low end but moving increasingly
Super fast decompression of GIF, PCX, on the networking needs of RDBMS us- into the IS shop, and it has a good tool
and BMP file formats. ers, rather than on the PC database set. Ingres has a technologically strong
. Automatic command suspension by keyboard market. Microsoft turned to Sybase for RDBMS product and iloes not favor any
activity allows for quick scaning of database its distribut€d database expertise. The particular hardware platform. Omcle
records. result was SQL Sewer, desigaed to con-
. has the largest installed base and sup-
HP Laserjet lI or compalable printer suppo( nect users' PCs to their mission-critical ports the most platforms. and is begin-
. User defioable coordinate system allows for corporate ilata. SQL Server runs on ma- ning to put strong emphasis on support
consistent r€sults across all video modes. jor PC LANs, including Novell NetWare functions such as consulting. Sybase has
. Mouse suppo(ed in all video modes. and IBM LAN Server, and is available the strongest clienUserver focus, but its
. EMS, XMS, alld UMB memory supported. from both Microsoft and Sybase. Mi- tool set is primarily a collection of ac-
. Operates in as little as 9.5 K ofconventional or crosoft SQL Server runs under DOS and quired products and it ofers no applica-
UMB memory. OS/2, while SYBASE SQL Server runs tions. Microsoft is a key player in the PC
dBs., claio., rc, And Larr.r
FoxPrc, Magic
under UNIX and Digital Equipment's arena, and Gupta is a total solution
m ftdcmorts of $eir r.spetirc mnpmi€s VAX/VMS. Microsoft has announced provider.
plans to make SQL Server available on
Imagine Sofiware Windows NT, and released the SQL It's up to the users to determine their
Solutions Inc. needs (consulting practice8, tool sets, or
Server Software Development Kit (SDK)
7136 Summit Ave. internally developed applications) that
',$s;r^ Cincinruti. OH 15243
for Windows NI in July 1992.
differentiat€ one vendor over the others.
SQL Server has captured a large share
1-800-453-4722 of the PC database server market. Mi-
i513) 9E4-9E60
Jeanette SllFHoleman ls a computer indus-
crosoft and Sybase claim that the prod- try markel analysl and consultant based ln
uct supports more than 150 Windows- Woodslde, Callr. You can r€ach h€r al (415)
based front-end tools, which the compa- 3694671. O
134 DATA BASED ADVISOR/I\,AY 1993
SYSTEMS INTEGRATION TIPS

. Field Report
TechEd News
.
.
SQL Seruer lor NT

Windows NT
and
Windows NT
By Kelly Gillespie, their new monthly TechNet CD-ROM. Ifyou've been looking around for some

I
ClienUServer It's packed full with Microsoft's Knowl- unique test data for large database t€sts
Technical Editor edgeBase, resource kits, training mate- to bring your server to its knees, here's
rials, and conference notes. Cost is $295 the source. CSRA will cut a special ver-
a year for 12 CD-ROMs. Call 800-344- sion for database tests. It comes on a
Ever wish you 2121, ext.026 CD-ROM and has 40 million unique
could hob nob with The overview that Ron Soukup, Prod- rows and uncompresEes to almost 3G.
! the product man- uct Manager for SQL Server for NT, It's a database for most deaths in the
ager ofyour favorite gave was outstanding. Beta II of SQL U.S. from 1961 to 1991. Among the
Microsoft product? Sewer for NT comes with new tuning things it lists are first name, last name,
Ho\fl about giving the company head tricks, like being able to move Tempdb social security number, state the SS#
honchos your two cents on where the to RAM. and additional DBCC perform- was obtained, date of birth, date of
product should be heading? Microsoft's ance options. Integrated security with death, and the zipcode of the ar€a the
TechEd conference held March 9-12, Windows NT is a big plus as well. The person died. Another table lists zipcodes
1993, at the Disney property in Epcot multiprocessor support in SQL Server and the state and county for that zip-
Center, Orlando, Florida gave attendees for NT will allow for stiff competition code, soyou cantestJOINs on extremely
the opportunity to do just that. TechEd with Sybase on UNIX as well as OracleT. large tables. There's a special utility to
lived up to its name by providing con- Windows NT sessions were very popu- extract exact number of rows ofdata in
densed classes on 17 majorareas includ- lar. Fortunately, the fire marshal didn't SQL Server format ready to BCP into
ing FoxPro, Access, Visual C++, Visual poke his head in because the Windows your server. The CD-ROM costs $245
Basic, Word Basic, and SQL Sewer. NT for Support Engineers session was and you can obtain one by calling CSRA
The Disney setting gave the four-day packed with more than 300 seated and at 1674) 432-6400.
conference a relaxed atmosphere and 50 or so sitting on the floor.
made up for the approximat€ly 3,000 The overwhelming response of atten-
LAN Manager took on a new identity.
attendees who stood in long lines while Its new name is Advanced Seruices for dees to Tech Ed was very positive. Ifyou
Microsoft personnel thumbed through missed out. then you might want to sigTl
NT. New features (like support for up to
printed invoices. Who forgot to enter the up early next time. Ifyou live in Europe,
four processors) and a new environment
attendants in an Access or FoxPro data- you can look forward to asimilar confer-
may be enough to turn l,AN Man into a
base? I don't think that mistake will real contender to NetWare! If nothing
ence being planned by the Microsoft HQ
happen again! in Parisl
else, it lets the product leave LAN Man's
Even so, those who made it in were past behind and get a fresh start riding
thankfirl as over 1,500 weren't able to the NT wave ofenthusiasm. Database forecast
register. One attendee called in every Not all the sessions were put on by Forrester Research, in their report
hour on the fir6t day just to squeeze in Microsoft personnel. Novell, in their ses- "Server Data Bases On The Move,"
on the second day ofthe conference. Mi- sion on NetWare for NT, pulled a rabbit found that 68 percent ofthe 67 Fortuae
crosolt never expected this avalanche of out of their hat by announcing that any 1,000 companies they interviewed have
interest. 32-bit ODI driver written to the March a server database installed. This is a
Bill Gates, in his opening speech, em- 22, 1993 ODI (Open Data link Interface) higher percentage than suspected.
phasized the direction of Microsoft soft- specification would work with NetWare
ware as supporting OLE 2.0 and WIN32. How popular will Windows NT be-
4.0 and as a Windows NT client! Even- come?If the '92 Fall Comdex was any
Readingbetween his lines, it seems well tually the same driver will support OS/2,
see the firct implementation of what Mi- indication, almost every major database
UNIXWare, and 32-bit DOS. This sim- vendor was showing their database
crosoft internally calts Object Basicbuilt plifies work for network card vendors.
into Excel this fall and in other Microsoft ported to Windows NT. Expectations in-
Other non-Microsoft personnel ses- side Microsoft run high. Dwayne
products soon thereafter. ObjecL Basic is sions included one by yours truly, along
a comrnon macro language that is object
Walker, Microsoft's Director of Windows
with Brian Butler, ofClient Server Solu- NT and Networking Products,'1 e will
oriented. Regarding futur:e releases, tions. We addressed a die hard SQL
Gates indicated Microsoft will release sell at least a million copies of Windows
Server crowd on Benchmarking and NT in the first 12 months ofshipping. It
the new Chicago windows interface in Tuning Your Database Server. Some
1994 along with DOS 7 and Win 4.0. In is the hott€st opportunity at the high
preliminary tests I ran indicate that end."
1995, we should see Cairo along lvith moving Tempdb to RAM doesn't help in
Windows NT 4.0. Other news is that index creation but it does help when The database market is moving over
Microsoft will enable the Windows layer doing JOINs and GROUP BYs when an quickly to Windows NT. Combine that
to run under IINIX and license other index isn't available. I surveyed those with the growing European markets
third parties to distribute it. attending and the majority plan to use thanks to Unicode support and you have
Ifyou're up to your ears in supporting Windows NT as their database server a potential hot cake. Make sure you're
Microsoft products, Microsoft r'eleased operating system. not left out in the cold!D

DATA BASED ADVISOR/MAY 1993 135


. Benchmarks
dBASE DEVELOPEB
Goding for
. Condensed code
. Direct rcferencinE
. File UO
Speed
By Malcolm C. Rubel, pt_t!. a - tL4(1)
7
r Contibuting Editot
Dt_tllffl - ttso!(Dt_tLD2) - tstot(9t-th.1)
Dt_dLff2 - tlo.(Dt_tLDa) - ttor(9t_tb.3)
, To improve the speed of applications,
you can atart with the structure of your DITIIB lfl![mw tL$rs tRola 05,15 ,
data tables, ensuring that they're firlly ro 15,65 ,
normalized (or in certain i.nstances, no, PTIXBI,

fully normalized). You can then move to rctrvtTE wrNDow t i.ur


application structure, modularization of
e 01,10 SAY 'B.rchalk Re.ult.'
e 03,10 SAY 'ODtIor 1! ' + t
code, and to the different options for cod- ,.trLD(.tt (Dl-dlff1,10,2 ) )
ing single elements of your prograrrur. Let's look at how you e 04,10 gaY 'oDtLoD 2: ' + ,
can tweak small sections ofcode. I'll evaluate the diferences ltrle ( rtr 9t_allf f2 , LO ,21 |
(

in the execution speed ofalternative coding methods for tasks. e 05,10 SAY 'A b.tt.r tha! B! ' + ,
One note on speed: Remember that speed of execution is ltrLD(str ( 1- (Dt_dtf f 1/Dl_attf f 2 ), 10, 4 ) )
important in applications, but only when viewed in a larger e 07,10 slY 'B l)ctst6r tbaa A: ' + ,
context. Above all else, code should be readable, debuggable, 1trls(str ( 1- (Dt_tlLrl.2l9E_drf.fll ,70, r, )
?
and maintairable. It's not always the best thing to pull every
WrIT
last ounce of speed out of a code sepent if it means the code RELETSE tENDOt{ tlar
becomes incomprehensible for both the person who wrote it
and for the person who has to maintain it. Il .Dot. Dt_cur_aac
SEr BSCIPE off
Building a benchmarker EIDTE
Before you can run benchmarks, you have to have a bench-
marking program that will let you measure the diferences in
RETT'RII ( " )

speed between diferent optioas. My program, called TIMER


is shown in listing 1. The program is simple. It puts two alternate pieces of code
Llsting 1-The TIMEB program (or full programs) inside identical timing loops and rurrs the
loop a specified number oftimes. It calculates the time for each
FITNtTION tlD.r option using the starting and ending times recorded and then
PISI IETERE nui-Ita presents the results.
PRrvlfE D!-cur-..c, Dt-tlul, Dl-tt42, Dt,tlD3, t Notice I'm using the dBASE IV TIME tunction with its new
I,t tl!.l, Dt-:o. (version 2.0) "1" modifier- This gives us time to the one
hundredth of a second. I'm using a fiDction called TTOS to
BaacbDark lb.E DrograD convert the character string reported by TIME(1) to a number
Eui_lts = llf (DcoultO - 0,100,8u!-itr) representiag the number of Beconds since midnight. Once
9t_cur_6.c r SET('ESCTPE') !'ON' we've done this, we can make the necessary subtractions.
gET EACA.PE OA A problem with benchmarkiag is accurately measuring the
time it takes a piece ofcode to execut€. How do you measure
9t, ttr.1 = tsiE (1) it properly when the code sepent may execute in one thou-
Dts-:(x=1 sandth ofa second? The answer is to run the test ilside a loop
so it will be run enough times to give w a reliable reading.
rc aBILI Dt_D. <- Eiro_ltr TIME(I) is a great help when you run benchmarks. It allows
. ...ia!.rt fir.t cod. .rq)l. h.r. us to reduce the number of iterations we need to perform on
our test code by a factor of 18. We don't need to rurr a thousand
pt ,o. = Dt-to( + 1 it€rations of the code, vre can now run one hundred ozd be
BIIDDO more accurate. You should sdll be careful because, even
Dt. ti-E 2 - tl-E (1) though TIME(I) returns the time measured in one hu!-
Dt tta.3 = lt-D. ( 1) dredths of a second, its value is only incremented approxi-
9c-rc. = 1 mately 18 times a second. This is because the PC system clock
DO WIIILE l)t_:o. <- aus It. iE incremeDted at this rate and TIME(I) depends on it for its
r ...Iaa€rt lccoBtl coda aaqrla h.!a value. You must still speciff sufficient iterations to achieve
'With
test results that are at least four to five seconds long.
DC_ro.-9t_ro.+1 anSrthing less, the system clock behavior can inlluence your
EIIDDO results too much. Listing 2 shows a stripped-down version of
my 1TOS (Time TO Seconds) functioa. Continued

136 DATA BASED ADVISOR,iMAY 1993


Advonce to o HIGH ti PLANE t-=

of Progrqm Devel opment


ond
IM
]M

I lr
/
j
r
I
It
J
6.
I
I

Clipper / XBose develo


envrronm ent thot odopfs to your needs
Mlll]+git is the,best progrommeas editor on the morketl lts eosy customizotion, longuoge sensitivity, mouse
support. mocro longuoge ond sheer power hove brought it world-wide occloiml
EVOLVE is o wrop-oround shell for Multi-Edil thot understonds Clipper ond other XBose diolects. 11 wotches you os
you wo[k. odiusting itself to your style. Together. Multi-Edit ond EVOIVE ou+omote monv of the t6dious
progromming chores thot toke up so much oi your time. Code is oulomoticolly exponded dnd commentedj
source files ore locoted tor you: dotobose structures ore monipuloted with the tolich of o keyl
Multi-Edil wilh EVOIVE gives you o COMPLETE environment for your XBose progromming, with TOTAL INTEGRATTON
to your choice compilers. linkers. moke utilities ond oll your other toolsl :. -
'Mutti-Edit will conoert prograrn nen - ,,...epeed
up your deuelopn&n crct,- #ffi:ril:3#fr:;;ii'#"#:I:;!;t" "
Editing talz and eaq cotfiguration ...leaoe your olil eilitor behirul. .,.eaen tfu *i*, it iii*it i;d;;ig" ;i-
will surpaec ut* erpcctatianq" ona uith the 'shorl' ,rane." intuitioe construation mahe-Itfiulti-Ettit
Nicholas Petreley, Info World, July 6,1992 Jeftey Bersin, DATA BASED ADVISOR, April 199r just about lhe fitest text editor oot on\ in
DOS but on moet any platform, "
Mulli-Edil gives you.. EVOLVE odds... Andrcs Binstock, Computer Lan8lage, July 1992
. Ed I up to 128 DOS, UNIX or B NARY FILES of . Even smorter Auto-Templote Exponsion
un mited slzel ond lndentno Diolecls & Configurotions
. EMS/XMS Supportl Swops to just 3kl . lnstontly creoles funclions from mo ed
. Regulor Expression Seorch ond Reploce blocks ot code EVOLVE/Clipper EVOLVE/Foxpro
. C'oss direcrory. Mu,li-file seorch ond reptocel . Funclion ond Oblecl Sconner / Browsgr / EVOTVE/dBASE
. lln m led UNDO ond PEDO! Edllor / Novlgotor. lnstontly locote ond
. Reol-T me DOS outpul wadow edil include fles, functions, procedures, One Dol€ct Al Dlolsch
. 30/33/43/50 line osDloy ono Ullrov,sor suppo- closses, votlobles ond more MuttFEdit Std wlh EVO-VE lt9, U9.
. Allernole 8R EF or Wordslor keymops . Aulomotes creotion of w ndows from MJlt-Edll Pro wt EVOLVE 219. 319.
. Line. Slreom ond column bocks coordinoies EVOLVE odd-on to V-li'Eol 99. 119.
. orogrommers CocLtolol texl Lter. ASC lct'or . Vlow/Monipulot€ Dolobose struclures ond
ond Notebook! NTX lilesr nstontly creoles comment Coll Now ond eceive o FPEE
. Aulo-sove ond o!to-bockup blocks, memvor ond field stotemenls from lu y lunclionol demo disk!
. longuoge sensitve Synlor Hlghllghling. Snot DBF slructurel
i_dentinO Co')slruct Morctiro o]^d TenDto.e . RMoke intedoce; Automotrc Broce
t-800-899-0100
exponsion Moichino ond Closinoi Commennno
.
.
.
.
Supports more thon O0 different complersl
Un mitad levslroke md.rdsl
Condensed b sploy mode
Support:Source CodE Report Wflter.-
Operotor A Onment; Much Morel
Mulli-Edil Professionol odds..
*rtMex!Crrv
.
Cont€yt-sensitrve Hyped€xl help
Multr-Directory file monogerr
Advonced document fotmotter; spellcheckeu
XCYBERNETICS
. Much {lforel
communicotions; mocro debuggert syslem lS30 wun veEfy D SreI12.I6mpe,A zono8528t
Voice 602-968.1945 Fox 602 96b.165a
moctos source code, VCS support.
EVOLVF ore lrodemorks ol Ameri-oa Cvbeheti.s lnc. Olher produc, nomes ore irodemorksor lhe e5pedive oubishels EVOLVI requires Mutl-Fdrr.
Mulli tdil ond
Some ieotures ot EVOLVT ore dio,ect spec'ic Amer,.on Cyo€rneics. hc 'slonds behino oll or ls produch wrh o 3troy Uniondiiionot Mo;ey Bocl Cuo;o;ee
dBASE DEVELOPER

CASE in the DO CASE structure executes twice as fast as a


Llstlng 2-Strippeddown version ol TTOS lunctlon.
value in fifth position.
EI'NCIION tIOA
PATTIIETER Dt_A!T Speod aipa Put the cases that will evaluate TRUE more
RETSRN (vrl, (LE!T (pt-slt,2 ) ) r 3500 oft€n up front. Put the least lilely CASEs at the end ofthe
vlrJr (sIrBsTR(Dt-stt,1,2l ) ' 6 O+, structure.
vAr, ( suBaTR (9t-4tsr,7 )))

All this function does is parse out the time string returned
!mmediate lFs
by TIME(1) and convert it to the number of seconils from Some people really like the IIF0 function. It's easy to use
midnight. The programs work well as long as you're not and reducei code size from five lines to one. The following liue:
benchmarking around midnight. If the test runs over mid- st'var - Llf (tsligg.r = 1. 3, a)
night, you'll h-ave to ask, "lVlat am I doing up at this hour of
the night runnlng benchmarks when I could be sleeping?" does the same work as:
Armed with these two functions, we can go forth ald inves-
tigate some interesting differences between code options. I'm IF trj.gg.r = 1
going to give examples from different areas that have different
impicts on code execution speed. I hope these will inspire you EIJgE
to use your new benchmarking tool to run your own tests. The
key here is to look at your code and start saying "I wonder..." EIIDIE

DO CASE sttucture You'd probably assume that it would execute faster (one line
We all use the DO CASE construct to branch program ofcode instead of five) but it doesn't. The two examples above
execution based on the value of some variable. Processing execute at the same speed. What happens when you have ,Loo
INKEYO returns with CASE m-key = <n> is one common DO variables whose values are determined by the value of the
CASE example. It's a good one for us because, when process- TRIGGER variable? With immeiliate IFs the code would look
ing a single keystroke, the user can see the results reflected like this:
on the scieen quickly. The order that you place the possible - llf(trigg.r
m-key values in the DO CASE structure really makes a
,rryzvar1 = 1', 3, 1l
slrvar2 r tlf(trigg.r - L, 6, 7l
diferince in program execution speed. Avalue that's the first

Clippcr Developersr Clipper Developersr


Print With Power! Get The Fax!
BUII.D ADVAN(ED FAX CAPABIIITIE'
ACCE'' TH E POWEROF PO'TSCRIPT WITH INTO YOUR APPI.ICATION' WITH TAXUAI.I.IB
THE PO'T'CRIPT TIBRARY FOR CtIPPER.
FAxual.lib is the fint fax library Page si?€s can b€ hard-coded or
The Postscript Library for left, right, or center; and rotate
designed exclusively for chosen by users al runtirne.
Clipper provides an text to ady angle.
Clipper applications. lt s "^.,'; FAXual.lib
intuitive interface The Postscript
compatible witi Clipper supports direct
between your Clippr Library also
5.01 and any CAS- file transmission
applications and includes U.S. Postal
compliant fax modem, at up to 9600 baud
Postscript printers. and 3-of'9 bar code
including Intel's And because
It's compatible with symbologies.
SatisFAxtion. FAXual.lib's
both Clipper 5.01 Graphics inclDde
FAXual.lib functions ope.ate in
and Sumner'87. boxes, pie charts
makes it easy to the background, users
The Postsoipt and circles. as well as
add powerful fax can continue wo*jng
LibrBry lels you line, scatter, bar and
functions to your Clipper while faxing is going on.
print text using any font, size and polar graphs.
applicatons. You can send faxes
color - includhg whiteon-black onDER NOW ONr.v $99.95
oRDER NOW ONtv $149.95 to any number of phones at
and hollow lette6. You can print
any time, track fa\ destinations (818) e81-8367
botl landscape and porEait formats (818) 981-8367 and phone usage and more.
on the same page;justify text

*
THE PO'T'<RIPT
LIBRARY FOR CTIPPER
FAXuaL.ug
^.
ExrRArENroRy r€,gffi EE o ExtiatENroRy r45o nrdb,AE, r€,stE@ cd6, aA 91493

SoFrwaal \ot(E 81&981-8367


4450 N,\rEu.

!
Aw, odc. cA 914?3
Fr'i( 81&98dtr11 . tss 818r86.5t81 E toFrwAir !Q](. 81&9814367 ' t,x 81&98d.5r11'BEs 81&9865781

138 DATA BASEO ADVISOB/MAY 1993


dBASE DEVELOPER

The code for the IF..ELSE..ENDIF would have tv/o extra one line ofcode? The answer to this is that it originally uas
lines of code (one for MYVAR2) in both cases. Which runs rlTitten as I
described it above. I rewrote the function and
faster? The IF..ELSE..ENDIF code. Why? Because the value tested it thoroughly before changing the code in my library.
ofTRIGGER is only evaluated once. With the immediate IFs, Since it performs like it should, it,s unlikely that I1l ever have
it has to be evaluated for both variables. As a consequence, to look at_it again. I knowingly traded offease for speed. Am
the great€r number of code lines executes about 20 percent I happy that I did this? Yes... sort of.
faster. With three variables, it executes 40 percent fast€r.
Speed Trpi When it's absolutely necessary, condense the
Speed lip; Be careful about where you use IIFs. number oflnes ofcode. You should pay particular atten-
tion to the code inside the innermost loop in a DO WHILE
I can do it in one line ol code! structure because the code will be called many times. Stay
There are (unfortunately) many people who are proud ofthe away from cailing UDFs in this situation-the repeatei
-
fact that they can put more code into one line than anyone calf ntns much slower than inline code. Outside ;f this
else. The following line is a simple example ofthis: case, wdte code so that you can read it.

rt'var - uDp6r (l.ft (trL!(rtrt!(Ey!tr1ag) ),2 )) Day ot the week


I have a program that calculates ifa date is on a weekend or
This is great and it does run faster than splitting the code not. The code goes{ike this.:
up into four separate lines. In my test (on a 486 2SMHI
machine), it ran three seconds fast€r_for 10.000 iterations. IE Dow (Eyitat. ) = 1 .or. mw (qaaat6) = 7
While there's a benefit, I'm not sure l'd want to sacrifice the kir..kEtl - .t.
debugging capability and code readability for 0.0008 seconds EIJgE
in speed improvement. Improving program speed must in- isn!cr.!t[ - .f .
clude the ability to go in and modifr code when necessary. ENDTP

An excellent example of code that's difrcult tp read can be


Someone pointed out to me that this could be reduced to this:
found in this article. Just look at the TIOS function. I could
have parsed out the time string into three variables, converted -
the strings to values, multiplied them the number ofseconds
iswcck:rtl t{OD (mw(Errdatc),5 ) = 1

in an hour or a minute, ard then added them together. It The code was terrific! Too good to be true, I thought, so I
wouldn't have run that much slower, so why did I write it as benchmarked it. The single line ofcode was about 20 percent

Clean Up Your Clipper Developers:


Clipper Environment! Eradicate Enors!
CI.IPPER . . . AND A WHOTE I.OT MORE. U'E YOUR PRO6RA AMING TIME PRODUCTIVEI.Y
'ET IN'TEAD OT IIGHTIN6 WITH BU6',
ArE your C'lipper pog&ns central set of conigumtion files.
rurming at rlEir fuI Serial numben? Brand them in No one plans $eir Clipper information you need to aack the
potential? Make sue wiri witlDut refinking. programs !o fail. Even problem down and wipe it out.
if "bug" isn't in your
SEZ You. dle complete
aa. They'rc encr}?led Now PS ERRoR is

E/
solution !o sET ct-[,PER ..o for s€curity and can vocabulary, there are integrated with
problems. It not or y be locked to prevent still cofiupted flles, Clipper 5's object-
buns in dle ophmal unauthorized out of'control TSRs. oriented eflor
envirofinent settings tampering. and tiat one user in
wihout refinking, Now SFz You every bunch who dllJi:"HtJ,ii
but can read dlem les your p,rograms can cmsh .rn)rhing.
fiom file Tha!'s why you
tESS:",:r"*
a ar runtirne- brand tllemselves, for
Sefing up pogans to run on a easier, more automatic need PS ERRoR.
nexro* just got a lot easier. With iDsallalion ad configuration. the most complete runtime enor progrun ls runrung,
every kind of machin€ ftom a slow system for Clippe.. It's the only one
286 to a firly-loaded 486, to a
Only Sl19.95 &at can trap fatal stack faults and Only $149.95
diskless worktatiofi---€very se$p (8r8)981-8367 out-of-memory conditions. And (818)e81-8357
can be easily contoled fiom one Free Deno Disk AYailable record them all, with the Frec Demo Disk Available

trT
5Ez YoU P'
EERRoR
ErrnAtENtORf 4,150rxnetbA€{t,5,umnodlsCA9-4!3 EfiRArENroRr 4450&,/daAk, € $glE Oda, (A 9t4a
,oFrwARE locE 818.981.8367 . i( etg 9€d5,{11 tBgt BtB.986s7B1 toEwaRr \,rct(E 81&981{36t ' rAx 81&9865a11 ! Bs 8jn9865791

DATA BASED ADVISOR/MAY 1993 139


dBASE DEVELOPER

faster except when the date passed was a Sunday. Wheo the SEI'ECT 4rdbf
date passed was Sund ay ,lhe langer code ran 20 percent fa8ter
thsn the siugle line. Ifyou look at the code, youll quickly see Macro expansion runs six times slower than direct refer-
why: Sunday's the first day that gets evaluat€d in the long encing ofthe nane. Ifyou say, "I know it's slower, but I need
code so the second part ofthe condition doesn't get evaluated, to use macro expansion because the name of my file's in a
saving the second DOW$ function call and the comparison. memory variable. There's nothing I can do about it." Wrong!
matlf I took the DOWO call out of the IF statement and put In several cases, there is something you can do about it. You
it above like: can use indiect referencing. "SELECT (ftrane)" runs half as
fast as direct referencing, but that's still three times faster
4ydal.1 - Dow(EtiArt6) than macro expanding the nalle. Where does this work?
rE qiihyl - 7 .or. qd.t.l - 1
<ctc> Uaa (fa!r.)
SELICI( fals )

If you do this, the speed advaatage of the single line of code SBf ORDER rt) (tE!r.)
lRrsE (f tI€n&.)
ilisappears. Ttris doesn't suggest you should immediately go IIODI COOa (Drgn!i.)
out and chatrge all your code. It does mean you should pay
carefirl attention to the number of times you call functione.
are commands you can call with indirect referencing.
Speed tip.' Avoid extra calls to dBASE functions if possi- You can see an example of this t,?e of coding in my TIMER
program. Notice that I SET ESCAPE ON (so you can stop the
ble. Avoid extra calls to your own functions at all co8ts.
program ifyou have to go to lunch) after I store the current
value to a memory variable. Aft€r the program runs, the
lf,acro expand lor molasser program resets SET ESCAPE to its original value. I could
Everyone's beea told to avoid macro expansion. It's slow We have done this with fewer lines of code with a macro expan-
all know: sion, but I chose not to out ofhabit.

far4 - 'qdb!'
SELICT &fa!!. Speed tip: Use alirect or indirect referencing instead of
macro expansion wherever possible.
doesn't run as fast as

If it
doesn't fit )

Force it I a

The only Xbase compiler for tight, fast, and very smallEXE files
CompuServe: GO FORCE

140 DATA BASED ADVISOFI/MAY 1993


dBASE DEVELOPER

USE AGAIN to this problem work at about the same speed. On the other
The USE AGAIN conmarld is one of my favorites. It allows hand, if the table is open, the three lines of code take aboui
you to open a data table in more tha-u one work area by adding tuenty-fiue tiE,es longer to execute as the eleven lines in the
the modifie! AGAIN to the commaad. This means vou cai second- alternative. Why? Because you sufer unneceasary
wfite some very coEpact code when it comes to usitrg data DOS file operations to open and close the file.
tables. The code snippet that follows shows you what I;ean. Plalng devil's advocate here, I must admit there,s a good
argument to open and close files all the time, Ieaving them
USE q,Ioy.. AGAIN IN SEIJECT ( ) lrrrr.s .2 open for the shortest period of time. Open files do invile data
SEIECI c2 corruption in cases ofpowerfailure or other natural disasters.
< tlo your codc > While the.case has some merit, I suggest you look carefully at
usE your application to see if it makes sense for you.
You no longer have to worry that the table is already open
alrd, if it's not, setting a flag to make sure you close it wlen
Speed llp; File VO is one ofthe slowest things a computer
you're firished. Compare these three lines of code to the does. Stay awayfrom itifyou can. Openyourfiles and iea.,e
them opea unless you have a specfic reason to close them.
alternative shon n next-it looka very attractive-
Do np, use the USE AGAIN command unless you really
IE SELECT ( 'qrloycc, need a second copy ofa file open and are willing to pay the
) 0
,aloDaa - .f . speed penalty.
gErEcI ETBLECI ( )
UgE qrloyao Gonclusion
EI,S3
qrlotroe We've barely touched the surface. I've talked about it in the
SELECT
r .t. past when the subject ofspeed directly affected the code I was
rraaoDcn
EIIDII writing and I'll continue to do this in future articles.
<aloyour coda > Malcolm C. Rubel is president ol Perrormance Dynamics Associ-
IE .rot. raao96n algs, a buslness applicatlons consulting ,itm located in New york
usE City. He is the author of several books, including dBASE tV powet
ENDIT Ioors (including Clipper code) and Foxpro 2.0 power Tools, bolh
available trom Bantam. His latest book, dBASE tV powet Toots
Three vs. eleven lines ofcode and one less memory variable (Revlsed lot Verclon 2.0,), is due soon after 2,0 ships, Mr, Rubet can
to boot. If the table in question is no, open, both approaches be reached at (212) 972.2330 or on CompuServe 71441,3362. o

Your
KeeP Your SALES Bar Code
Morndnturn Growing! Libra ry ls
0ve rd ug.
The verdict is in! Check out Bar Code Libmry A program-
Data Based Advisor reprints enhance your mer\ library from Str:andwarc that lets
sales packages and brochuresl Spread our )ou print bar codes from within pur own
pmgmms in minutes. lfs fast. Easy to use.
words lo your clients and customers.
rRUE Work on most printers and operating
l\rake them aware of what we've said systems. Saves you time since you don't
about your product by sending them have to write and mainlain ,our own
a reprint! Add your logo and adverlisement subroutines. And saves you money b€cause

to these attractive reprints printed on 70 lb. you'll never pay ror"lties for library usage.
With a price of only $499 with source, the
glossy paper in 4-Color, z-Color or
time is right to check out Bar Code Libmryl
Black and White. To order or for morc information. call
For more informalion about this l-800-552-2331 or Fax lrl5-833J995.

cost-eltective markeling tool call


(800) 336-6060 or (619) 483-6400
THE COM PUTER CON NECTION
and ask lor the Reprint Coordinator.
Data Eased Advisor
40'10 Nrorena Blvd., Suite 200
Strancf\Arhre"
For Anyone Who's Keeping Trach.
San Diego, CA92117

DATA BASED ADVISORA/AY 1993 ,I41


HABDCOBE CLIPPER
Build
Subclasses to
. Browsing with lill€.rs
. Ctass(y)
. FOR, WHILE
. Obiect-o ented prcgramming
. Superolass
Simplify Filtered
. TBrowse
Browses
By Rick Spence, Contributing Editor Table l-Slmulated instance variables o, TBrowse subclass.

Reusable code can surely make life eas- Element #translato name Type Purpos€
lrja. €rs ier for hardcore programmers; you just 1 Block WHILE scop6
writ€ a routine once and call it as often as 2 Block FOFI condition
you need to in your program. Block Move lo first
I The TBrowse program I showed you last CANDIDATE record
time could be used to browse a subset of Block Move to last
records in a database using FOR and CANOIDATE record
WHILE conditions. That program also al- 5 Block Move lo nexl record
lowed users to switah to an append mode; the TBrowse dis- 6 Block To move to
played the record at end offile for the user to append records. pr€vious recoad
I also showed how to implement the code for reuse. All you 7 Logical Display end ol
had to do was call a function that returned a TBrowse object lile record?
that was already configured.
In esseuce, I programmed a special kind of TBrowse, a
TBrowse configured so it only displayed a subset ofrecords. Naturally your subclasses will define these as new instance
In object-orieDted prograD.ming t€rms, this is the principle of variables.
infuritance . This special kind of TBrwse infuited from f}re Table 2 shows how the ftnctions that n'orked with the
basic TBrowse class. You didu't rewrite TBrowBe; you just simulated filtered TBrowse subclass were defined.
programmed it to behave a certain way.
Since the code needed to store additional information about Table 2-Functions worklng wlth slmulated TBrows€ subclass.
the browse, you stored this information in the TBrowse ob-
jeclls cargo inata[ce variable. You used TBrowse:cargo as an Funsllon Purposo Parameters
array, but rather than accessing the array using subscripts WHILE scop6
Creates and reiums
like: TBrowse objecl confi gurad FOR Condition
lo browse subsels of rocords. goFirst block
ollbr:calgo[7] goLasl Block
llll!.! () Callod by TBrcws€:goTopBlock TBrowso object
to move lo the fiEl record matching
you defined lltranslat€ directives so you could refer to these the FOR and WHILE scopes.
alata elementa using a more readable syntax: tBr.rrt {) Called by TBrowse:goBottomBlock TBrowse object
lo move to tho last record malching
**tflrnrlat. : aplrD.dxod. -> : ca.rgo\ [7\l lfie FOR and WHILE scopes.
lBN.*t ( ) Mov6 to lh6 nexl record matching TBrowss objecl
FOR and WHILE scope.
This way it only lools as if you've defined new instance rBP!.w () Move to the provious record TBrowse object
variables for the TBrowse class. matching FOB and WHILE scope.
As I promised, I1l show you how to use two thid-party DbghrLDBlock Function used by TBrows€:skip TBrowse objecl
addoos-tIALLoGBAM Software's SuperClaes and Objec- Block to skip in lh6 dalabase. # lo skip

Tech's Class(y>-to create real subclasses. In this case, you


really do add new instance variables to the basic TBrowee
class by subclassing it. Interestingly, you can use almost the In the subclass you'll creat€, these functions become new
same source code to test the real subclass that you used to t€8t methods. Except for TBrowseFWO, all the functions receive
the simulat€d version. In the real version, you simply don't the TBrowse object aa a paramet€r. This is because they need
include the header file which defines the #tranalates! access to the simulat€d instance veriables in Table 1. When
you rewrite these as methods, you won't have to explicitly pass
Filtcred browse subclass the object as a parameter; methods automatically receive a
Table 1 shows the information stored in TBrowse:cargo of reference to the object that was sent the message through the
the simulated subclass. predefined SELF object reference. Contnued

142 DATA BASED AOVISORA/hY 1993


G r-c'C.l;
-
?
J .v s.
" _
.t w
..,-!
,r/
3 s _x^!xl
A Class Library for Database Management in CA-Clipper

Multiple Virtual Tables


Runtime Enforcement of Referential !ntegrity
Multiuser Transaction Tracking and Rollback
Fully Automatic Concurrency Engine
Relational Data Definition Language
Full Support for Modeless programming

"The referential integrity imptementation is brilliant..


"l am throughly impressed, surprised, overjoyed there is nothing like this in the Clipper aftermarket...
and downright ecstatic... the data handling is you should be congratulated."
complete and it just churns away__.the best part
is the nonexistence of corrupt indexes, - Steve Kolterman
trashed DBFs, and lost data."
just what I needed".. I depend
"lt's
- Mark Lussier heavily on CASCADE and t tove it!"
- Jeanne Rimpo
"Have spent some time with ObjectDB and am
VERY impressed... your use of the database
object, Rl checking with cascading, and "Extremely well thought out and
transaction rollback is superb!" docu me nted desig n... I mpressive. "

- Kevin J. Farley - Larry Rappaport

vtsA Introductory Price $ 199.*


Call toll-free to order 800-331-8380
-
l= Princeton MICRAN Associates, Inc.
ob ieclDB containsa limited runttme vorsion ot Ctrsstvl. whtch is Dubtrshed
by obiecTech.lnc. All rademarks are rhe propsrty otih;tr reoisteied owneis

*30-DAY Monev Back


Cuarantee
Demo available on Compuserv6 Clipper Fo.um
PHINCETON MIoRAN ASSooIATES, lNc. 418Wall Street. Princeton. New Jersey 08540 Voice: 609-924-4226 FAx 609-921-0483
HARDCORE CLIPPER

that users of the class can't eee these instance variables; the
Subclass declaration with Class(y) *a"ift"t ,ccess these instance variables are methods
Listing 1 shows the class alefinition using Class(y) syntax "J, """on the class.
defined to work
Listine l defines the class name as TBfu To create new
Listing 1-TBrowse subclass delinitlon using Class(y)' i;hnc;s ofthe TBfr^, class (to creat€ TBfiv obTects), write:

CREATE CLASS TBfw trROU IBEolt.. oTbr :- Ebfwo lEcn(bwhl1c, bFor, bEl'r't, bla3t)
EIDDEN:
VIR goNoxt This is differeut from the simulated subclass in which you
VIR gloP!.v simply wrote:

IIETXOD TBPr.v ollbr := TBrow!6tr1f(btlb11., bEor, bEtrst, blrrt)


ITETEOD TBN'Xt
To make the two compatible, you define TBrowseFlV as a
EXPORT 3
function that calls TBfwO:new0:
VAR l'hi16 // fho WEILE aco96
VAR for // fh. FOR acoDa EUmTION TBrow66Fw(btgb116, bEor, bElrst' bLast )
vAR a9D.Bdl!{odc I I C.:n 'uBai aDP6nat r.co!da?
RETITRN TBfn( ) :Na?(bwhtl., b!or, bElrtt, blatt)
lrIR goFLr.t // codt. blocki Eov6 to flr.t rccortl
vl8 trolaat // coda block, Dova to lest rocotdl
Class(y) initializel
uElflOD tAElrat In Class(y), when you call the new0 class constructor func-
NBTEOD llBlra.ts tion- it automaticallv sends an initialize message toyourclass'
XETEOD DBgkigBlock The message is calied init{). tL's here that you perform any
initialization your class requires.
IIE|IIOD IEit
Listlng 2--Class lnitiallzatlon ln Class(y)'
END CI.l.gS
IIETHOD IDit (blgbil., btror, bFlrst, bl,rdt), ()
Listine 1 declares two methods and bwo instance variables .61f:ttli16 :- bwhllc
as HIDDEN-users aren't allowed to see them This means

t ,NSTAA'T CL IPPER
, a APPLICATI oN5
tlse the PATH-V|EW ADDlicatlon GeneEtor to develop
stiie-ot-the-art clipper dFiplications in record lime. With
@
PATH-VIEW. vou iontrol the entire application process
There are no libraries. run lime or royallies. You design the
I 01fr
DBF'S, the screens and menus, set up your lnoexes- ano
relations and PATH-VIEW generates pure Clipper 5 0x or
Summer'87 source code ready to compile. link and run
Y-A.ray0lsrl
Features:
(abbr VAM) n. L An
inposing €nes which trdsP@ndY
utltes sv$em resomes. L An
ordedy ;ansement Dor in rc o > ic:een Palntel
cordmce *ith strict definnio. or
convendon (memoryr l. A vLlual > Bosnce Bar, Popup and Pulldown Menus
md! mmaaer bhrd4 io. 8AS|C. C. User efiot
XBASE ed o$* le8uges which
allotr s oru|fmme6 lo rM\Pdntly
, Strpryts all bngw Wrdrant data > WYSIWYG and Btowse wlndows
u,il,e d\;ilable e\rended & e! lvDes, > R & R nepoit Wrlter lnterface
D detl mmory oJ dirk sp&e ro
ileJre rlDed numencdl m)s
, u;i tufrndble afiev save n&.
,i
nxed & vrnable lenelh sfin8s uP to
. Libnriu irctudd lu tr*languages: > C Style Ptcprocettor
DBase lll Mic.osoft aasic v7.l
> €omplete mouac suPPort
DBa* ry Micosoft QBasic tr?.r
Clipper s8? MicrcSoft C v6-0
V-Arnylttgt] (Ytlr) is a multi' CLipp€re5.01 MicrcSoftASMv6.0 > No template language to l€am
language 11brary designed to give
For ordering and inlormation:
proqrammers flexible conlrol ot
f-i-lf sOs.299.72214
> New Verdon 2O
memory resources lo allow lor im' ord.fipfinottuti@
plementalion ol large typed arlays. 5(l5.294.5569
FAx kt ddlddal i.io
YAl, gives users lull use ol exten_
ded or expanded memory never 3rL1) b. etwd, (bsns,tin, Fot more in orfiation contact: fo orler contacl:
belore supported by conventional Pahlind€r Data Syslems, lnc The Progranme/s ShoP
real-mode compilers. YAi, library
rculines are easy to use, tlexible,
wilh low memory requilements.
al ln
Route 66 Solutions
Albuquerque,NM 37l921-zx -
Offer-$49+S&H! @-"
PJ Manhallan Beach, CA 90266
(310) 546 6333
cLPP€n srllgistsrldr,idema ol llantr.rd coa. B & R
(800) 421-8006 USA
(800)446-3846 Canada
(61 7) 740'251 0 lntsmarional

F4!0n vlnrsisa4d.DEaludm or cffiftic oah s]4BrB le

144 DATA BASED ADVISORA.4AY 1993


HARDCORE CLIPPER

a.lf:for its parent class, which is TBrowse. This MESSAGE LOOKUP


scLf:goEirst != bFilst
aclf!gola.t continues in parent classes until the send operator either
finds the message it's looking for, or it."u"h""ih" .oot oiih"
aclf: go![€!.t (ll a.1f rIBr€r.t ( ) )
cl_ass hierarchy without finding the message.
!cIf:goPrcv {ll ..1f:IBPr.v() ) In the latter- ca8e it produces the .T{on export€d Instance
ial,f : aplr.Bdxoatc .l.. variable / Method" error. Youte probably seen tnis .r"or i"
your existing Clipper code when you miispell either an in_
..If:goToE Block I a6lf !TBFLrBt ( ) ) stance variable or a method!
aclf: goBott@BJ.ock I B61f:TBIJast() ) Note the extra set ofparentheses after the definition ofthe
a61f:sklDEloch E I 6.lf :DbsklDBLocr.(a) ) init method:
r61f:goTolr( ) UEIiBOD ltrits(bwhi16, bEor, bFilst, bLast), ()
REIITRII galf
This is how Class(Y) initializes the parent class, TBrowse.
Class(y) passes the same parameters t :initQ that users of
the class pass to :new0 (irr this case, the WHILE anrl FOR Subclass declatation in SuperClass
scopes) and the code blocks to move to the first and last records .The class definition for SuperClass is similar to the Class(y)
in the scope. This initalizer uses these parameters to initialize definition:
the instance variables ofthe subclass.
Llsting 3-SuparcIass subclass def inition.
The initializer uses self, the reference to the object that was
seDt the mes8age, to initialize the instance variibles. Notice Cli.gg TBfw INIIERTT FROU gcEBror.s.
how the initializer can directly access the instaDce variables
ofthe class it inherits fiom, TBrowse. For example, when the RESTRICTED
iaitalizer performs: vAR goN.xt
vlR goPrcv
a.lf: goBottcoBlocX := (ll .61f:TBLasts() )
UESSAGE TBProw
the send operator doesn't find the goBottomBlock instance MESSAGE TBN€Xt
variable in the TBfin class, so it searches for the variable in EXPOR?ED Continued

!?

TAPPA DEED
PRINT Windows Foxpro Reports
TAP
from DOS FoxPro! Wow!!l
lntroducing..

RepCode Gen converts FoxProAffindows


KsyLuOs Uerr
,"!ort fo. r.. in FoxPro for DOS on laser printen.
. All printer, cartridge, & soft
fonts are preserved. Onlv $99 + $5.50 s&H
30 day money back guarantee.
o TrueType fonts can easilly For Demo disk send $ I or
be mapped to other fonts. BBS to download.
use our
. Bitmap graphics images
Windows Report are preserved. Coll todoy to order, or send check.
. Lines, boxes, patterns, and MCiViso Accepted
shades are preserved.
.PRG File
o Text is justified dynamically MICRONIX Inc.
to match the original report. P.O.Box 4OOal,
DOS Laser Report . Printing speed up to 20 Indianapolis ll\l 46240
times faster than Windows. Ph: (317)573-9946
DATA BASED ADVISOF/MAY 1993 145
HABDCORE CLIPPEB

// rh. WBII.E 3colr. d.1f r for := bFor


VIR t hilc s.If:goFirEts := bEirEt
VIR for // fh. EoR rcoD6 := blriat
vAR apD.ndllotlg // ca! urer .DIr.Edl r6cordla? .cIf:golaB!

// cod. bl'ock, !ov. to f:[r.t r6cof'l E61f:goN.xt := ( I E.If:TBN.*L ( ) )


vlR gotrlr.t 661f!goPrav := { I sclf:TBPlcv( ) )
VI.R golJ..t // coala block, Evo to last t6cold E.1f : al)p6rttuoala := F

UESSAGE TBEir.t := (ll 661f:TBFirBtO )


EggACE TBLaaE
sclf:goToDBlock
xEastGE DBskiDBlock(a)
6olf: goBott@BLoch : - {ll 361f:TBLaEtO ) (a
s6lfc6ki9B1ock :- { ltrl s61f : DbshigBlock )
I{ESAI(iE Inlt(b$hi16, bEor, bFirst, blast)
END CI,ASS
EcIf:goTop( )

RETI,RN S€1f
There are minor syntactic ilifferences in the way you define
tne cfass. but the biggest difference is that you must define
p^tu-"t"is"when you de6ne them (See lnit()and
-"1"ue";' The only difference between the SuperClass and thdlass(y)
DbSkipBlockO for an example.) version ii the way you invoke the parent s initializer function'
SuperClass initializer Wlth Superclass you must explicitly invoke it by name, as in
Listing 4:
Listing 4 shows the initialization function for the Super-
Class version. // E*!r1lcit1y call au9€rclass'6 (fBROwgE)
// colstructor fuDctloE
Llsting 4-superclass subclass initlalizatlon' E.If: iritNcw( )
ltErEoD Init (bwhi16, bFor, bFirat, bl,adt)
Glass implementation
// Expl,lcitlY call suDclcla.a'a (TBROWSE) 5 shows the implementation ofthe methods defined
Listing-class.
// coEstructor fuaclioa for the Its basically the same coile as I showed last
sclf ! laitNor( ) month. exceD[ here the methods don'L receive the TBrowse
661f:wblI. r= blrhil. object as a parameter like the functions did Rather. they

"t u,as FAxtNC lro nJ o|9ncode the


library!"
Progromrnerss iaow Yer. 4 "Sil|trFo\ alb\s Fo\Pto
di
to e tet u ne\|
ension - . . tesli,lg spau |chi.les before
FIRST DAY I rucei'ed the new
llornecs lhc Winds ol Chonge. loun h nt JPL . . . ftal'tin? nission-ctiti&l

Gat Oltirrun Pedcnnoncc Urdrr ' &diottol


AdYG;. Gcndhlcnr Wfih ltp Asrrr ISPCS)
/
hotures
Addniorl lo* Llel E.ninal
/
3llvciWorc Gcllcitc.rlcrrr Ubrcrl... XMODEI\,{ II(. YMODEM.C.
YMODEM-C bath. ZMOD€V. cdrol ANSI, VT- 100 and VT-52
susival in progE,irr'ing
the rtoflny world of depends on one crucial r' Up to 6.1 COM pons lim.ntaeouslt
factor:creatilg a?plicario'Is thai work. Becx se ifvour appticldons y' VT-lm, VT.5l Tmiral EmoLti6 / rlT 14 rddksdd ftr LAN s$Po,r
don t wo.k, you don'r wo*. You ve 8ot to kcep up with fie e!€r r' CAs.mplia FAX mldems / DiBi Bolnl rcAIC1.8. 16
Ydu can s.d &d e.eive FAX$
chanslng face of tecinoloAy a.d use thal lechnolagv in lhe prograrns (SET HELP TO SFHELP)
in rle ba.kBrNnd.{Mllli Board}

Thar'qh\ Sil!erw.rre.,<atedrh. Sil!erwrre Prolc*ional Comrntrni 5 verd,onn "C: Asmc (SPf,S} odditioml feotwes
..,,.n \c;e' (SPCSI lamrlt ot lihraries. ftre (SPCS) libmfle' u'r Lhe / Baeisrd.d tidRd tunctioJ / De!'ce.unt hmitoB.
rrry tar.*r re.irnotogy ro gi\ c )otr relrrble tu8h p<rform ce rnlerupr
arri<n.onrrol of a.in.hronou5 communic.tion\ In )our applications ton$roges SuPPoded;
uring your narive piograrnmins language All"C" o k*nb|5r,ut eW
Fedwe-Pockd FlexbifrrY . si,lelconm {sPc-S) dB.s€lilandlv. . Silvc(]onnr "C A)1. iSPCS]
Al1 rhe (SPCS) libnties incotPonte a tabl€-driven desi8r for rnarimum FolBa*+, FoxPt{O I 02 dd CliPP.r 8?. Mi.tu$fr C Tu.bo C, Borldd
r'lerihitirv. The (SPCS] Liblane.s are lhoroughlv docnmente.d wiih . Sillerclip l SPCS) Cli4e.5 C++.WitcohCud
hundre<Ii of examples on dist to get you up and nniry FAST " . Sillerfc\(SPa'Sj-FoxPRO2/2.5 Top SPe.d C
Ih,- ISP(.S) L*ary For Yott Order ilow ' Sod/octroo Gvorontd!
SffrerConm lSFCSl o# ill I5PC5, ti&lrtot The Silvetware {SPCS) Lib.aries help }ou crea.e applicalions lhat can
seather an\ And !ou don I risk anyhtng. AllrSPCSrliblrnes(om<
./ XMODE]I,I. YMODEM. YMODEM "torm.
Rrch.nd ASCU ,ile lnrsfer ./ 16 bii hish IRQ COM blErds - IRQS $irh an uniondi I ronal 60 .la! mone)_backguuanlee If )ou re nul
00.1r.l! & r5, co'nplelely sarisfled, tetum ir for a full refund Ordet vour (SPCS) librarv
/ ANSI and TTY teminr. ulilions / Ndlor Glid.s {kr!br* (G Erpen bday: (214) 247-0131
/S.n p.s6si.g.
file Help)
AvA,lASlE
./ PS,2 rned inl.dpi Mi@ Ctrnet r' Harc SMnmoden ad comPanbles fnEE PRODtrCrrl#oPr4Arron,
./ Bardce (lTSrc1S]. (DTR /DSR) l0lO LBJ !rc€*3y. Slt€ ?40
/ S25O / 16450 and 16550 FIFO siBnl and $twe lxoNAoFF) D.ilr\. Tx 75234 USA
UA&TS now cottrcl. HiEt-level e,'ote tnPu!.
y' Suppons !! b I 15l. baud. chahcte. filrdids, vi{i€o iu.{io' WARE t*
(2t.a) 247-0131
./ IBM PSI? Mido Chare! Dlal A-rt* fe t€b sup!.n and m*h tw. iBS: \2141?47-2U7

146 DATA BASED ADVISORA.4AY 1993


Each fssue FOXPRO ADV'SOB CHARTER SUBSCRIPTION
0
ShowsYou
HowTo: L YES Start mv Charter subscription to foxPro Adois
at the Charter Subsiriber rate. l'll pai onlv M9 for one vear
I Tap ForPro's powerful (12 issues), a savings of37oo off th'e cbver'piice. '
built-in functions
I Use FoxPro's Rushmore L Arco
for amazing speed ,I want to save typing in all the source
code by subscribing to the Companion Disk for a n
I Learn FoxPro's additional 990 for one vear 0 2 iisues). a savines of
commands and cteat€ 25%. I'l I get source cod'e, support files,
your own Programs
utilities, add-on products, samples and"xu-pi"r,
mori!
I Use Windows features DiskSize: E s.zs trs.s
like DDE and OLE
I Design, normalize and Name:
Payment Method
manage multi-table E Check Enclosed E gitt trae
databises Company E VlsA/Mastercanl E American Express
Address: _-
I Mastei the FoxPio Xbase Card No.:_
programming language
City:_Srare: Zip:_ Exp. Date:_
Country Phone Signature
I Become a Power User '( ali( r6rdenr,add $6.a_8 sl* L\ ror dbl \ub^,< n t,on. ( anadid n Frdcnt< ddd $20 , ior po.rdEe in.i LS ld \) or hcr lounlne5
and Developer! ddd }{U ror post.Be tdmen! in US dotl.Font! ( hKI\s musr b€ drawnor L < banr:dea;nshou$

8D305

Each fssue ACCESS ADV'SOR CHARTER SUBSC IPTION


ShowsYou L YES Start my Charter subscrip tton to Access Aduisor
HowTot at the Charter Subsiriber rate. I'11 pair onlv $29 for one vear
(6 issues), a savings of 25". off the'co'ver pirice.
I Create custom
Access applications

I Master the Access


.Arso, I want to save typing in all the source code by
Basic language
subscribing to theCompanion Disk foran additional 960 for
I Use and create one year (6 issues), a savings of50%. I'll get source code,
Access Wizards
support fiJes, examples, utilities, add-on products, samples
! Embed powerful and more!
obiects with OLE DiskSize E 5.25 E3.5
I Tap ODBC to access
Payment Method
corporate data Name:
E Check Enclosed E silt N,re
I Find the Solutions to Company E vtse/Mastercara E American Express
your business problems Address: Card No.:
I City State: Zip:_ Exp. Date:
Become an Access
Country: Phone: Signature:
Power User
and Developer! {dl.ln\d(ntsddd$4bq{lslarl,{dr\t-ub\nplon.(rtudianr*idencadd$tO(tor@\rae.,rd(,\rr\)Oth€r.ounlnes
ddd92ulorp6rdSp Parmenr rn U.q.,loll.^on[\ ('hHts mun bedrdwn on U q. b.nr1(tcJ;nghou*
BD3O5
NO POSTAGE

ilil ll NECESSARY
IF MAILED
IN THE
UNITED STATES

BUSINESS REPLY MAIL


FIHST CLASS MAIL PERMIT NO. 7'ESCONDIDO' CA
POSTAGE WILL BE PAID BY ADDRESSEE t-
--
---
FOXPRo -r-
AD\rISOR
BOX 469032
--a--

ESCONDIDO CA 92046-9922 -

l l, l, ,, ,l ,l ll,, , ,l ,, l ,ll ,, l ,l,, l, l,, , ,l ,l ,, l, ll,, ,l l

NO POSTAGE

illlll NECESSARY
IF MAILED
IN THE
UNITEDSTATES

BUSINESS REPLY MAIL


FIRST CLASS MAIL PERMIT NO. 7' ESCONDIDO, CA
POSTAGE WILL BE PAID BY ADDHESSEE
--
ACCESS r-a
--
---
AD\/ISOR
BOX 469030
--
--
ESCONDTDO CA 92046-9918

-
l l,l ,, ,, l' lll , l, ,l ,ll, l,l, , l' l', , ll l,,l , ,,l ,l l
", ' "
HARDCORE CLIPPER

access the object's instance variables through self, which all ll llraE aaaa rGcora Doittar ao I,! ca!
methods receive automatically. ll t.rEore it. if wa caE,t Dovr -
IOC.f,IJ EsavcR6cNrr! :r Rocrlo ( )
Listing Hlass implementatlon. LOCAIJ Uiov.at ,= .f.

// RoutiD. ca116it bfr goTogBlock. It eust Eov6 to rF Eof o


// Ebc fLtaE r.cord iE tb. datrbas6 tblt Datch.s UiovGa r= a
// botb th6 FOR aDat WBIITE sco!,c8. Th.so arc stor€d EIJSE
ll aa (joira blocka in tb6 TBrot s6 objcct. If th6 gEIP
// rouliEo do6aa,t fl.Dal a latchlag racortt, it Eust DO WHIIJE !Eval(6c1f:for).AI{D. Eerl ( 361f !l,bl,1.) ,
// position th. rccora poidt€r at.rd of fiLc. .AND. !Eof ( )
SKIP
IIETEOD AUNCTION rB?Irats () EtvDx)

// lfhla takc. us to tha fLrst oro IF Eof() .fND. s.1f. apDcadttoda


Eval (a.It: goPlr6ts ) I / Ela.a ..,
BIJSEIE ! Etral (e.If:rrhiLc) .OR. Eof()
// But ya Dust aEaura thia also ,Et.chas th6 FOR rE lEe.I (sclf :rhil.) .AND. s6Lf :aDIr.EaIUodo
ll acoDt , nitsbout Dovilg outsgiat. tbc rGcorils coto 0
// EetchiEg thG WEIIJE scoDc. EI.SE
DO IIXILE lEofO ..lI{D. Bval (s61f:nhiL€) t ltlov.at := .E.
..l!lD. l Eval (aalf ! for) G|OTO EgavaRccNn!
sxrP EllDIA
EIDI)o EIIDIP
ETIDIP
// If r. .rc!, t or a r.lld E.corat, rnov.
// to .!d of fil.. RETT RlI lliovcd
Ir EofO ,OR. I EvaI (a61f:vbi]c)
GOrc 0
BIDTE ll o1'c to Dravlous rccord auglrortilg FOn
// a\d YIEALE colditl,oBs rlat aDDold uod6
RETI'RN NIIJ
UETEOD FUXCTION ,IAPrcv( }

// noutiDc call6a hl]' EoBoltdBlock to rov6 LCIIJ Eg.v6R.cnuD :- RccEo ( )


ll to th. Iaat rGcord iE th6 d1.t.bas6 latscliEg ,JOC,IL ltlov.d :r .T.
// thc AOR ald lilBILB coodLtior, ald takirg a9D6aA
// Doda latso accouDt, // TahG aD6cial car6 !t Eof() - a gtrIp -1 iE
// Dots rufficiclt b.c!u.c of th. ftlts.r.
IiEIEOD EUNCAION TBIJA8I ( } rF Eof o
Eval ( !.If rgola3t)
ll lf. a99.DA ed. is oa, !ov. to aEtl of filc EI,SE
gf,rP -1
IE .6lf : alxr.Ed[od.
GCI|IO O ENDIE
EI,SE
// Irri6 takcs us tso thc last r6cortt DO IiEM lEval (..If : for) .ttfD, Ee.l (sclf :-LiI.),
Eeal ( B.1f: gollrt) .llD. lEof ( )
sxrP -1
// t'h:k .Bsur.s tsh. rccortl E!tch.8 trotb !h. BlDDo
ll l.oi .nd. l,bil6 scoDc
DO wErLE l8ofO .rND. Eval (..1f:rbl,16) , IF lEe.J.(a.lf!rrbil.) .OR, Bof()
.tND. I tlv.l ( ac lf : for ) GOI$O DgavcR.cNlri
sxrP -1 ll(ov€d r= .8,
ElfDDo EIIDI!

ll lf aa at. aot o! a valltl r6coral, BETITRN Lllov6tl


// go to .rtt of f11.
IE BofO .OR. lEv.I (aclf:yhi]..)
GOrO 0 // SkiDbloch routLl. for iht.5a!. brows.s. N..its
ElDTF // auDDortLEg codc blockr that rcv. forrrarat oa.
al[Dtr ll i.co,rd aid tov. brckrarat ot6 rccordl. fh.y suat
// Solb r.tura loglcali rblcb iEilic.to rb.tb€r thcy
RETI'RIS NIL // aucaaal6d or Dot. fhia fu.Bctlon raturas bor EAEy
ll ,raco,rde it !kl9I,.tl, .r rcqulrodl b!'
// TBror'a.: aklpBlock.
ll ,.dr. Eo a.st r.cordi .upDortllg EOR ..uit WBILE
// coadLtLons .ad apD.[d Eod.. R.tuar .!. lf XEIEOD EIrItf IOf DbslrLDBlock([]
// .ucc.!tful. .r. otb.rrLr.. If lt c.!'t Drr.,
ll tE do'.n. E cL!.ug! th. r.cordl Doht.r. IACTTJ agl.lDrrod ir 0

TTETEOD FUNCTION TB}I.xt, ( } // Idll,o.ylcra.y for ihtnbear .klDD.r


IEr'0
SXIP 0 Continued

DATA BASED ADVISOR/MAY 1993 ,I47


HARDCORE CLIPPER
FILE RECOVERY
for compiled applications
Disassemblers

DECODE, for dBASE II, Run Time $149.95


ELSEIE E > 0
dCRYPTR, for dBASE +, Run Time + . . . ' $149 95 DO WEILE EskIPDctl .rND. EeaI ( 6.1f : goN€xt )
aAkigpoft++
deFOX, for the early FoxBASE ll $149.95 ElIDDO
ELgE
OutFOX, for all FoxBASE + $149.95 m WHILE agkiDlratl .LND. Eval (aelf rgoPr6v)
EakipD6at--
OutFoxPro, for all FoxPro 1.x $149.95
ENDDo

ReFox, by Off-World, for all FoxPro 2 . . . . 5299'00 EI{DIE

A.ETT,RN ESKiI)g6d
Valkyrie, by CodeWorks, for Clipper S'87 ... $345 00

UtrClip, by Aladdin,for CliPPer S'87 $245.00


Summary
DBF fi.le recovery and rePair In this article I showed you how to use Class(y) and Super-
Class to implement a TBrowse subclass for filtered browses.
HeadFix automatically rcpain DBF headers . . $ 59.95 You've basically rewritten the function-based code you wrote
files ....$ 59.95 last month anil used a real subclass created through inheri-
QuickFix-2 repairs damaged DBF tance. Since it's reusable, I'm sure you'lI appreciate it even
more in your endeavors as a hardcore programner. Just write
it once, then call it whenever you need it.
HILCOsoy,*o,,
ll26(r ll.rrntt \rlle1 l{o.td
Rick Spenc€ is contributing edllot lo Clipper Advisor and Dala
Based Advisor. An origlnal member ol the Clipper development
Stb.rsnrpol. ( A 95J7!-9255 (707)829-5011 team, Rick is a partnet in Bullding Blocks Publishing, lnc', publlsh'
ers ol CLTsxl, CLReport, CLGraphED, CLwlndow, and CLTools.
Add $5.00 shiPPing and hmdilg for .ach order. Rick is currently writlng CliPpet s.2--Powet Prcgrammer's Guide,
Ov.rs airmail add 95.00 for each ProSram ordercd. to be published by SYBEX. O
Califorda r.sidenls add 7.5% sales L.i. vis & Maslercard acePted

\r', rrr',lirrg to l)( | \lu tzl llr' . P(l \\ olll \url the.e trrir','- in, lrrtl. all ltat,lrrar..
Don't Buv
lnlin,,r'lJ. l.r rt rr" \lit llllll]\ .rrlttale, rlulrlr.. alrl , rrrrrrerlur'- irr a kit
"ii*.,,,rrt1
rrrtel r'"lirti,l pet i,r,lita 1.. 1x, r
to ;rer Lrx ',rl \r't.:r \r'trrolks lL\ \- ) ale
lrrrl(rx rottlirltrcrl t, rorrr',,llicl . \ll
r,,rr rree,l t,r J,, i- 1,ltr;l it all irr rrrtl t tttt Novell.
nx P alllrrrrrrrliatl than \rrrr'[[ fotr small the [\ST\LL 1,r',rgllrn.
l,rr.itt,'""r'" tlrat rlrrn't rreerl t,, hrlrlk iuto a
\rrrl il tlrirt i.tt'l etr,rtt:th. rre lrett;rire
aa
rrraittliirttte. Thr'-r' Lrrr r',rst. leatrrlt it
li.h 1,1\r orrlinrizt r,rrk llo*.
r,rorlrrrtir ilr'arrrl llolit lrr gir irr;l cath
6(l-Dar lluner Balk Guaranlee itttrl
rurlirniied fi'ee teclrnical sul)pot'l (m all Th IS IS a
i,,,rru,rrlel iti r,rrrr',rllir', aire.. t,, lll Bl)l) rrrrrrrlrer'. (|rrl rrrrrgrutntttet'. till .lar
1,r'inier'.. haril,llir
,l,rtal,.r.es.
".. ",,ftrrlr',
:rn,l ,,n th,. lirre li,r'a. Lilg n. il lake. trr.olre
1 ll.lrlent. anrl te ll'irnrrrcrlialelr lelirn,l
r,irrl lirll utttcha.c rrt'ilt il rrrtt'r'r'
local Area
ita,,tt lillrirr
\\ e ,,llel trrrl-user . arr,l rlet el,,;,.r'. thr'
rn,r.l rrrrtrttlat lrt'ar rrI artrl trrorlelr of;x'er
t,, r,r.,ll ir, tl,,r'k. I ike l,,lNtastic urrrl
irrr"atiJiell li,r'arrr
rlav lret iorl.
llre hll
Network
turl *e'll sourl rott ottr li'ee
Tlr',. Irn i.ihlt' Net rork at rlislount
Itli,, '
ir,,l,.
t'rrngittg ftr, rrr sil) lo
(,l.p,
Si')i lrtr'
rrrlinir, ,rr th.."rreerl aurl
S,,
lll.rrugc
rrow
"all l. \\ Erultrati.rt hil att,l att'rct'
attr'rtitr.ti,,n' trtt lturl itlr,ttl l,\\. arr,l
offer that
nretlr,rll,rf ralrlirrll. h,,,, ih.r ,'un li.l1, t,rtrl l,rr.irr,''s.
w0nrt cOst
a

lnEE D IAI I.BOO.C()NNECT


l)nrrl'tl< ln (lilr. (l \ 9tll)I II; ;;:i.;;:lti
ialrirs. i6-r'lrinnlarl. lintt r'
]0U...
'...ururh lirne or utoneY.

'148 DATA BASED ADVISOF/MAY 1993


&".$
&-,
w;
This June Get Smart...
&
kl
Fed
u Discover the latest infomation on Foxpro 2.5 by attending the
largest independent Foxpro users conference in the country
&
kd e-; June 13 - 15th at the Minneapolis Convention Center in
F"
k w Minneapolis, Minnesota.

&
FC
@
&'r
*W
This conference rjll
prot ide you with the critical insights and

H
& eed
information you need to pui Foxpro 2.5 to work for you. Learn
more about programming tools, application development, design
*W eq feq
&4\
&
\eF*
issues, products, and services. There will also be a help session
so you can discuss your specific needs and problems.

To register call the Foxpro Users Conference at


\*d %# I -800/486-8028 ot 612/94 I -6224.
&E
%{ ffi
w tu-r
Speakers include:
. Randy Bro$r, Sierra Systems

@
& ffi
w
CH . Tom Rettig, Rettig Micro Systems
. David Kalman, DBMS Magazine
_w . Dick Bard, Lauderdale Associares
%* M . Menachem Bazian, Flash Creative Management
\ (lall l -800-.18(i.t1028 oI . Gordon Everest, University of Minnesota
@e . Ma(' Rubel. Performance Dlnamics
@
,%
6 t2/91 I -6221

. Bob Keohe, RDI Softuare Technologies


,k,
k . Whil Hentzen, Hentzenworks
. Mohsen Moazami, Stanford Business Systems
. John Hawkins, Database Advisor / Foxpro Advisor
P
&
,sr
. Andrew Hargrave, RDI Software Technologies
w . Alan Schwartz, MicroMega, Inc.
. Les Pinter, Pinter FoxPro Letter
@ . Randy Wallin, COB Dara Sysrems
ffi
Eehq{ . Pat Adams, DB Unlimir,ed

*g
#...
. Indira Singh, United Natrions

w ... ReaIIy Smart.


w
rHE FOX FILES
FoxPro
Tips & Tricks
. FoxPro 2
. Power tools
. Prcgramming efficiency
. Rushmore technologv
. Tuning Pertotmance

By Yair Alan Griver The unoptimized expression can be optimized by slightly


changing the expression to:

Ttris month, I've asked the Flash Crea- LIaT POR cgtat6 + cclty - "CA"
tive ManaseEent professionals to help me This will return the same result as the other code but much
out toeetfier a slew of commonly used
r
\r
cks t"hat you mightfind usefirl for speed-
ing up developmenL-and speeding up
your apps.
more quickly.

SOL SELECT and DISTINGT


In SQL SELECT commands, using DISTINC'I c31!9 d"Y
if vou'ie selectins more than one field. DISTINCT will
Loading FoxPro everv freid in the selection list to make sure it picks
"nio.."
a unique item. If the number of key fields is less than the
From DOS, using the -v switch after "fox" like this;
number of selected fields, use GROLIP BY to make the
fox -v SELECT run faster. You may have heard that GROUP BY
can't be optimized, but remerhber: unless you're indexing on
This will show you the hardware settirgs of the comPut-€r
everv 6eld selected, DISTINCT is also un-optimizable.
vou're usiue (pr-ocesso" and memory configuration), all the
iifferent veisions of FoxPro (LAN, standard, extended. etc ) Fr.ther-ore, GROUP BY witl only check key fields in the
in your path, and which one of those versions is loaded when teoporary tabie resulting Iiom any WHERE clause in the
nfox'. SELECT command.
-vou iust tvpe
tr vnr'"" ,sine a batch file to run FoxPro, typing "fox -y'
returns an erroi code of 1 if you could run FoxPro extended' SOBTing for speed
This is useful in setting up applications for LAN users A Using the SORT comnand to SORT your tables into the
sample batch file to take advantage of these swit'ches could most commonly accessed index order will enhance the speed
look like: of commands like BROWSE and SCAN that use that order.
EOX
SORTing on your most frequently usecl JOIN 6elds will en-
IF EBRORLEVEIJ' 1 GOAO ExfElfD hance the speed of multi-table SQL SELECT statements.
ICEO 'RuDEiEg R.gular xod."
FOXPRO SET ORDEB TO before Ruahmore
GOIO EINIAE
! EXIB|D Rushmore works a lot more efficiently ifyou have no index
order set. Before a SQL SELECT, it's a good idea to:
ECEO "Ru!.BlEg E E.aalcdl [od.'
EOXPROX gET ORDER To
:FINISE
and reset it afterwards if necessary.
Ifvou're usins FoxPro 2.0, change FOXPRO to FOXPROL,
and change FolPRox to FoxPRoLx You can save as much
as 23Kof memory ifyou do this instead ofruaning FOX.EXE. Shading with the Beport Writel
Another benefit: All the network users will be able to point to A neat little trick when doing reports in the Report Writer
the same batch file, no matter what workstation they're run- is to shaale important summary data.
ning on. To create this shading effect, first creat€ a line over the obj ect
you want to shade using the Box option on the Report menu-
lweaking Rushmorc Then double+lick on the line to bring up the Box dialog and
Rushmore uses the index key to determine if something can change the radio button from Single Line to Character. Ttris
be optimized. For instance, given the following two index allows you to specifu any ASCII character for your line.
expreaaioDs: Choosing characterc 7'16, 177, or 178 creates three different
types of shaded boxes one line in height.
rttDlx cr,tstlillu Tlc claatHr4
otg
Now higNight the line object and choose "Send to Back fiom
INDET oll cgtat. + ccltsv ttg cgl.t.Cltv
the report menu. Though it doesn't show up on the screen,
the following statement is optimizable becauae it exactly when you print the report, the object appears shaded Note:
matches an index expression: this only works for printers like Laserjets which priat in
absolute positions.
LIST cl...tN.m ' 'G"
EOR

However, this statement won't be optimized because it Closing all snippets


doesn't exactly match the index expression: Wlen working on a screen in the Screen Builder, FoxPro
trsl l.oR c8tat. ' icf,' allows you to "Open All Snippets" to view all the code snippets

150 OATA BASED ADVISOR/MAY 1993


THE FOX FILES

attached t,o the screen. (It,s the second option


on the Screen Stub code tor llenu Builder
menu). Once you have all the snippeLs open, t
qown whrte accessing the Screen ota tl" Siln f.l,
menu; the .,Open prorotyaing for your clienrs and you k.now
.Jt:n,rgdl9tha.t
pets",pro:hpt w"ill change ro "Close All Siipp"t".""V., All Snin"- must be developed. you
all
i"i"jJ. ::: llTules
comprele
,"rully
use rhe shortcut key Shift+Ctrl+S to close ill
snippets.
process
menu loryoursystem. However, "url ".u"t "
as the develoomc.r,t
you
begrns. eenerallv work on one module at a time.
Scrolling fields.+utting down on errors and.addmodules one at a rime. Then wh""
d;;;;"i;"li;;i;
application tbro-ughout rhe development process
you can show them the menu with the coDplet€d theclient
One of the problems with some Foxpro dialogs is for
that thev
rely^-on scrolling fields for your input. F;;;;t;;;;,";;; The problem lies with unfinished modules.
modules.
PROMpT FtEr,DS option foricroltio! li"d;;";;;;;
area to t1pe what could be a long exp"ession. ,ifri"
;_"ti You dont walt the user to click on a menu
option and have
-ut "" nothing occur. You'd probably prefer to have a window o.,.,-,,.
entcring the expression dimcult ant hLorious.
a little trick: Open- the tables you nuea to aisptav ln
thar states that rhe moduleis
""r
y"r i;pi;;;';;'{;I#
.,Hereh
l,he ll6t. Go to the command window and do:
than tipe wAIr wrNDow NowAir
mented" into the COMMAND of every menu option,
"M;a;[-il;t;il^-
advanLage ofwhat I call ,.stub code.,,
take
GEIEXPR to lcBrDr A& Alloys tou to sroatc thc To use stub code, place the command WAIT WINDOW
&t c*E rGalioa uaiEg !h6 -
NOWAIT'Module not yet implemented" in the orocedurc
tE ars,relalon bui 1al6r. code sruppet ol the Menu Bar options. This way,
_cllDt.r.t - lcg.Dr l& Placas thc €r.Dr6sslot you anv ool,ion in
your menus that has no code attached will exe;ute
&& crarlad irt th€ cllpboard. ihe'cod; i;
the procedure snippet from the stub code att""h; ;;h;
Next, go back to the screen and open up the dialog for the Menu Bar option.
scrolling list. Move into the field *t tfr" t . The nice thing about this is that the WAIT WINDOW goes
go arrd press CtrJ+V. The expression "." in one place and execut€s only lor options that haue no c.oJI
that yo"""p..""io-r,
ci"ated *ifh""io
itre attached to it. Th.is way, as you add modules and the
expression builder will be placed in the fi;ld. code to
You cart also use this tip with the menu builder,s command execute them, you don't have Lo remoue any code since the
specific code,related to the option erecutei insread of
option. You carr tSrpe the firll command in the commanJ the
procedure code snippet.
window, then copy artd paste it into the menu builder.
Continued

agent
Sen d an
o the
"Access dBA S E out tod ot AI
dirty w ork on 1/t6
from Visual Basic..." data Gollectl
. . and transter'
dBASE IV FoxPro Clipper
Send
Now with CodeBasie 1.1 you can access and
are 2. 0.
create dBASE III/IV FoxPro and Clipper files
from VB \Yin and VB DOS. Save iime and E asy s h Sydem nrquirem.nt :

money by using our complete database engine to Easyshare is the perfect "secret" agent
Can
power apps in both environments. Gain extra to extract and transfer data between programs
on your PC. EasyShare is fast and versatile:
speed by using the super-fast FoxPro indexes. use it as a standalone or embed it into C or
5.0,

uilny.
Xbase programs-it will be totally transparent
. Now includes VB DOS support to your users. You can even use Easyshare as
an inexpensive front-end for micro-to"main-
'''-a . Full Multi-User Capabilities frame links. Easyshare passes data Irom pCs
. Familiar dBASE like functions to mainframes with no middleman-saving
you untold amounts of time and money.
lfyoute building an application that
Order CodeBasic now - needs to fetch and carry data lrom one source
OnIy $195 to another, or if you need to access informa-

-_,:.l,3--a_'"i,tlt:rt
90 day Money Bach Guarantee tion in other programs from your own pC, you Adiso.fr
need an agentto do your dirtywork.
Try Easyshare riskJree for 30 days. lf
SEQUITER Coll (403) 437-2410 you aren'tsaving lots of time and money by
94577
SOFT\^r'ARE INC ltil Fox (403) 436-2999 then, return it at no cost, no questions asked.
#209,9644 - 54 Ave., Edmonton, AB, Conoda T6E-5V] order Easyshare 2.0 today.

DATA BASED ADVISORA,ITAY 1993 15,I


THE FOX FILES

IE flPE ( nlcl{.dvartr ) = trcn


llouae only fields
Sometimes youll want to have an object that can only be will alwavs return false since the TYPEO fuoction returns
. -ouse. To achieve this effect, simply put the ifthe current variable
values in i.rpper case. Ifyou're checking
"J*t"J*itf,
following code in the WHEN of the object: in your READ is jcName, youl code must say:

xDot{N ( ) IF vraREr.D( ) = ''rCNN{En


FoxPro will then allow entry to the fie1d only when the mouse Concatenating $tlings
button is pressed. Not€ that the WHEN snippet must be set When you concatenate strings in FoxPro, you g-enerally use
to EXPRESSION. the + operator. Ilowever, you can also use the - sigr to
concatenate two strings. Not only does the - operator concate-
Programming tiPs nate two strings, it also does a right trim of the left string'
You orobablv klow that to close the currently selected work This is especially usefiJ when you alon't want any spaces in
your Dew strirg.
area yLu simply issue a USE command. Instead ofSELECT-
ing a work arei, issuing USE' and returning to the work area
A eood example of this is adding file name extensions to
th-at you were workitg in ta close another work area, you can -eriorv variables that store file names. For instance, say the
jcDBF ;ariable stores the name of a table and you want to
simpiy issue a USE IN with the name of the alias of the work
ih"t uou *"r,t to close. The work area is closed without check for its existence by using the PILEO function. Since
""."
.hanoins ihe currentlv selected work area This method is FILEo requires the file name extension appended to the file
esoec"ialiv useful in eliminatine CURSORS that have been name, you could say this:
created.-since closing the work area with the CURSOR EILE(JCDbf -,.DBE')
removes it.
which is much cleaner, instead ofthis:
Checking vatiable namea in upPet case rII,a (RTRrt((JcDbf ) + '.DBtn)
Functions such as VARREADO, all the window functions
(WONTOP0, WVISIBLE0, etc ), ALIAS0, ORDERO anil the VARREAD(I' SYS(I al, and Parametera
like always retuin results in upper case. Ifyou have code that Wakh your parameters! Here's an interesting little pitfall
relies on any of these functions, make sure that you use the to be aware ofwhen using parameter" dth GET".
UPPERO function or always use upper case. Fol instance: Crnrrrrd

Peop le are talking about it!


Powerful yet SimPle

Scrl maSe
User lntertace Design Software
SCRMAGE'S WYSIWYG technology helps you design and
Don l delayl Join these users and prolit lrom the power & ilexibility 0l the FAST
maiotainuserinterfaces,minimizingtimeinvestme and frustration.
irxf sfahCn svsten Easllv add these lealures t0 your apprications: lnven-
You piclq create, and change UI objects on the screen, Scrknage torv. Librarv. Coniacl l\rlanagemenl. Legal Technical Supporl. ltleoical, Resume
generates small, lucid source code (and/or many other file fonnats) Tralkrng. P;ds Descrpliols. l\.'lemo Freld Search. Document Manaqemenl' elc'

Extensive options are available from Scrknage's point-and-shoot O FTS will iind every instance of multiple character string(s) across all
data
menus. Scrlmage supports many environrnents, optimizing code lields. mem0 iields and even external files; and d0 it FASTI
for each. Direct DBF access makes input screens a snap, with picture a Ouickly integrated into existinq applications. a
No royalties
templates, VALID/WHEN clauses, and many more option-s. on- O Low overhead; can be fully ove aid. aUflmatched performanc€'
line help quickl a Euilt-in local area network suoport.
dBASE llUPlus/lv, Clipper, FoxBASE Plus & FoxPro FTS comes wilh complete printed documentation, hard cover binder'
all support liles, sample applications with source code

order ,;W;i":i^,,$149
MastercardVisaAmexOptima
and lree telephone technical support'
o FTS for Clipper (surnmer'87 & 5.01) - $129'00
'
O FTS lor C^Vindows (i\,licr0solt, 8o and, oS/2. wrndows) - $189'00
PtusT.ooshippinginu.s.
'
6O-DAY MONEY BACK GUARANTEE Order - 800 33+8099
lndex Applications lncorPorated
(800) 397-1865 85,16 Sroadway. Surle 208
San Anlon o. TX 78217
P.O. Box 291346 voice:512 822 4818 lax:512828 5074

Davie, FL 33329-1346 tnorand O8SSolw P Dalaoasc WareioJ5e Nelred..d" L'ndiConpalv8V


Ausnd,a eCMSolsde s r' ROB v'rFLn Nofrav '
DCcorpuln0
,- ,i.ionc.on
Altemate phone: (305) 792 1866 Facsimile: (305) 791 4214 roro roro A nsr'orqSysrems aerr ' qir'arae'ConoJler. Ponld ' S0l_SALF

152 DATA BASED ADVISOR/MAY I993


ln the 2ndAnnuol Developers competition,
IUI AG IC" Mode rhe Orh er S2leoms
look Like Beginners.
I
l

I I

NGRES I dBASE IV
-t C++ st,taL
2
tt -
,
r !
-

F
{t

.(os! 1-I"T CLIPPEH


/

CLARION i DATAE AS E

o I
B!,,'=q
'.''..

f-l
t L
!

fl ^t
I t
I

R:BASE , rI OMNIS 7
SUPERBASE
I I
What separates the rnen from the boys time top 907,, putting Magic years ahead T0ioii lh. growiig ltllgi. (.tir[nitl ol over
in application development is productivity of all other programming tools. 12t000 urcrr in rurl ronpnicr or ftrlr
and power. That's why Magic had no ln*runentt, dub cd lnd U.S.Irurt, .ont!d:
problem walking off with a victory in the OPEN ENI'IRONMEM ANCI{ITECTURE:
2nd Amual Developers Competition. a Instant portability and transparent t-800-345-6244
With Magic, you develop sophisticated, interoperability
mission-critical applications completely in a Strolg
a table-driven environment using fast
incremental, BAD technology fusutting
I
o
clienvserver support
Database independence
Rapid downsizing capability
/XrvAGlC
Magic Software Enterprises
savings in development and maint€nance a Post-4GL automated techaology Pn00u(ItvtIY StY0ltD 4Gt

U.5. hl: {711) 250-1718, for: l7l1} 250-7104. ll.l(. Tal: (0811 902-8998, tor: (0gt}r03-1165. tir.rrott0ril ll.O. Trl: (9I2.3) I5t-1fl1, tox: {r7t_3) I5t-t901
Databases: Bt
e!e, ctree, Xbase, CISAM, RMS,Idb, Sybase, and oracle. Operating Systems:DOS, UNIX, vMS,
CTOS plus Windows Deployment.
Competition held at Duke University. tror detailed results, contact organizer broege "conputing Servic".,
t"i (s rgj ggg-sr'4g, t", lstgl-g8i-1 lzz.
Allnaom sre re&srercd lradenrrhs olrhAr rcsp(uve cobpanje6
THE FOX FILES

Then, do the GETs to jcVarl and jcVar2. On the way out:


Take this situatiou: Call a screen with two para&eters
tcvarl - jcvaEl
m 6craan.s9f !lIT! D.1cvar1, !'lcvar2 tcv.r2 = JcV.r2
and in the screen, accept the parameters: The new values will be sent back to the referenced variables'
PIRT BTERS tcvarl, tcva!2
PUBLIC vs. PRIVATE
Then. do GETs with these variables As you're doing the-
tt" DEBUG window and wakh the value of Pitfall: Using PUBLIC initializes a variable as a logical type
CtiJ, "p* *fttf, has the name ofthe variable lving behind with a valoe ol.F. But using PRMTE does no such thing; it
vaniir.{oil. merelv 'trides" anv previously created variable of the same
V",i'it notice that VARREADO, as well as SYS(18),
"-C-ef shows the name ofthe current GET variable, shows
nameio the current program This is critical ifyou decide to
which
iCtARi"lsoarrd LCVAR2 as opposed to the variables used in the test whether a value-was assigned to a variable by checking
GETS, TCVARI, TCVAR2.
to see ifits TYPE is logical or not.
Under this circumstince, the variable's TYPE would be
The reason that you might want to use parametersin a GET Undefined ("U").
is to take arlvantage of the fact that variables passed through This is also true of arrays. After using the name in a PRI-
to p.o""d-" ard passed through by lgference As-a result, VATE command, be sure to initialize any array with a DI-
on.,"ih"rrn". made io TCVARI and TCVAR2 are reflected in MENSION or DECLARE command.
iii.r.;.]UI"s sent throuqh on the calling line, LCVAR L'
LCVAR2. Array te$ting
However, since VARREADO returns the names ofthe origi- Here's a simple way to test a variable to see if it s an array'
nal variabies and not the parameter variables, writing reus-
abie code this way is difficult. DISABLEing and ENABLEing
GETs won't worl if they refer to the GE18 by the parameter TIPE ('rErayrlr. [ 1] " )
versions of the variables.
As a workaround, do this: will return'U" if arralmame is not an array, anything else for
PI!.N{ETER tcvu1, tcva!2 a defined array. Furthermore, if
icvarl = tcvarl AI.EN ( arrayaaE ,2)
jcvar2 E tscvar2

Break Throu I
New

Pwsdox4
FREE Disk of Valuable
SECREIS';znd0fition Paradox Add-ln Tools!
Rsvi5ed
IDG Books, 155 Bovet Road' San Mateo, CA 9rt4o2
Expandod
Eost6eller!

IDG
BOOKS
Order Now! L-8OO'7 62-297 4
Paradox exDerts Grer Sal(ed0 and Martin Rudy offer you the [or [a\re,r \eN(e lAxyourorderlo4l5l(8-l2b0 oIphone8am spm lsT ur..
most comorehensivd. uo-todate source available on Paladox complele dnd marllhil order torm Al)oavaildble$hele\er(omputerbook\are'old'
applicatioh developmeril and PAI proglamming in lhis
rivised and expanded bestseller. YES! Please send me-------copies ot PaEdox 4 Powot
. 100\ ot tiDs & techniquel tor editing, querying. & teporting Wa nmll/4E. SECREI{ for $44.95 plus $4.oO shipping
. Comnarivrnr betweei laradox 4.0 ind 1.5 wiih the' and handllng.
misition information vou need to knov! add appli.abh county eks lax. IN Esid..ls add 5j6 tu. Canadl'n msid€nts add 7$ CST tu'
. Cotrolete instructions fol creating \ophisricated validity
chec( routines and powerful, reuibld editing procedures
lLr o Hdl
with code exampleion disk cmv aj lltr[ilffir rlllftr UIl38
ttist gtl l
. And much morel
ft $-&- Irfrm
FRIE 3 '1" disk contains evaluation copies of PaintPAL,
kriptview, all code examples and listings in the book, and
tb llfr - --
wrh.rfdil o6 nmmor(hA] u\ludronly m6rr(onFnr rour
cxstbmjzable scripts and utiltiesl
fi
ff( d dua -hdge u'[.p!l] . co?oEk
-- u nr6qmuE d rou'f
J
,14.6 IE/E8'G G-, lrt l{ruB6+l,llp2 F, ol t'r" -
154 DATA BASEO ADVISOR/MAY 1993
THE FOX FILES
XBASE Data Entry
returns 0, arraJmame is a one-dimensional array. Any positive
number will indicate a two-dimensional array of that
many
columns. So
TYPE ( 'arra!rE!.E [1]") <> "U" && iatlicat6s arr arlay
and
TYPB (
".rrat'[r.Ea [1] , ) <> nui t}ID - I 9 F1 F2
ALEN (arratant!..2 ) <> O && 2 Di-usEsiors
Conclusion 4 6 F3 F4

.CIients aren't interested in just the speed oftheir aDDlica- 1 2 3 F5 F6


Uons, they at^so want ap-plications delivered quickly_wiihout
Dugs. theTetore, my final and most important tiD:
Don,r s1 0 F7 F8
rernvent the wheel. use existing third_party tools (manv
aovertrsed tn l)dta Based Aduisort, ask for helo are on
CompuServe, and read industry U-f." ,ii o::a'i'"..."
-"erri;""Itt;
".a more than pay
spend with the tools arld learningwill
:l:rje.yol:
torrtselt ln reduced development tlme.
I hope that you find all these tips and tricks useful. Ifvou
,nave The TransTerm 5 isa workslation dala entry/display terminal 1or
any questlons or comments, feel free to contact .. on-iine shop
arlv oius floordatacolleclion into PC/AT based systems. The unit is one ofalamilvolsudr
Y.- Alan Griuer would lihe to thonh members
of his Flash team_ termrals whicn leafu'e LC displays to, operator p,omptr.g and daa
enlryvra a
M,enac-hem Bazn n, l,esli e Koo.rho n. O"ria t*a"r:"i,'i
thetr contrtbulions
r)-El' i,'"_5., membrane keyboard or an optional barcode wand (Code 39, UpC,
etc.). A
to lhis arti.Ip mullilerminal polling controler (up to 250 stations) and an XBase compatble

I:l11l^clly is a conrrtbuting ediror and a plinctpat in Frash soltware package are atso a\"itable. Syslem costs below g3OO.00 oer station
ulea[ve Management, a consulting, training, aria software Calllolnfo.
dev€lopmenr tirm in River Edge, NJ. AEn i" a"oir,"
oi'if," Oplions: Magnelic Ca d Feader, Time Ctock Laser Scarner. Colnler inouts
"rif,.i
FoxPro.2.o.Codeboo& and th;upcoming f,, e Foxpro 2.s
C;d;bo;i
p-uDltsned by Business One lrwin. He can be reactreO ai
(201) 118$'2500 or on Compuserve 7.tS4.t,3i T]OMPTTERWISE
5O.O 302 N. Winchesler . Oathe, (S66062 .913.829-0600 . 800 255-3739

Power for progftlrnmers!


Now get the programming ease U
ToPAZ cuppEB Foxpso
of dBASE syntax with the power
dBASE style synta.x
and speed of Borland/ over 550 funclaons
Tirrbo Pascal. Easy pick and tag lisls
No
MOMY.BACK GUARANTEE
7 Dialogs and pro0ress bars
lf you aren t complerely delishted
Want to develop No No
withTopaz,for any reason, iturn
Vlrtual fields and files
complete No it within 60 doys for a promot,
ilested BRoWSE sessions
database J No
ftiendly rifund.'
Fast non-indexed search methods
No
applicatio NS hge image printing NO
in a profe ssional No

programming lan { ) End-user help system

Print spooler No No
guage and get all the 'l'lme
math functions No No
benefits of working in a fo p-up interactive catendar No
database-specific language? you need Automatic mouse supporl No

Loqal lt\ a comprehensive library ol- Report genemtor


$1gg
highJevel database and user-interface Code oenerator No

functions for Borland,r1]rrbo pascal, Create stand-alone EXE ftes

designed to help you produce out- Build multi-user pro0lams

standing. polished programs, /asr.


To order: C
Source code included No No
Topu'4.0
19llJ.":, 8N-468-9273 (orders only please). For information and intemational orders: 415.697-0411.
lll
Europe: 49-25 34-7093. All orders add $6 U.S. shipping and handling;
$12 in AK, HI, and Canada; $25 international. Calif.
residents add 8VtVo sales tax. Microsoft Windowsi-su[port includet,
Dealers: TOPAZ is avaiiable from Software Resource, and in
Europe . fmm ComFood SoftwaIe. Mtinster, Germany

SOFTWARE SCIENCE INC


See us at Borland Inter. Conference
- Booth #102

DATA BASED ADVISORA'AY 1993 155


.
PARADOX PROGRAMi/IER

Event-dr iven P rog r am s


Posting
.
.
POSTRECORD command

POSTRECORD event
Records
. WAIT

When users co-edit a table and add or change a record, therc


By Brian J. Smith, Contributing Editor
are three ways they can cause the record to post:

qx Of all the events you can monitor during


WAIT. the most critical is POSTRECORD'
r Moving to another record by pressing a cursor-movement
key orinsert key, or clicking the mouse Paradox will post
the old record before moving to the new one.
The POSTRECORD event is triggered r Pressing Alt+L, the "lock" key. Wlen you prcss Alt+L on a
J just before a record is physically written
io disk. Since the primary purpose ofdata-
new or ihanged record, Paradox posts and unlocks it'
entrv programming is making sure that o Pressing F2 or sclecting "Do-it:" hom the mcnu to end the
data is written ro the disk without violat- co-edit iession. Paradox posts the rccord bcfore switching
ing an application's integrity require-- from "CoEdit" rnode to "Main" mode.
ments, the POSTRECbRO i" tt e right site for much of Two other user actions can cause changes to records on the
pll code. ln "Chain"r"nt
of Events, IDBA' February) l disk, whether or not you're on a new or changed record:
".,,"
""*olained how WAIT events work. I'll continue that discus- . Deleting the record by pressing the Delete key
sion by focusing on the POSTRECORD event' r Undoing the most recently postcd change by pressing the
Ctrl+U key or selecting "Undo" liom the menu'
Posting a record As you write a PAL program thatrequires catching all record
Suooose vou're writing a program for entering recordsinto posting, be sure to account for all five actions. The program
. p,iiROif- table. You've designed the multi-record form must either respond to each action or disable it.
o" the left of fig. 1. In addition to the usual validity A PAL program can post a record by issuing a command that
"iro*"
checks and data-entry management provided by Paradox' oerformi anv oflhe fivc useractions listed above' In addition'
,rour PAL orosram his a number of tasks One task is to ihere's one oiher PA L command that posts c record: POSTRII-
i,paute tt pay" field in the EM PLOYEE table CORD. This command posts a new or changed record to the
Gio*n o"""'v"]u.+o-date
tt .lgt t in fig 1l to reflect any new entries in the disk and can leave it locked or unlocked.
"
PAYROLL table. The POSTRECORD coMMANd ANd thE POSTRECORD
event are two separate PAL features. Both relate to the
Figur€ 'l-PAYROLL data entry is on lhe left. The EMPLOYEE oostine ofrccords. The POSTRECORD event is how the WAIT
table is on the right. notifies your program that Paradox is abouL to post
"om.ind
a record. The POSTRECORD command is a PAL command
vour program can use to post a record. regardless o[whether
i'aradoxls about to post iL. Somctimes, as you'll see. iL makcs
sense to use the two ofthem with each other.
A PAL program using the new WAIT command typically
begins by viewing the necessary tables, picking the data-entry
fo"--, ittitiutiring a menu using SHOWPULLDOWN, and
switching to co-edit mode. Then it issues a WAIT TABLE or
WAIT WORKSPACE command:
wai.t T!b16
scottl.rr[ Proc "Wai't Proc PaY.ol1"
32s2Aliciaf,r K6y "A11n
ltouaG "411n
ucssagG "A11'
Triggcr "4I1"
Erdw.it
It's essential that the PAYROLL and EMPLOYEE tables This command traps for all the major events Since it's
alwavs remain in balance; an employee's'YID Pay" value probably slow to trap every cvent, you'll refine it to trapiust
musi always equal the sum of the "Pay Amount" records.in ih" yor. p.ogram is interested in. Certainly, the'Trig-
ih" rMpl-trysb tuble. In the data-entry session, users add, list will include "PostRecord "
ger"".,".,t"
change, and delete EMPLOYEE records Your PAL program Most record posting occurs when you move the cursor to
must"intercept each change as it's written to the disk and anothcr record. Paradox fires thc POSTRECORD event as
uodate thc PAYROLL table accordingly. part of a cycle consisting of six events, beginning with the
In Paradox "CoEdiL" mode, a Lable on the disk is updated user's keypress or mouse action (fig. 2).
record-by-record-while you're typing in the field-s with-in a This means that in response to a user action that will post
record, Faradox isn't writing the changes to the disk - Wficn
a record, Paradox fires offa chain ofsix events. On thc detail
vou're r/inisied with Lhe record, Paradox writes it to disk This
"posting the record," and it's thc event trappcd by Lhc
is called
table o'f a multi-table form, a DEPARTTABLE and
WAIT command's POSTRECORD trigger event' ARRMTABLE might also bc part of the chain, making an

156 DATA BASED AOVISOB/MAY 1993


PARADOX PROGRAMMER

eight-event cycle. The WAIT command calls its WAIT DEPARTROW firing. One such way is to press Alt+L.
procedure as many as eight times, once for each evcnt. How_ The
event cycle for Alt+L is a short one (fig. 3).
cver. you donl havc to worry about I hat ifall you rc interested
in is the POSTRECORD event. By writing code rhat wctches
only for POSTRECORD, you can ignore the other events in Figure 3-The Alt+L event cycte.
the chain. That's one ofthe beautiesLfthe cvent-driven WAIT.

Figure 2-An event cycte with pOSTRECORO. XEY event


(a[-L) POSTRECORO

XEY or
M0USE avenl

I showed the WAIT command a little earlier. Let,s continue


writing rhe code that implements the PA\BOLL data entry
ABRIVEFIELD
OEPABTFIELD
snown rn Itgure l. starringwith the WAIT proc:

Proc Wait proc payroll(t, 6, c)


DEPARTROW ABRIVEAOW i P.raa.t6ra:
i t = triggGr typ.
i e = €vGnt rocord
; c = cyc 1c nutlrbcr
POSTRECORO Switch
Ca6. .,. 6tc -..
itch
Eatlst
R.turD 0
EnaIProc
_Jls1 b! careful to hang your record-orientcd code on the
POSTRECORD cvent and not on something else like tiie
Whenever an event occurs for which your WAIT conmand
DEPARTROW event. There are ways to post a rccord without
is trapping, Paradox calls this proceduie and passes it three

Valk I.TC!,"
The Source
! l.
o
Code Recovery System
Glipper sourre Gode fiom ExE Files-G uaranteed!
Valkyrie, the Original Clipper Summer g7 We Wrole ll-We Suppo.t tt
No "marketing types'when you ca tor support_you,ll tatk direcfly to
Decompiler, is Now Better Than Ever! the developers ol Valkyrie. And you can,t get better suppon than thatl

Complete Source Code Recovery Fr€€ Demo


Call today for your lree demo disk and s€e Valkyrie in action for
Valkyrie recovers every ounce of Clipper source code from pro-
yourselfl
grams, overlays, and Iibrary code-all of your lunction, procedure,
and variable names are restored exacfly as originally written. Our You Need ll Fast-ltb Ship lt Fast!
superior YACC-Ninja Recovery Engane guarantees 1O@/o accuracy in
decompiling ary Clipper S87 executabte, technology which no otier
FREE Federal Express Ove.night Shipment is standard on orders, a
and all systems are shipped with both S.25,,and g.5,,diskettes.
decompiler hasl
Catl Now ar7d Oftlet Valkyrie Today'
Easy lo Use $395. Un@nditionalsO Day Mone'y-Back Guarantee
No guesswork needed-Vatkyrie is the onty decompiler that auto-
matically determines the linker used on your EXE lile. Automatic or 80G.358{936 . 81&24+7201 . FAX:81&24&2316
249 Norlh Brand Blvd.. Suite 522
manual module separatio,t capabilities enable you to reconstruct
Glendale, CA 91203 USA
even Symbol Packed applications. And no passcodes are required.

Comdete Linker Support


Blinke.

RTUnk
All Vercions
including Blinker 2.0!
PlinkS6
ccltrtEvt/ctFtKSi !1
MSLink
WarpLink All Versions TLlnk A Versions
FBEE linker upgrades are avaalabte to registered users_ 1-Aclcl-358-6936
wdks varrv € and cod€works ar6 r€gbl.r€d trad€maiG d cod€wo.ks. cripps is a rcgisr€red tradshafi o, compurff Asociares.

DATA BASED ADVISOR/MAY 1993 157


PABADOX PBOGRAMMER

r-to tell you what If r.tval<>O thG! Rcturr r.tval Endif


oarameters-which l ve namr:d /. P, and
lvent has occurred. Ifthe oroccdurc rcturns n'tval l. the WAIT clso te rminaLes
The WAIT procedure tends to be a large SWITC-IVC-ASE with (ho codc l, tclling Puradox lo canccl tho event' This is
statement, ;hich identifies and responds to each of the how crrors Itaradox catches before an event is executed'
various events. So all ofthe action happens wherc for now I'm Note also that thc I'OSTRECORD command is executed
showing "Case ... elc ..." Ifthe PAL program rcviews-the,ev-ent *ithit the POSTRECORD event handling You'll need towell do
and ac&pts it, program flow drops down to the RETURN 0 this when thcre's processing that must take place oferas
command at the end ofthe procedure Errors are handled by asb"fo." thc.""oid is posted. Updatingthe EMPLOYEII table
performing RETURN I wilhin the SWITCIUCASE. and pro- rcquircs this techniquc.
gram terminalion is signaled by RETURN 2'
One critical CASE;tatement is the one trapping the In a multi'table program using WAIT WORKSPACII, Para-
POSTRECORD event: dox will fire the I'bSTRECORD event for a record posting on
anv table the usor is ullowed to visit. This isn't the case in the
casG t-"PoSTRECoRD": cule nt example , since you're using WAIT TABI'E But if it
valiClat. Payroll Rccold( ) were the case, the CASE statement would need to be more
If !ct-vt]<>O th6r Roturr r.!v.f Endif specific, testing not only the event but also the table:
B6for. Po.cR.corit PaYlolI ( )
If rctval<>O th6n RlturE rotval Endif ca3c t="PosTREcoBD' adit tab16( )='P'vrol1":
Po.lR.coral NoPost igott tbc
If not !.tva1 tb.D ... .tc .,. In the PAYROLL program, you'll want to requirc that each
lft6r Po6tRGcotal Paytoll ( ) bc fillcd in before
If r.twa1<>O !hG[ R6!u!a r.twal Endif of the three ficlds i.t th" PAYROLL
"ccord Check built into
it is Dosted. The "Required !'icld Validity
This PAL code fragment calls three procedures: Vali- l'cradox has always beenjust about usclcss for this task For
date,Payroll-Record, Before PostRecord-Payroll, and Af- the "Required ValCheck" to occur, you m"st move,the cursor
ter-PostRecord-Papoll. They perform the various tasks as- into the field and move out ofit, leaving the lield blank But
*ith posting a pa1'roll record, such as validating it there are plenty ofways to frll in a record without evcr moving
"o"i"tud
and updatinglhe related EMPLOYEE table record' These to a given ficli, which means the "llcquired ValCheck"-has
.r.o""du."s terminates with a RETURN commcnd to set the loophol"". For similar rcasons, testing for a required field
ietval variable: RETURN 0 to indicate success or RETURN using the DEPARTFIELD event won't work You must use
1 to indicate faiture. Each procedure call is followed by:
lhe POSTRECORD event.

dBestPrinter Drivers and Tools


SECURITY and CONTROL 2.0/2.5
for Clipper 587-5.2 and FoxPRO
for Software A a lications
1001 Printer Drivers Printer
Drivers
Use dnecdy within Xbas€ repon forms
Bit-Mapped Securitliru (tor cA-ctipper)
lab€l forms dnd from wiftin custom
Installation

lnstalls High-Tech, selertive Access Control application program fi les.


80 Manufacturcb supponed _

Links Easily Into Any Type of Application Including Apple, C.Itoh, Canon,
Low Program Overhead, Fast, Transparent Diablo, Diconex. Epson. Hewlette
Packard. IBM, NEC. Okidala. Olivetti.
Easi-CryPtrM (for cA-ctipper) Panasonic. Slar, Tandy, Texa-s
lnstrum.nls, Toshiba. wanS and Xercx
Encryption Library for Program Developers 15 Print Attributes - Bold, Condens€d.

Several I-evels of Encoding, Multiple Keys Pica, Elite,ltalic. Graphic Mode. LaserJet / Postscript
tandscape, Portrait, Line spacinS, Form Design
Block Access to DBF's, Hide Data or ID Strings Maieins. Near tf,lter Qualily, Page
taser tbrm design (oo1s Sives your
EXCITING! Encryption Editor for ASCII Files kngft , Prcponional Spacing,
applicrtion desktop publishing quality
Subicripr and Sup€rscript, Underline
Easi-Locl{M - Newt Uniquel Universall Upper/I-ower Tray. and Wide.
prin outpur Design simple or complex
forms to malch any preprinled forms.
Controlintemal nnd extemal iont
Provides Password Se{urity Without Programming .'l: :.i. tt srlles md attributes. Draw lines. boxes
Limits Software to Authorized Users, Windows too : - and grid pattems wilh vdious line
widttr and background shading. Store
Renders Piracy Useless, and Completely Traceable
fo.ms in prinrer memory for fasl Print
Blocks Software-Snooping by Unwanted Users output. Merge DBF", 'Memory" d
I-ocks DOS .COM or .EXE Files, in Any t4nguage
I
"User Defined Function" vdiables to
complete you. foms. RoYaltY Free
Phone to order. Visa aod Masrercsrd AccePted
l Source Code and sofi font smples

EASI-LOGIC SOFTWARE
div. ofCDS GROUP lnc.
P.O. Box 449 Paoli lN 47454 Only $2,49.00 Call: (301)752'2086
ItALLoGR{M Publishing a.
800-243-4964 812-7234595 1nr nrrh oawson s$ciir+:1(6cortr o 300Il I
CIS # 7005i1,366i1

.158 DATA BASED ADVISOFYMAY 19S3


PABADOX PROGRAMI,IEB

The code.to test for required fields, in the Validate pay- How do you write the PAL code to handle the EMPLOYEE
roll_Record proc in the sample program, looks like: update? If all you had to consider were new pAyROLL re-
Proc Vallalatc payroll R.coral ( cords, you might do something like this:
)
If lEbla.trk( [pay Da!61 ) rh6n
Bcap Proc B.fo!. PoatR.colal payrolL (
lL.aag6 "Tb6 PAy D TE is r.quircA" Dcwjay - Ipay rDount I
tlov.'To [Pay Dat€, Gq) ! [EEE). *l
R.tura 1 lrh - G.rwiaatos( )
EDdif Uow6To "EIE'1oy.."
rf isblaEt(IE. *l) thca ...atc-.. uovGTo IEE). {+l
If isbLe.Ex( [Pay reurt ] ) tb.D . . ..tc _ . .
Locat. qr
R.tun 0 isucc..sful coq'l.tioa lf Dot !6tva1 th.r ...6tc R.tulr l Enalif
EralProc LockRGcord
If trot lGtval th6tr ....tc Rcturn l Endif
Winalot g6L.ct r,rh
The first IF/THEN/ENDIF takes care ofthe .Pav Date,,fielrt. Rotuln 0
The other two, which I've shown only partially, handle the EadProc
other fields, "Emp. #" and "Pay Amount." Note how RETURN Proc AftGr PoErRecold plyl.o1l ( )
1 is used to abort the record posting
ifa required field is blank. Uov6To "EnDIoy6c"
There are other types ofvalidation you might want to do on IYTD Payl = IYTD payl + ncwl)ay
a new or changed record before it posts, besides testing re- unlockR6cord
quired ficlds. The programmjng for these tests belong right winalon S61act !.tr
here in the Validate_ Pay,roll_Record procedure. R6turl1 0
EadProc
Updating a Belated Table The Before-PostRecord_Payroll procedure is called just be_
Any change you make to a PAYROLL record must be re- -
fore the program posts the PAYROLL record. It ules the
flected in the EMPLOYEE table. You'll want the pAL pro- "Emp. #" from the PAYROLL record to locate and lock the
Bram to update the'YTD Pay" field in EMPLOYEE based on related record in the EMPLOYEE table, i.e., the record for
new entries, changcs, and deletions to the ITAYROLL table,s that employee. This should be done before the pAyROLL
"Pay Amount" field. Updating a relating table can be one of reco.d is posted. Aft,er all, if for some reason EMPLOYEE
the most challenging tasks in a PAL data-entry program. record can't be located or locked-for example, if some other

Enter the Age of Advonced CIip per Grophics


Flipper 6.0 Virluol Memory - ond
Much More!
Dolo in the Longuoge Flipper 6,0 comes ot oge with o
of Piclures new Virtuol Memory System, which
exponds your creotive powers by I

ln todoy's compelitive morkei- letting you ploce on unlimited l.


ploce. it hos become increosingly number of doto points in grophs, J
importont to communicote creorly ond on unlimited number of objects
ond effectively, Flipper 6.0 is the in CAD drowings.
Clipper grophics librory thot gives But thot's just the beginningi
your opplicotions the elegont,
refined look users demond. And . PCX Rototion & Scoling
Flipper's CAD-Iike interfoce mokes . lf you're reqdy to enler o
Enhonced Support for Color Printers
odding beoutiful grophics new qge of odvonced
keystroke-simple, . Extended CAD Functionotity grophics, ordel now!
. Additionol Grophing Copobitities Flipper 6,0 js 5349, ond comes with
Plus. you'll still find oll the feotures o 90-doy money-bock guoronlee
ond functions thol mode Flipper ond free technicol support.
fomous: Automotic oxis scoling, 3D Coll Now (503) 567-1459
grophs, support for oll video cords,
(Ask lor Ext. 5)
multiple groph types on one
screen, Sove & Resiore PCX
piclures, support for Clipper 5.x ond ProWorks
P,O.Box 1635
Summer '87, mouse support,
unlimited royolty-free usoge, ond Hermiston, OR 97838
much morel (5O3) 567-lz159 . Fox: (503) 567-8820

DATA BASED ADVISOB/MAY 1993 159


PARADOX PBOGBAMMEB

network user already has locked it-you certainly don't want


What if POSTRECORD fails? In addition to executing
RETURN 1 to abort the user chain of events, you must also
*ti"Dost the new PAYROLL record to disk' calledjustafirr
to
unlock the EMPLOYEE record you're holding. Otherwise
in." PostRecord Pawotl procedure is other users would unduly be prevented fiom gaining accessto
tfr"- peinOf,f, recordluicessfully posts lt updates the
EMPLOYEE record and then unlocks it so other users can
get it. So here's the POSTRECORD command again anil the
u."""" to it. This work must be done afer the PAYROLL error-handling code that immediately follows it:
oo"t". After all, if you update and unlock the PoltRGcolt[ NoPoBt ,9os! lt
"."".a
bI,IFLO'ySg t".o.d before the PAYROLL record posts, what If aots rctsva1 th6a ,lt fail.tl to poats
if the oostine fails?
--t" Eai1.dl-PostR.cord-Pay!o11 ( )
itiut yoo've already changed EM PLOYE-E- to reflect B.Gp
g th"i t u"n't really happened to PAYROLL, and the
"r""", ltcrsagG olrorEasaago ( )

i"Ui"" *ol"la be out of balance. You'd have to change the


"o-"thit Rctula 1 ,rctuE! a f.ilu!' flag
fft4pf,Oyng record back, which might be impossible on a Eniti.f
network since another user mighthave locked you out by now'
There must be two separate procedures, with the PAYROLL Failed-PostRecord-Payroll is a procedure that unlocks the
record posted in between: EMPLOYEE record without changing it. The proceilure is
identical to the After PostRecord-Payroll procedure, but
Ca.. t-"POSTRECORDi, without the command that changes the YID Pay field'
Bcfo!.-Post.Rccofal PaYrol'I ( )
Completing the Program
If r.tval<>o th.n R.turE r6tva1 Eadllf
PoatRocolal lloPos! t9o.t gba I've shown pieces ofthe palroll data-entry program that you
If not rctval th.E . -. .tc ... could assemlle into a completed whole. A number of issues
Aftcr-Po3tRccord PaYloII( ) still need to be addressed, such as deletingrecords and dealing
If r.!val<>O tb6tr R€turl r.tva1 ErdIf with memo fields, "field views, "and how to handle Ctrl+U, the
"uado" function and F2, the "Quit" menu choice. I plan to take
The POSTRECORD command gives you a way to try to post up these issues in the future.
the record, and, since POSTRECORD sets retval to TRUE or
FALSE, a way to identify whether the posting is a success ol Brian J. Smith is a contribuling edilot lo Data Based Advisot and
iailure-'If POSTRECORD returns retval=TRUE, you can call the p.esident ol lntormalion Centet Associates, a Paradox devel-
After-PostRecord-Payrotl to update the EMPLOYEE that opment and training tirm in Los Angeles. Brian can be reached at
you've already locked. (310)374{15'l or compuServe 75530,332. -l

Desktop Ai presents portable Xbase:


Programs and Data
. Benefts ol C without the Grief
TM Gompiles Xbase . Totally Open Architecture: all in C
applications to G
X2c on Unix, 0SZ & VMS.
. Multiple X-base Dialects: Clipper/Fox
. Expert UNIX support team

TM
Executes FoxPro NOW:Ttreonv
FP'=*=" FXP's directly on
groJp wih over 6
years experience

@ Unix,0S/2 & VMS.


in portirE X-base
DesKtop Ai
303 Linwood Ave
Moving My Data'* Fairfield, CT 064it0
Voice: 203-255'3400
^-.
liil|
Updates and Syncronizes otlline
dhtabases across Networks,
Fax: 203-25988fit
Email: x2c@dtop.com
Compuserv:76137,3727
dB{ Ycc, Clipp€r, For unix, VMS arc

Notebooks and remote systems l6pelv.lrad.mafi!


CA. Mlc1oson, USL. DEC.
ol O6KA Ai.

160 OATA BASED ADVISOR/MAY 1993


- - ta

DNC0Ver I
I
) Qlipp e r, a
ANd dBASE were all wntten m C a
/n"r..,, a gooo reason why remember. rhose producr\ are all wri en in
ryour database language was (. So rrhy do you need to lug all rheirexrra
dala files \rirh an) logical dBASE erpression.
Our new Bit OptimJzadon Technolosv
code around? You don t. CodeBase is a (similar ro FoxPro'\ Rushmore
developed in C. In-facI, there complete DBMS, in C. No fat executables techriology)
u:es inder files ro retum a quen on a I/)'
are many good reasons. stuffed with unused code. No runtime million record data file in iust jsecond
modules. No royallies. Just qualil\ C code.
C code is small. C code is [asr. C code is Aulomarically take advantage of I his qucry
ponable. C code is flexible. C is rhe CodeBase is just whar you nei,J. "
perlormance by using our new CodeReponer:
language ofchoice for roda)'s professional
developer Wilh rhe growing complexirl of C portability - ANSI C/C++
dalabase Jpplications. C is a realisiic on every hardware platform,,,
altematire. Now uith CodeBase 5.0. vou No other language exists on more olatforms
can ha\e-all the funcrionalir). 5impliciiy anJ E.E---:8.E.-
than C/C++. Why rewrite your entire @
power ol raditional darabase languaeei 4E=E;=E*iriE-
applicarion for DOS, Window\. Window\
together wilh the henefits of C/C;+."
NT. OS/2 or UNtX? With CodeBa:e rhe
complete C source code is includetl, so you
C speed - fast code, true executables... can pon to any plal[orm wilh an ANSI C or oql i@-
FoxPro, Clipper, and dBASE were writren C++ compiler Now and in the future.
in C primarily for speed. Bur those comoilers
donl realll compile. rhey combine imb'edded To use CodeReponea
langunge inlerpreter\ into your.EXE_ Nou, dBASE Compatible data. index
that's slow. For dazzling [edbrmance you and memo files...
neeo the true executables ofC. Wirh You wanl rhe industry \landard. you need
CodeBase you ger the real thins. C code. compalibility. Sure. dBASE is the srandard,
Consider the follo\ring stalislic's. from lhe but every dBASE comDalible DBMS New . Design complex reports
publisher ofClipper: product uses ils own unique index and memo rn .lust mnutes,.,
file formars. Only CodeBase has rhem all: Our,new CodeReponer lakes the painstaking
FoxPro (.cdx,, Clipper (.nrx), dBASE w \,!ork oul of repons. Now simply'design and
SLOWEB (.mdx) and dBASE III (.ndx). Now ir's your
oraw reports lnleracttvely under Windows 3.1,
choice, we're compatible with you. then print or display rhem from any DOS,
-
Windows or [,rNlKapplication.
Announcing
I
fA9leA brippers
ABASE IV
The
CodeBase
power
5I)
oJa conptete DBMS, the benefts

NEW - Multi-user sharins with


olC
SPECIAT - FREE CodeReporter
Order CodeBase 5 before June 30.'t99l
and receive CodeReponer for free: This
oller inL.lude\ our no-risk.90-day money
back guarantee. so order todav!
-

FoxPro, Clipper and dBASE...


_ "Sieve of Elosrolhenes,,
6encnmork tor prime Number Generolion Now your mulli-user C/C++ programs can 'lf CoclaBaseS-A
nEc/crLlh,|*oobB.bu.@M|
Shows C to be
share data, index and memo files al the
incredibl| fttstet !
same time as concurrenlly running Fo\pro,

C size - small executables.


Clipper and dBASE programs.
mcompatibilities. No waiting.
N-o H
x Coll Now
no added overhead...
N
403-4r7-24t0
For Pro. Clipperand dBASE would lile you NEW - Oueries & Relations
lo belie\ e you need lheir enrire develoomenr lfi)() timis faster... SEQUITER FAX 403.436.2999
system to build darabase applicarions. Bul CodeBase 5.0 now lets you query related sOFI1VARE TNC, ililfl Eu.op€ 33.20.24.20.14
a,q]&q,'st,r4,^.Ili^&^<^d
G/G++ DEVELOPER
Using FoxPro's
Application
. API lunctions
. Library Construction Kit
(LcK)
. Library routin*
Programming
lnterface:
Adapting
Existing DOS
Programs
WTCOLINT.C for FoxPro, so I''ll show just selected
portions'
By Michael L. Brachman The entire listilgs are available fiom Compuserve and ou
the
May program disk.
r n orevious articles, I showed how to create a FoxPro
I iir,i"* fiie and ho* to improve performance within an Defining variables
I """ii"Lti", usins the API-. 'Ihis article shows whal' it Most C programs written for DOS begin with a procedure
I tif"" to "aupt u".ordinary DOS program to make it work called main. The word couiter starts the same way:
"ivn" FoxPro.
within
i"t" at all? First off, FoxPro is very possessive l,!t
""*.s
aboul svstem .""-oot""" aad takes control over all memory'
"t liala(lBl .rgc, cb.r '.!gvIl ]
memory allocation functioos such as (
i"" *. FII' .fD, /. ?llc PoiatcE (.tructure) '/
"#'t "t""clard
;;l*(;;" crJ a block of memory' second, FoxPro controls
ItL considered ill-mannered to writ€ directly to the
most UO.
The arsc variable holds the number of argunent's, argv is a
or
-*oL * t" low-level file VO such as fopeno
"r" "t""aard
i*a-t"fl t" -."ipulate files. Finalty, debugging facilities are list ofpoi-nters to the argurents. TDically, argv[0]is a pointer
to the name of the program and argvlll is a poiDter to the first
more limited inside FoxPro should a program not perlorE as
areu]I.ent. iD this case, the frle.
exoected.
--forr" -fritfti" it" API, I call the tunctions directly, using the
oi ttti" i" for concem. Though there are certain
"uuse
functions that areD't permitted in API routines, in every case' Foxinfo structure. Therefore, in the FoxPro vemion of this
I Dass the name of the file to be counted using the
*t""""* f*p." takes away a function, a sulstitute is avail- "io**.gik
F"r-"- The fol lowing code shows how to convert
.tf". i" -""t cases, it's simply a matter of callingoneanother
or two "tt""t*e.
p^"""d Yia the ParamBtk structure into a stand-
function. Inthe worst case, it s a matter of adding "i.tgr-""t
ard, null-terminated string:
e*tra Unes of code. Let's explore a function that was written
io. OOS u"a the steps t eiessary to make it work within volal far
Foxho.
- vcouEt (Pat.!B1k FtI r9r )
i^r, to" t urr" . *ord counter originally written for DOS IT's {
loosely organized into two parts. The 6rsl' part is a ftont -end cba! f.!D trol ,
whict'reais the nle into memory, catls a word-counting "en- i,rt fil.nt
r,i ne " then reDorts the results back to the console l'he engrne
t* il*. *.iit"" t" work in both FoxPro and DOS This isn't ftlaE ! I,atE->D [0] .va1..v-lcEglh,
(la.!., EaaalBoPtsl
ur, ."aa""t. Ttti.s is the preferred technique for developing -t(@ttovc (parE->D tol .vaI.6t-haad1') , ftl6a) ,
oroeramB to work withU [he aPI. Ob.'iously. this isn't always
fn.!6tft1.rl . O, /* adtal au11-t6!D:lDrtor r/
oosiiUle. especiallv when databases or event-loop processes
li" inroir"i. on ihe other hand, there are many debugging This is a two-step procedure. The ParamBlk structwe
aicls ;vailable from the DOS environment which aren't avail-
doesn't contain the itring, It only contains a memory haadle
.Li" *itUio fo"p.o. We try to take advantage of them when which is an index into a table of pointers. The -HaadToPt()
we can.
''f1-isn't
practlcat t present the entire listing of the- word function converts the handle hto a real pointer. -MemMove0
p"og.u-, c-alled WXCOUNT C for DOS aad iB used to copy over the nurober of b]'tes iDdicate'l in the
"orrrl",
162 DATA BASED ADVISORA4AY 1993
The Reportinglnnzard of FbxpnA
Now you can create Foxpro ad hoc reports and
oueries
like magic, Vithour cryptic .ornrrndr'rnJ t.dil;;;;[g
or ,atltc, only, d.t. tr. boxes.
Just insall Foxfrei. the Reportng Vizard for Foxpro.
and you can rnmediately produce iolumnar and
masrer_
oela reports. forms. group summaries, cross rabs. labels.
spreadsheers. ASCII or DBF dau files, and
even mail meroe
text files tin Lhe word processor formal of your .t ni.",. "'
.Ypu
cin repon from mulriple relared files, use calculared
xr@ mt Flx E!.%t M retx
^.
tields and olher power fearures effonlessly. And vou ser
all the speed of Foxpro: amazing Rushmore- optimizirion,
too
- a feature no other 3rd parry report writei offeri.

Foxfire! A Wizmd for Both End Users and Dwelopen!


or.xH2 ,at trE3 l)d. lter.
a.asa- oddddd tl t r r111r 1rlrtltri Foxfirei has something for everyone. For end users, it
Bbhr,rrrh f@ 22222D12 772222722
x1333333:t l1ralltrilr}f, makes the creation of complex repons and queries almost
5u- na I aqna2 lrldtta? effortless.
7'lt1-77 For developers.
a-wa8a 22,i ti , .Fodirel enables you to proride true ad
hoc reporring capabilities n your cusrom applications, It
s
more powerful than RQBE and its yours for'a low one_iime
-i-1- --;i-
222 fee. lf you have a venical product, lou can rnresrare
Fo#irel for a very low royairy (call us for derailsi you can
ls-;l plrchase a source code version to make the connection
absolutely seamless.

30 Day No-Hassle Guarantee


Foxfirel has received acclaim flrom users and develooers
all over the world. Vete so sure you re going to loue ir-
thar we ll make this guaranree: Bul, roxfliel ai'a use ii in,
J0 days (rech suppo( included). if you don\ fnd ir
a ] ii ,- -l
o sq@h w.o4.hwh!le, return it with a letter explaining why. Ve,ll
-
gladly rcfund the price.
'ffhy waste another minute pondering the mystenes of
reponing in FoxPro when you can have your own oersonal
I s.t Vizard do it ior you? Ger the magic of foxluei rodiy.
-c-;"1
SH]PPING & HANOTING
US CAN FOFEIGN
Demo Disk $r0 $4 $6 $10
0emo Disk & Video $6 $12 DonI Wait!
Single-user standalone version
LAN standalone version $195
$25
$E9 $6 $r2
$6 $12
$25
$2s
$25
Buy now and get FRLE IIII
IIII'I
Developers Edition $295 $6 $r2 FF 2.5/A)S upgrade;
$2s
Specily D0S or Windows vers on
Ca lfornia res dentsaddB.5% Sa es Tax
FF,Nindows for just $100 more! IvlICBOlvlEGA

Micromega systems lnc., g32 Baker street, san lrancisco, cA g4ll5, phone g00-2g340g0, Ex1. 8Ij5, Fax:
415_34k(ffi4
Foxpm and Rushmore are registered irademarks of I\,ticrosoti
Corporation O 1992 Mtcromega Systems. lnc.
C/C+ + DEVELOPER

Summa?Y oI FoxPro's API Library

a SKIP nnn in work area specifled'


-DBskipQ-Does io the
l,Illemory ,OAS""ki)-Oo". . SEEK using the etpression supplied
work area specilied
Memory Management a GO BOTTOM in work area specifred'
meoory if possible and retulns -DBUnwind$-Does
field specifred wiih new expression'
-AllocHand(FAllo€at€s -OBneplaceQ-Replaces
M}IANDLE. an RLOCKO or FLOCK0 in work area
MHANDLE and returns memory to pool -oaLoct{Fp""to"-"
-FreeHand0-frees MHANDLE to ordinary FAR pointer.
specified.
-rUnatoRi0r-Coo.'erts number of usable bytes' an IJNLOCK in the work area specifled'
-DBunlock0-Does
-GstHandsize(I-Retums size of MIIANDLE if possible'
-Ss$tandsize0--Changes Memo Fields
MHANDLE' file handle of MEMO field'
-HunLock()-UElocks rcquest to Alloclla'nd0 will succeed' -Memoohano-R€turns specified number of bytes in MEMO
,t*lemnvaiiiFr"U" if
blocL of space oa steck -atncaUemoll-neserves
-Alloca(FA.Uocates frle.
MIIANDLE to prot€ct contents' FindMemoo-Returns pointer to first byte in MEMO
held'
-Hlock(Fl,ocks numb€r of bj'tes free on the stack' size of MEMO field'
-StackAvam-Retums -Memosize0-n€turns
Memory and Strings
a Dull-t€roi!atrd string 3. uo
-Strcpy(Hopies [ull-tcrminated shing'
,Strt-en11-net rms teogth of
Low Level File UO
two null-t€rminated striEgs'
-Stromp(Hompares a length-speciied b}ock of memory' FOpen0-{pens file and returDs 6le handle'
,MemMove{FMoves new flle and retums file handle
two length-specified blocks of memory' -Fcreate{)--{reates
-MemCmp(f-Cornpares flle.
a block of memory wit}l specifred byte -Folose(Hloses
-MemFill(FFills size of file.
-FCHsize(Hhalges
a logic true ifendof-file is reached'
Memory Variables -FEOF0-Returns
Iast frle eEor'
a variable or aray' -FError(FR€tums
-Newva(Hreates vadable or array'
all buffers out to disk'
-FFlush0-Flushes
-Rel€ase0-Reteases single line as t€rminated by CR'ILF
result into memory variable' -Fcsts0-R€turns
-Store(Fstores Incator structurc t,o point to out a single line and terrniDates with CR/LF
-Findvar(Flnitializes -FPutso-Writ€s number ofbltes'
in specified
vaiiable. -FRead0-Reads
of variable' FSeek(FMoves to arbitrary positiotr in frle'
,Load()-Fills Locator structure with contents out specified [umtte! of b]tes
inforlllation about dimeasioas of an -Mrite0-Writ€s
-Alen0-Returns block of eharacters from o[e file to another'
al?ay. -Fcopy(Hopies
NTI of nam€ supplied
-NaneTablelndex(FRetulDs Console UO
Return Routines PutChr0-9ends single character to current output window'
output
r! s character string ,Putstr(F-Sends trull-terminated string to curtent
-Retcha( I-R€tu int€ger.
-Retlnl0-RtturDs value and sends output to euEent window
floating point number' -Putvalue(FFormats
-RelFtoat0-Returns
a date as striDg'
-FletDatestr(FR3turns
logical T. or 'F' 4. Window$
-RetLogical(FRetums structurc which can be any tlpe'
Value
-Retval0-R€turDs Properties
WIJANDLE of point specified
2. Databa.e -Findwindow0-Returas
WHANDLE ofwindow on top'
-WonTop0-ReturDs scfeen-relative coordinates to
Database -GlobalTolocal0-Translates
record number ofspecifted work area' witrdow-relative eoordinates.
-DBRecNo0-Returns screen row for top ol window specified
Same as RECNOo. -WTopfl-Returns
total number of records in specifred WBottomll-netrrrns screen row for bottom ofwindow specilied'
-DBReccount0-Retums screen colurnn for IeIt side ofwiBdow
$rork area. Same as RECCOIINT0. -Wleft0-R€tums
status flags for work area specifred' specified.
-DBstatus(FR€turus record pointer to the record rcquested in ,WBigtttl;-n"to-" colurna for right side ofwindow
the "creen
-DBRead0-Moves
the workarca specifred Same as G0 nnnn' specified.
DBF. Similar to a GATHER MEMVA-R ,WHeightQ-Retums height of witrdow specifred'
-DBWntE(FUpdates record similar to APPEND Wwidtho-Retums width of window specified'
a new
-DBAppend(Hleales of window specified'
title
BI-ANK or INSERT INTO -WTitle0-Returns
a GO TOP in rqork area specifred' WFootero-R€tums footer of window epecified'
-OBBewind()-Does

I64 DATA BASEO ADVISORA'IAY 1993


C/C++ DEVELOpER

Summary of Foxpro,s Apl Librar v

_WAttr0-R€turns attribuie blte for eolor pair specifred.


_Getltemlext0-ReturDs prompt ofmenu bar or pad.
Creatiory'Modilication _Setltemlext0--{haDges prompt ofmenu bar or pad.
Wopen0--{reates window and retums its \41IANDLFI. _GetltemomdKey(FReturns keyboard shortcut for
specified item.
_WClose0---Closes window and releases its memory.
_WHide(FHides window specified. _SetltemcmdKey0-Sets keyboard shortcut for specifi ed item.
Countltemso-Returns number of bars or pads.
_WShow(!-.Shows wiadow specifi ed.
_Wzoom0-Zooms window to new state. _Getltemld0-Returns id of item iodicated.
_Wselect(FBrings window specifred to fiont and makes _Activatel\renu(FDisplays menu and makes it active.
it _l\renulnteract0-neturns information as to which item was
active.
selected.
WsendBehind0--Sends window specified to back.
_DeActivateMenu0-R€moves meou fiom screen but does not
_WMoveo-Moves witdow specified to new coordinates.
release memory,
_Wsize(FR€sizes window to aew dimensions specifierl.
_Onselectjon(I--Spe.ifies routine to execute ifan item is
_WSetTitle(f-Changes title.
6elect€d.
_WsetFoote0--{hanges foot€r.

vo Active Processes
ActivateHandle.o-Attaches new process to event handler.
_WcetPort(FReturns WIIANDLE of curre[t output wiadow.
_DeActivateHaodle(FRemoves process from event handler.
_WsetPort0-Selects window as new output window.
_WClear0--Clears window specified. ldle-time Processes
-WolearReca(Fclears section of window specified. _Aclivateldle-Attaches new process to idle-time event handler.
_WPoscursor(FMoves cursor to coordinates specified. DeActivateldle-Removes process from idle_time event handler
_Wceicursoa0-R€turns current position of cursor.
_WsetAtt0-{hanges attributes of speciied color pair. Environmental Events
_WPutchr(F-Sends ooe character out to window specified, _GetNextEvent0-Returns next event in queue.
_WPutstro-Seods nult-t€rminated string to window specified. ,DeraultProcess(FProvides default pmcessing of neit eveDt_
_WScroll(|-Scroils window specified.
-MousePos0-R€tums coorditrates of mouse and status ofleli
,RefreshDisplay(Fnedraws entire screen including all windows mouse buttoD.
,lnKey(Fsame as INKEY0,
5. Event Loop Ptocessor
Menus 6. Miscellaneous
_Menuld(Ffuturns id of specifred pad or popup. Dialog Box Creation
_GetNewirenuld0-Returns unique id for new menu. Dialog(FProvides elerneDtaqr dialog box serviees.
_GetNewltemld0-Returns ulique id for new metru item.
_NewMenu0-Creates new menu ofspecified tJpe. Call-back to FoxPro
_DispgseMenu0-Releases menu ar]d its associated memory. _Ex€cuteo-Execut€s IIull-tcrmitrated stdlg through rnacro
Newltem(FAdds item specified to menu specified. itrterpreter.
_Disposeltem(FReleases item specifled and its associated _Evaluate0-Evaluates arbitrary expression and returns result.
memory.
_SetirenuPoint0--Specihesupper left hand coraer of menu.
Error Handler
_SetMenucolo0-Sp€cifies color scheme for an eatire menu. _Error$-Forces FoxPro error handler with error number
Setltemcolor0-Specihes color scheme for a specific menu item. speciied.
SetltemsubMenu(FAssigns a submenu to a specified item. -UserEnor(FForces Foxpro error message s/ith text specified.
*BreakPoint(Henerates Ily! 3 for use vrith extelnal debuggem

ev_length element. Strings in Foxpro aren,t guaranteed to be these #defines in your DOS ftont end to reduce the number of
n ull-termin ated. You must supply the nlull-te.-ination changes required later:
explrcltly. #defi ne _MemMove memmove
The functions _MemMove0, _StrCpyO, and the like should #define _MemCmp memcmp
-
be used in place oftheir DOS equivalints. These ApI librarv
#define MemFill memfill
routines pro\ride better control over memory boundaries ani #define _StrCpy strcpy
reduce the likelihood of transgressed (memory) hanclles. i] #define _StrCmp strcmp
your common routines use these functions, simply include #define _Strlen strlen Continued

DATA BASED ADVTSOB/|\,jAY 1993 165


C/C+ + DEVELOPER

illf,o. siz' ) ,
t6b - ,A1l'ocHaaal ( fr)-Ha
Low-level file l/O buff = (char fa! taoPlr (!'Eh)
'
To oDen a file in a DOS program, you define a
file pointer
aoi uie iopentr to gain access to it For example: AllocHand0 returns a memory handle, which is an integer
to a table, if it can grant the number of b,'tes re-
EILA rf9' /r Pi1. Poinlct: (.tructur.) '/ "oi"t".
I"""iLi. H"natoPtr() converts a memorymay handle into a
iointer. Ifs important to note that EoxPro reorgaruze
fD - foDoa(erg!'ll], "rb" ), ffi;;;;;i;;;alls to API rouLines Therefore' vou should
;;;;'";h; each time vou enter the API' or use the
In an API routine, I use file channels (FCHAN)' which
are ';I;;lii tu.i"iir;
";;r to lock a block of memory' wren vou're
t"il" ilinaG, ana use a trnction called
-Fopen0: E"i"ir"a'*itft ft"ck of memory, you should Ilee it up using
"oi#.rJ r/
" furction (along with
iir" Ji."uiu"aO -HUnLockO
if neces-
ECE I fht /i !11. H.a'l]6 (tEts) on resources'
sary) to prevent excessive ilrain
( fa!r.,
fh ' -EoD.D
FO-RBDOIIIIJY )

For every low-level VO routine such as freado' fuT ite()'


etc lnvoking the engine
tfrl* "epf you should use You could use a If thinss have gone well, you can now invoke your engine
"* ia1n"& to handle the function traDslation here'
"qrllt'"l"ot" *r,l"ri.houtd be'unchanged Admittedly' it's only
il;A;;';;h;-Fopeno and -FWrite0 are identical to the
""i"-" "? ".i#.""a"
undei ideal circumstances that this works 'l hrs partrcular
ana ine file handle numbers used are can always be
ilil;;i;i;"Pr;, ."ia-""""t". """"^es that the files examined wolld
compatible with those used in the API' iraa ii -"^..yll*at doesn't work, the input stream
;;;;-;, b" ;*'"-*ed using low-level file Vo The #define
ilemory management i.i'fr"i*" .igftt "till preselie l,he code in this case The point
As mJntioned, you can't use malloco to $ab a block of
I i--"""-*"rf'u, a" as'much of your testing as possible und^er
t""t".a, you wouid use the following to creat€ a ;b6;h;;;i;d. iools are available fordebugging
debugging lt's diffi-
-ILon
pointer to a block: i*r.""ible-to do s,'mbolic unde-r Fox-
"'"iliiih;;;;;;
il;. "oi ; few API functions such as -BreakPointo
IGNIDIJE } h' 3 tlap, but you have
i"to the processor's INT
*-fri"n ftoof.
cher fa! 'bufft "u"

per '87 - 5.2


dBEST Toolbox Version 6.0 for FoxPRO 2.0/2.5 and CliP SPi'LI, CHE(]KIN(]
rssIsT. Prinrer D.irers Source Code for the of
- h erpreter D P rompt. merSe
1 Assi NJ dri d ) It..>4.{*sd.d
stics pn 300 po P up he h 130

pl b1 ldeal q k afp p lbrnr


ooq. x ts AS E
Del Sort S iai
:r rray 22 Conve rl C opv S
Dcp
les le/R
l B 26 Mortgages In
Wrappi ng De nd
1 Con 1) N
1 D ata Compression l) Compre r) Pl field aird I,

Dal€ & 'ti MINi \tArL QuerY Systcm


_l 6) E psed Iapsed day dlt _
I'YPF]1\RI'I'ER -1 DOT Prom pt 00 c/c of dB s E C pl terprete
_l pop- P ightbar d
Ed tor 60 Pu -d
1G -1 Lotto. B iorhyt h H Rac ng
-l Hrl p S ystem Ci B sE lp yste d PRO
of 1l K Z p and Co 0 K li snd
l Info Base 9) t-
-l \Iat h 2 T go metry Lo gs F Ran d ha

1 \I ght.v NIail 1200 Easy Nl Li LUD

a NIini NIail Menu dri merge from II pl D BF h II nal output s'*xi. iiff:lliTl.w;#g,f;. :IH
1 Pop' U ps l-1 1 C al lator Cal ird Tvp d P l L
_t
Pri ter D rivels 600 Dri IJ 0 l6 allrl DO'f PRONIPT
CAI-CULATOR 61 K d up fill prr tpu
1 Pri nte S pool€r U defrn b
a ds ght b.r dti and
Query S !s tem 23 N,I
: l S h G bal ld bin
!rol
1 S€c tt En DecL, de C d
60 .000 d p ad d
.1" :.I Speu Chec ke
'1 Statistics r8 Medi S d. qu and Corre
Nl l\,1
ScI DO s s C
l U tilitt S pec al Elte C

500 Pagc Manual. PoP-uP Hclp Sy.lem and Tutorials on


Di\L
CAI-E:.'D.\R
MIGHTY IIAIL
$295 RoyaltY Free
ilr" HALLoGRAM Publishing
I (303) 752-2086
[ii]ffi| l
I I I
1532 South Da\rson Street
Aurora. Colorado Efi)12 U.S.A
Far: (303) 752"1646
.

166 DATA BASED ADVISORA,IAY 1993


C/C++ DEVELOPER

to manually align- the segment and ofset ofyour symbol table


struclion Kit to facilitate creation of these routin€s. These
ttom within the debugger. This isn,t pleasint. you may find
yourselfr-esorting to the old printflt (or _putStr( I in this'casej illlude
Ioop. andleqrorr lanagement, database, *irjr;ro, ;;;;;
method ofdebugging.
other miscellaneous routines. your librariei could
include functions to do Instrumentation, D.hi;g;&, il;;:
Retuh values ess control, Robotics. Music. Bar code re"a".Zg"""-.-ut"?,
Splif
checker/fhesaurus, Text search, and more.
..M.anf DpS
prggrams use functions such as print() to send
their results to the console. In Foxpro, you sho:dd s;m;;; -Ihere are even routines you can use to call back to Foxpro.
'l'hese include Execute( I for launching
your results in nuubers or strings or codes and return those - a UDF and Evalu_
to FoxPro using one of the ate0 for evaluating any valid Foxpro Ixpression. if,"." .."
maintains the Bcreen exclusively-RetX)OO(( ) functions. Foxpro special codes you can use for call upon ioad and cali upoo
and doesn,t know about
values printed to Lhe screen. Ifyou need to return multiple unload for initialization ald clean-up procedures. you co'uia
vafu€s. one t€chnique might be to send down an array using even ndte an API routine that,s called upon load and never
call by reference and use _Store0 to enter your retum valuesi returns to FoxPro, treating it as a #ant li blary via Execute0
.

If you must return results to the screen, you should use and _tivaluate0 in.stead. There's no limit to what you can do
functions such as _PutChd) and _PutSt() to print to the with FoxPro once you've mastered the ApI.
currently active window or screen. The ApI also contains all With the release of FoxPro for Windows, the ApI is even
the functions necessary to create, select, maintain, and close more important. It cau be used to access ihe Windows Api
windows. You h-ave complete control over their size and shape, which has over 700 functions for font maaipulation, grafhics!
and you can poll the API about window characteristics. Tiis etc. Future articles will cover how to yor.6OS Api
should provide an adequate substitute for almost any console routines to FoxPro for Windows FLL format"orrrrirt
and how to access
UO you want to do in DOS. Windows DLLs and other resources.

Summary Mlchasl L. Brachman, ph.D., ls Sr. Systems Anatyst wlth Micro


Wete explored what it tales to create and use library Engg?vo_Js:
lnc. His ar ctes hav€ appeared in DBi, roxTattq Dr.
Oobb'a,.Sci9nce, Braln Research, Journal ol th€ Acousflcal Socigty
routines from FoxPro's API. In the sidebar, you,ll see that otAmerlca, Blol. Cybernetics, Chsmlstry, and others. youcan rsacfi
there are over 130 fuactions supplied with the Library Con- him at (21 5) 449.4680.0

The Pinter FoxPro Collection


Orer 101, torl,Ro sourceLode
1. hterfac€ desigr furcdons for pick lists. popups, rcad l@p., frulriptc file slerion. mnus, 6dio buttons, vatid
clals* & horkels.
2. Applicarion prolornitrs,od sen sF.ial cffers. **riat*d,
3. Orrcc Ifusc@nt progrm fd irvoicins, orda. enry c6h regisrer, cortad otuag€r, shedulins ed rh. paFrt.s
ofrc.
Mail merge. spEad.heer in FoxPrc code, reponitrg dd t mptaia pbsl1l]min8
5. DBF file firer, DOI Prompl. multiler prcgrmming. bue 6xes. emr rapinS, dara .ticiionary, dd data
con!€rsoo
6. Brcwse rcplaer. rcco.d rercling, mulrifile ad keyword s{4hes
7. Scuiiy, encrption. psswords ad frle ehivi.g.
Mighty Mail
8. Busine$. Matn &d rudom nuhbd tuncdoG.
9.l cretiv. help sysrem Birh ke o.d w@hes on over 500 rDpics f f
l're Sp.rirl l]dition Solts!.e: (R€tail !.luc ors gSil.txt*) dBest 610
I dBEST 610 Printd Ddre6 subset fd lis ed Dor Maaix L L Printer
2. Mi8hlr Mdl Prcfe$ioral *nh ov6 lisltunas€mr fuErio.s.
200 hailitrg Drivers
bserlib HP Lisjer f(m desisn user defiDed turclim tib.r.r.
H'ne$ Cold Seh s!b*! eirb 20 @l( sers dd I ways ro (et/edir @* sors
Spdial edilions includ! .lE oepLre.oyalty i@ so..e cdie wlth ]Muals @ disk.
Tle r.sul( colnD@iai versioG n avaibble for j6t Sso 0o .a.h.
I

tt
l2 monLh frce \ub{nFion to rhe Pinrer Fo\pRO tf,nfl. d f,onthly mgai.e erclusive
to FoTPRO prcgrffjng tehtuque\ Edch r.,ur corraiD5 ova l00O lines of rcyalty
he Fo\PRO sou.ecode
+* So@e code is als available on disk for $60 00

.l:lltLa ffi Ilarl€ss Color S€ts


CONTACI MAA1CER
WE
I
$19s.00 ffiffi ll!:!9*! rit
Royalty Free T._^-*t l!l

HALLoGRAM Publishing
1532 South
(303) 7s2-2086
Daqsr StreI, AurcE, Coto.do
rrxt lto3) 152-1646
E{rcr2
Trrni;FJ-]
Lr-]&sLl

( qur c@idri.
t
lt'n'*I5i
SIEI

PodrcE mnnoned oG ro@md(ed by f€, r6pe, G hod@tu€ts

DATA BASED ADVISORA,IAY 1993 167


. EXE size
CLIPPER BASICS
Developing
. GLOBAL variables
. Macros
Faster GliPPer
. PreProcessor PertOrmance
Apps
By Dan D. Gutierrez, a symbol table look-up is required for each loop iteration'
Hoiever. no look-up is needed in:
Contributing Editor
*acfiao coNSTtlsT 7
, As vou srow with CA-CIipper, youll un- LCICAJ, ucourt, Eval
doubiedli push the compiler further and 8OR acourt := 1 fO 10000
rJ further to its limits. To reach that point, of EVaI := CONST |T
'.
j-.'.,' course, you need to keep in mind some of
the development techniques that can
make you more productive. This month,
NE:Xf

since CA-Clipper replaces a manifest constant with its value


at compile tlrnp. not runtime This example runs faster than
l've provided some generil developmenL tips geared towards the 6rst. This is another tradeoff-performance vs. program
the novice. size. Although the performance increase is slim, you should
ctippet tip #r-EXEs: Smallet is Better think of this optimization t€chnique as just one of many in
your arsenal.
When you prepare your final EXE for distribution to users,
be consciousoftire EXE size. Duetothe RAM resident require- Clipper #3-4anilest Code Btoat
ments ofmost network operating systems, a smaller EXE size ',p
is always better, especi;lly if the application is designed to You should shy away from manifest constants equated to
work on a network. long character string constants or pseudo-functions that.are
To miuimize EXE size, remember to aftuays compilewiththe overly complex ifyou use them often in a program. Consider
/l comoiler switch. The,4 swikh eliminates all line number this:
references embedded in OBJ files The savings may seem
small, but when you're dealing with large, multi-module sys- iltlcf,in6 PAGE-TIaLE ,
tems, every little bit helps. In a large multi-user application "CcmbiE€d IEcdlr/E.I,cEs6 Quart.lly RGport"
I once wroie, I reduced the size of the EXX by 68K using the
/l switch. This was enough to compensate for the resident There's no problem with such a manifest constant if it's
network software. referencedin i few places inyourprogram. On the otherhand,
There's one drawback to using /1. Without embedded line if you use it in 100 places, the constant becomes part of the
numbers, you won't get an error message like: code 100 times, a prime waste ofspace in the EXE file
To reduce program size, store the string constant in a
Erro! BASE/1097 AtguD.at c!ro!: LEN variable.
ca11cd f!@ uArN(5) In the case ofa pseudo-function, this:

when your program aborts with a runtime error. The line at *il€f iE. OPEIiATIIIG INCOUE (actualaw, braak€won6v,
whichihe erroi occurred is indicated by the number in paren- Dric.Pu, vcpu ) t
theses. Instead, you'll get: IIE(Dlic.Du-=0, O, (act,u!Iav-br6akGvorrEv),
r (Dric€Pu-vcDu) /9!ic69u)
Error BAaE/1097 l.rgnr[.Et arlor: LEN rActsualsalcavolum. := 1500000
Call.al frc6 UAIN( 0 ) LOC.IL
r,ocE EBr.akEv€Dgalcsvolu.E6 := 3?00000
The tradeoff is program size vs ease of debugging Then LOCAL rsal6sPric.P.rurit := 74.75
again, bythe time you place your program into productionuse, LOCI! lvlrcostsP.rurit := 59. O0
mlost ofihe bugs ire fixed and you won't need line numbers
for error references. ? OPEITITING INCOIIE ( lrlctualgal6avolur., i
aBr.akEv6asal.svolun,
Cripp,er tip # 2-4OQ PrcptDcessol Petto.mancG naal.BPriccPcruEit, ,
avarCoatsPcruait )
Use the paeprocessor to increase program performance. In
this code: ? oPERAT ING-INCOIiE ( nActua lsal.8vo luna+ 10 0 0 0 ,
rB!.afta1'6da.1.Bvo1trEt,,
PRMTE ncoEataat := 7 rlt.16.PricGP.rUtrit,,
LOCa.I, trCourt, nval rvalcoa!BP.luai! )
FOR acount := 1 TO 10000
aval := nco[ataEt Continued
IIE'(I

168 DATA BASED ADVISORA,IAY 1993


.r Crurmr,ul
.? GEoRGn ScrItssEL
v
Pr,rxuy Srssroxs

r PHTIPPE KAIN
President & CEO
Borland Interrrational

E,, Cr Rllis B. W.$-c


ll:. Chairman & CEO
Computer Associates
International

Ovnn 2OO Innusrny


Exl,nnrs
Chris Date
Ronald G. Ross
Chris Gane
John Zachman
Larry DeBoever
Mike Stonebraker
Will Zachmann
Adele Goldberg
Adam Green
Shaku Atre
.,,and more! WORLD
Co-Spoxsons
Blyth Software
Cogmrs
Computer Associates Int'l
CoureRrtce & ExposrTtoru
Computer Reseller News
DBMS Jurur 14-16, 1993. Bosroru, MA
DB2 Journal
Database Programndng
& Design
Data Based Adr.isor
Data Management Revie-w 5 FocusED CowTpRENCES
DATAN,IATION
Digital Equipment Corp.
EcoSvstems Srrftware
. Managing the Client/Server Envirorunent Conference
Gupta . Building Client/Server Applications Conference
Information Builders, Inc.
Informix . Client/Server Databases Conference
Ingres
Network World
r Middleware and Database
News 3X/400 Connectivity Conference-All NEW
Popkin Software
Powersoft Corp.
. Systems Integration Conference
Software Magazine
Texas Instnrments
0ver 20,000 Attendees will Sponsored by:

OlT n 5OO Exurrrrs Visit CLIENT/SERVER WORTD &


d>
Call (508)470-3870 for
Exhibitor Informatian
DATABASE WORLD in 1993!

Call (508)470-3880 to
l3q-
,4A
DCI
Digital Consulring, Inc.
*CUEIYT/SER\ER VORID ;! register or to receiae a
endor*d by th€ Crienr/Server
Roundtable, a Iroll.profir industry
compl.ete brochure.
orguization. A senice rnark of DCI. A3ZSBD
CLIPPEB BASICS

calcula- EXE 6le. A PLL works by allowing the runtime support


results in "code bloat," since the code to perform the routines from CLIPPER.LIB to be mergcd from a separate
tion is Dlaced in the program for each occurrence program
oI
itinte *itn yo". "xecutable code at runtimc To take advan-
iipiriafluc INCoME Thii can affect the overall (hc
(if it's refercnced in numerous places) You i""" f'l,f-. vou must first link it using BASI:50'LNK
ir"-at.-ut"uffv iilt"."fu
nf" incl;dcd with CA-Clipper' You should also includc
might be better Lffrewriting this as a UDF' for
SEt PI-I,=", t"tipperS \ pll l)OS environment variable
t-Ir.
ll4-l,,aclos' ba gone! the linker.
CIiPPet Tip To use a PLL. invoke the tinker with:
To improve performance, make every attempt to eliminate
*;;;'lio- you. cod". CA'Clipper offers several provisions RTLINT EI Prognam. /PLL: DASE5o
*fri"f, tft" for maclos, such as extended expres-
"UlriutJ
CUrySef blocks and code blocks in general Com-
"eed
"i""",
pare this old-stYle "ode
aPProach: In addition to the considerable savings in link times, the
resulting EXE file will be minuscule compared to the one
r S'87 nathoil vorr'll normallv generate.
fil6 E!!a - "cuatoo.r' " Nor.e: once voicreatc the production L;XE lilc. get rid ofthc
USE &fllc-[aD.
PLL. The wh;te idea behind using Clipper is to have a stand-
alone EXE file.
to the new style, which you can rewrite as an extended
expression:
Clippe t tip #Hrcm a GLOBAL P6rsPective
/. cl-cliDDor n thod r/
cELlaNa.Da : = 'cuatdar' When vou first moved to the CA-Clipper environment' you
usE (cFi16N!.8 ) // usc .xton't6tl 'lg'rcsslonB l *"." p.obubly told to use LOCAL and STATIC scope variables
instead of PRIVATE and PUBLIC variables.
For the most part, this works out fine However, you'll find
Ctipper tip #5-{uick Link3 that STATICs are the "widest scope" possible, visible from any
orosram module inside the PRC file in which it was definod'
' Ofren this scope isn't wide enough- a PUBLIC is necessary'
During the development cycle. you should use a prelink
library iPLLr to avoid lengthy link times when generating an Unfortunately, unlike LOCALs and STATICs, PUBLICs (and

ESCRIBE: Spell Checker for FoxPro


DO SP_MENU Reptace misspelled word with the current word.
One line ofcode activates qpell checking via Hot Ke1 or ria-tle Replace All occurrences of the misspelled word
FoxPro Edit Meou. Spell check Character Fields. Memo Fields and Ignore the curent misspelled word.
Memon Variables during Append, Fiit. Browse. a( your cu\tom
@ Sav/bet screens, whili in Lhe FoxPro Editor. and even at the
Ignore All occurrences of the misspelled word.
FoxPio Command Window. Edit the misspetled word.
DO SP-FIELD with "COMMENT" Add a word to the dictionary.
SDell check Characler Fields, Memo Fields ard Memor) Variables Suggests possible spellings for the current word.
uirder complete program control
Look-up spelling of current word.
DO SP-ASCtr with "SAMPLE'TXT"
Sp€lI check ASCtr Text Files under program conffol. Undo the last Replace or Replace All command.

Spe[ Chec*tng
Possible Spellings
,",, $295
for Royalty Free FoxPnr 2.0/2.5 Source Code
chcckcr with 60,000 and 140,000 vord dictionaries
cheekels
checked HALLoGRAM Publishing
checkable 1532 South Dawson Street
checkbook Aurora, Colorado 80012
checkbooks
checkbQok's (303) 752-2086
R:'#STi'#i*,*5iEre Fax: (303) 752-1646
Word in
The spell works at the DOT Prcmpt with Browse or Edit character and memo dBESr - |

fields, with &e FoxPro Editor and with yolr custom user lnpu t character or memo fields
Simply pless Ctrl+S to start spell checking. You can also spell check via the EDIT
s.
Listing of similar words
!.

170 DATA BASED ADVLSOR/MAY 1S93


CLIPPEB BASTCS

PRIVATEs) use thc symbol tablc. Symbol table acccss aErITRrl (IIE(walu.
requires l,ime, thus such accesses should -- NtL, aclobat, tEEle.rrl, ;
fc avoided whcn actobat! [rE1@.at ] ,
possible.
: _ vvaluo ) )
You can.awoid using the symbol table through GLOBAL
scope variables. Clipper doesn't oflicially support such a
scope, but you can easily create one. You'll necd two forms of the special CAccess(, UDF to both
CET and SET thc globals. A call to GAccess() with;" ;;_
The basis ofa GLOBAL is the STATIC array aclobals. This
rametcr does a CET, or retrieves, the value ofu gfofrui; iro
STATIC contains the valucs that the program modules in y;;; paramcters does_a_SET, or assigns, a value to a global.
application will access. You can keep trick of the indiviiual I n a separate PRG file you should
CLOBALs held in this array with a special CH #include file have this codle:
containing manifest constants used as array subscripts.
Here's how to create a CLOBAL scope variable: r TESTA.PRG - Corrai.aB
r by uaino of TEST.PRGrt}*/rDp() which is callld
r TEST.PRG - Uairr progr.n fo! t€sr suit€ usiDg .Liac1ud6,slobals.ch,
GLOB& acop€ vari!.bl€s #dcfin. GLOBA! PAGE LEN 1
*dGfin6 GLOB& SCR EEr-DER 2
r l,l1ocat6 loom for Ld6fin6 cLoBAL Trx RATE 3
1OO globally scopaal v.liabl6s
STATIC aclobals [100I !'gNcTroN uyuDE
FUNCTION Uain
LOCA! nLiracat := 1
uyuDF ( ) // CaIl UT.UDF ( ) ,hich
// eETa and SErs globals /r SET thc global !.port p6g. hDgth
RETI'RN NIL to 55 r/
G.f,ccc8a( GLOBAL PAGE LEN, 55 )
/r tb. global alata orrtry scr66r b6attG! r/
SET
r Glcc.s8( DEle.rt, GACC6SA( GLOEAL SCR IIEA.DER, iDATA ENTRY SCREEN"
vvalu. ) --> vclobaLvaluo /r SET th6 glob.I EalGs tax rat. ./ )

GAcc€sB ( GLOBll. TAX RATE, O.OB25 )


EUNCTTON cAcc.rsa ( nElecnt, WaluG ) /' Exa.q)1.: cET a g1oba1 r/ Continued

"FoxPRO 2.012.5 R oyalty Free Develper Tools


{valon PLB's $195 each or 9295 For All dBEST BARCODE $I95.OO l'astl'ext - Text Retrieval $195.00
FoxPRO source code for Code 3-of-9. UpC and
High sp€ed Mu Iti-User Text Rerrieval Udlity for
Po.ral Bar Codes. Use wirh &e FoxpRO Repon
FoxPRO memo and character fields. FaslText is
and Label Forms or wirh cusrom "pRG,, fiies_
up lo 150 times fasler than FoxpRO's ownmemo
check under Complele conrrolover barcode Iengrh, heiqhl.
substring seaiche\. FastText use. a C-LanguaSc
features. locarion and descriptive texr. Suppons Hp-
PLB library plu\ FoxPRO's comprersed iridexes
Lasedet, and Dot Matrix Printers
to achieve multi-memo field searches tbat are as
fast or faster than FoxPRO's indexed charact€r
Fox Color and Special Effects $50.00 field sear'ches. You can search rhe laj-gesr
Color Ser crearion and edi(ing plu,60pre.defined databa5es and find every occurence of a \rord,
color.els forColor. Mono, Liquid Crr.tal and Ca. words, or expressions insuntly. you can combine
Pla\ma Di.play\. Click on a color paline ana drop search exprcssions with And,/Or/Not and even
)our colo^ into \ample.creen elemenrs to create wildcard */? sning substitutions !o find and
Format disks. Read and wrile disk labels and ID. wYS[wYG color \els. Special effect\ Iibran does retrieve information even when you are unsure
Make and rcmove direc tories. Check disk status. of
\creen fades. wipes and roll\ in Iourdirectio;s. the correct word-order or spelling.

s ng output ro di
Serves 3 ports. Ultimate FoxPRO Referencc $40.00 Nlighty NIail Professkrnal $I 95.00
Access Bios, Color Pal ette, Nelworks and more
without having to write your own C functioni
J
Code
Q Developer
U Includes l 19m Dsta Based Advisor Reader,sChoice Award

dPage - Word Processor 9195.00


Edir. format. and print memo field\ dnd ASCU
l)l:l!1 HALLoGRAM Pubtishing
Te\l Files. Confieure windo\r si,,e dnd cotors ro
march any cunom application. Form desisn \ridr lr (303) 7s2-2086
mail merge from muldple databa.es. Speli check AIyI"S_oB
as ) ou type \r iltr 3 60.000 u ord d it ti oiarl . M ou re 1532 South Dawson Street, Aurora, Colorado g0012
dnven wrU1 pop-up help.
Fax: (303) 752-1646
CLIPPER BASICS

o torn ono t.L td


IE nLin€Crt > GAcces! ( GLOBA! PAGE LEN )
r Enil-of-Pag. cod6 goGE horc

arIlr
ENDIE

IT
lr
l.
I
b REfI'RN NII.

This code shows hot'r' you may GET/SET GLOBALs You


.;'t-;i;.;; the aGloLds ariav directlv, since a 6le-wide
iie-tld * a"r,""a as a variable whose scope is ollY in the
file in
rrl I"""iio""o. p-""aures physically located in the PRG
ll rl r r- which it was defined.
t)
fir" Uitt"* line with GLOBALs implemented is a philo-
tr Twice the SPeed & Half the Size' . "nohi""i
1."r". To avoid symbol tabte access you must write
of Engine a funcrion call to GAccess{ r. This turns out to be more expen-
in terms ofPerformance
tr Chosen bY Microsoft for Access sive
-
fii-i"uti"e P-UBLICs is good in another u'ay, however'
tr Windows(DLL),and namely
i*.iiinl
in t"hat GLOBALs (file-$'ide static plus
ut"
an-access
in one central place, u'hereas P-UBLIC
VisualBasic SuPPort be squirreled away in the depths. of lower-
"o.t.olled
a"nnii,o"" may
tr Multi-Platform/ level orosram modules C LOBALs are more cont rolled Hope'
C Source Available i"rfr-'ttl Xbase standard rand Clipperr shall have true
tr Full Network SuPPort GLObAI-s one day.

Dan o. Gutierrez is the President ol AMULET Consulting' a


Los
TECH lNF0 \'lA FAX: 708/924'3030 00C' il(}'88S824 A"o"f""-O-r""0 Xbase development firm He teaches Xbase and
iiiiiili.iooi"m.inq and is the co-author ot dBASE lv:
-el"lfoiia'ie'a"sics.ie atis UcLA
Copio lnternotionol Ltd. currently wriling ctipPer 5: steP By step'.
ane orovidinq Clipper 5 training in the L A area Oan can be reacneo
Wheaton, lllinois60187 708/682-8898 ;il3ib) ;ri-igai'"" compuslrve 73317,646. ot on the AMULET
BBS (310) 4s3-770s. O

aa
(r
FoxPro Tr b
Classes

Z Genins Started With FoxPro - 2 dav class


il]!il: iJ;;;,;;, ;;; ;;;;i; ",.;, d,";;Ld rnodify a database, perform queries and produce reports and labels.

Z Creating Applications - 3 day class


Provides a step by step approacn ro creat-i'r€ FoxPrc applications
quickly and easily without progBmming'

Z Introduction to FoxPro Programming - 2 day class


i"-f,". tf," funO*entals of progr-amming in-FoxPro t6 entry level or non-database
programmers'

Z Power Tools - 3 daY class


il;;p;;& "i,[Ji.irJ,..r,
*ni"h altow you to build complex applications with a minimum of codins.

Z Advanced Programming - M u1 ri U ser Dev opment 3 day class


Covers udvanced commands and concepts, and how to ProSram install and configure
FoxPro for networks.
Writer Authorized Training Center

9
On Site Classes AYailable 'Custom FoxPro Development' R&R RePort

Systems Design Corporation Ask about our Winilows update Class


5994 S. Prince Street' Suite 200
Littleton, Colorado 80120 800-848-7742
rrc n^TA ElAqEn Arr\/lsoFl/t aY 1qq3
Database
fast and T
r
"(We) crcatcd a Epott
in jwt four cltcks
tl,cmotre."
d /:14j ."l-;--/
v Over 750,(XX) trerc have
m* Rffi RepdWrtter
o.F tllr. industry sbmlard...
rcWeLW,7992
R&R Repon Writer, the
& R&R consistendy wins praise
hom reviewers, developers, and
ultimate data access and
end-users alike. And, great
reporting tool, enables you
/:7 reports keep coming in:
to select, ana[yz*, summarize,
and present data in any form "R&R is the best report
;F-z
you need writer for Xbase and may
- columnar listings, ';i'--;,-
form lefters, mailing labels. vety well be among the best
business forms, even mulri-page
analpical reports. t;
4
ever offered for databases."
BYrE hny, LsE 2
"--.the product does exactly

Noth@ beats R&R for


4 what it adveftises and does it
well." DBfltS, Janua,y, 1992
ad hoc database reporting.
Versbns now available foc ;ISEfr I l*\, m6
r"ti
ru l.soRl
XW (.&fl Paadox
dBASE Workw
tux !-2-3
Tum your
treililrtomation.
rw data lnto E l,lllllsl-s
cH0lcE

C$Wr Sr,,4i,7prry R&R's clean, uncluttered interface \Fhen you need database reports,
AI E Fdt Quattm Pro makes it the most user-iiendly R&R gives you the producrivity
ArEo Or*bW report writer available today. you need every time, on time. At
Access tffiltlarc SQL Create any report you need, exact- just $249, R&R for Xbase is an
ly the way you need it - without unbeatable value. Order today or
rerfunn Platirrum having to be an expert in database call for the dealer nearest you:
SAf Telan4/€. prograrnmrng.
8O0-325-9035 m.s,
The prof*slond stength
rcNtwtltet. $25 Rebate
Simflythe tutfor R&R is easy-to-use, yet it's packed
Now through June 30, 1993,
a lla rou N re pott wrtti ngl with features to satisfr even the
R&R has all the features to meet most demanding application dev- purchase any R&R Report
your every reporring need. Relate elopers. Features like an unlimited- Writer and receive a $2J
use, royalty-free runtime version, manufacurer's rebate.
and query dara, son and group pMh6
allow you to distribute reports Valid oD mad. b.iw rl99t d
informa rion, use spreadsheet 6/10/el in U.5,.nd Ced:onlr oflrvtrl'.lonh r^
freely or weave them into your R&R @om6. R.b,r pad ui u.5. dolla . s.ni
calculations and totals. You can rebate coupon. prodE qrlnmb.r, r,l onsJ
even format your layout with di{- applications-a real time saver! srore ree'Dr lhowsq dnte. nore
nwbcr
.ee nvoi.e
pmlEsd b: R&RReb
d prcdud e.
ferent fonrs to get polished repons ktnoEic Daa S6Emr 110TmD'kER.:d
V6rbom. N(A O158r.Md h€;i".,r r,. 7/i ve l
that will make you look grear! AllN ,r5 relc for deliv€ry. void whs€ i,rohibited.
FRE denp dlsk. Call tdayf

ffiRwtwite*
110 rumpike Road. we".ol.ffi*oH?BffiiJ5brrr, . Fax: 5o&3662e54
lntheu.K.: R&R sofrlvare Limited viking House, Denmark street, Maidenhead, Berkshire sL6 7yt.rel44(o)62a788181 .Fax:44 (o)62a7aa1a2
@ 1993 coM.tric Data systems, hc . All prDdEt narn€s a.e EademadG of thei. Bpecth/e o*rEB.
.
PARADOX BASICS

Forma
Manipulate
. obiectPAL
. Tcur€ors
. Ulobjects
Your Data
on the form also has properties and each object's properties
By Tim Colling and Rick Kligman
are itB data-not just ttble data, but also data about the
object. An object's properties include its size, position, the
r r anioulatirg data is one ofthe mo8t important tasks t Ll" it'" lir,k"d to, oU5ects it contains, and many others too
nr:merous to list. Thiiarticle focuses on the manipulation of
[ll:l*""1"*'$'ffi "xl'*1f ff",'*'"'T*1"d"ff ]] the table ilata and the methods uaed for such manipulation'
I UI it i;d; paradox for !!-indows'
u"ioe oujectpe'L, There are several t,?€s of methods in a UlObject that can
'orogramning language. do something with tbe data in a table. I classi$ them as
Thie most cimmon way to manipulat€ dats in Paradox for informational, movement, action, and processing methods.
uaction" that can also afrect most
Windows iB through forms. Parador providee a simple, yet There's also a method called
powerfirl form genirator. You create a form and attach tableo ofthe actions described in the following discussion, albeit with
io it. It fle"ibti because you caD iDsert a fielil tom a table in more work on your part. The actiou method takes a constant
any form " you waat and change its qualities, such aa gize or that is oft€n similar in wording to the corresponding specific
color. method name.
Once vouVe defined a form, you can manage table data from
*ithio it it several ways, Tbe principal approaches are to U.G rclervcd ObiectPAL vatiablcs to
manioulate either the UlObjects on the form or TCursors r.prcaent UlObicct.
attacled to tables ou the form. We'll discuss both choices and When a method is called, there may be many fitrerent
offer advice on when to use each. You'll find code examples in UlObjects involved. Several ofthen may be relerred to Yia the
table l. ObjeciPAL variables Self, Subject, Active and Container. An-
other, the Target, may be determiaed by using the getTarget0
Tap the powet ol tho data modol method.
The Paradox form generator, at its core, uses the data model,
one of many erciting features in Paradox for Windows.
. Sell-the object to which the method belongs.
Select thi table oi tables you wart to manipulate. If you . Sublect-the object which is the one the method should
select more than one table, you can optionally set up relation- operate upon.
shiDs between tables that Paradox will theu maintain for you . Target-the object which received the current event.
in tire form. The relationships can be two or more levels deep-
one-ta-one, one-to-many, one-to-maly-to-many, etc. To desig- o Actlve-the currently active object, the last object to receive
aate joins Letween tables, draw a line between the two tables a moveTo. Normally, the object will be highlighted.
where the relationship resides. Paradox will try to det€rniue . Container-the object that contains self.
the lhks for you by mitching the first fields. Ifthe tables have
The advantage of using these variablee instead of speciEc
the salre field name and field tlae, the program will make the
object uames ii that it carBes your code to be generic and
liak. If Paradox can't make the lin} automatically, youll be reueable, since the object that is referred to i8 determined at
pronpted to Belect the two or more fields that comprise the
runtime.
liot.
Ifyou're designing a new form, Paradox then cooes up with lnformational methods
a best guess for the design layout, that is, how the form's
tables are to be laid out. Ifyoute set up a one-to-many link, Informational methods involve reporting the state of a
atl the fields of the Easter table will be displayed, and the UlObject in respect to the table. The informational methods
detail table will be contained in a tableframe. A tableframe is are:
a spreadsheet-like control with rows anal columns to show atFirst atLast
marry fields and records. You can adjust the desiga layout if isEdit isEmPtY
-you don't like what Paradox proposes. lockstatus recordstatus
Finally, finish the form by making it more aesthetically nFields nKeyFields
pleasing and saving lt. Now a user will be able to bring up the nRacords
lorm ant move through the master records, and Paradox will All except lo€kstatus and recordStatus work the same way:
automatically maintain the detail rccords.
Call the method witlt no paraDeters and it returns a logical
fanipulate data yia the form's Ulobiects value. IockStatus and recordStatua are diferent in that they
take a const String parameter for the tlTe oflock you're asking
Everything on ttre form is an object ofthe UlObject type. All
about. The logical value returned will be Tlue or False, which
ofthe objects that you manage in ObjectPAL belong to one of
is why I call these informational.
the varioua object typee defined for Paradox, ard UlObject is
one ofthose t5rpes. An object s tyae defines its default behaYior
in that t,?e's "built-in methods.' UlObject provides us with llovcment methods
methode to give functionslity to the object, and some ofthese Movement methods involve moving around a table. The
methode will madpulate the data in the object. Each object movement methoda are:

,I74 DATA BASED ADVISOB/MAY 1993


Break out the formalware...
It's time to get Class(y), w
It's a formal invitation. Our nen. r'ersion of Clnsshl extends the
horizon tbr Clipper programming, makin (I tt eris ier than ever to
ll
write reusable , maintainable corie. And Cl n s s 0i intt grates seallt-
lesslv into Clipper 5.01, ailor,r'in g user-createrl classes kr tre treated
just like Clipper s existing classes. C/rrss(y) pror'ides true
inheritance,
including inheri tance from Cli
*re1's TBrorvse, TBColumn, Get and
Error classes. Clnss(y) objects can even be saved to and loatled fronr
disk using G anahl Softlvare's FlexFile libr anr.

otf eiif 4Tf'n1 :. "r'1-u

c*
Cl a s s (y) 2,fr
powerful new feafures including:
r Metaclass support {great for data dictionaries)
-r Ability to treat built-in data types as obiects
,r Type checking of instance vatiables
r Support for multiple inheritance
r System-defined object class
,r Enhanced object inspector
r Automatic delegation . , . and morel
Class(y) has become the standard {or class
creation in Clipper, "Classe) easily exceeded 0 ecTech.Inc.
all my expectations. It supports seiious obiect- 1.800-8-CLASSY
oriented programming and provides some'
leafures not available in other OOP languages.',*
* Dave
Duchesneau, Data Based Arhisor,Feb.g,
R'S

I r F

wdkd mt fd Wi.d* Complete dienl seder


dsLomenloo o'b-. rou o deelop o"d dmlq sirgle
\o d*lope opnl''oiont
I CL'PPEN CONP. UPAI
-re,. \EnddloneoPp Lodo.s o"d
k' ueurh rhe Ner.'o* seffi Edihonlrcld Fpor,elv)
lncludes: Single u*. dorobo* rrer lbo$ I 6&32 blr
6 2l ,lrrxEr
3
v.B'dr, ACME dPPli<otis de'.loPm6r svsremj
Embedded soUC p,€pr4€sbr SOL [bones
u'l S 395 worchoue $282

$
6 4
ULII
'DII
Atx oRlvEn
5 FUNCKY II
PPO

6 ARUTTPFTS'T UBAANY
, CIASSY
A FLEXDI'E
O AEI',,iPFISH REPOf,TER
to MrcPosoFf accEss

*
tun.ky ll le14'fu{hon librc', i5 @hPoibl' *:A rire U
@mo,hBo.d E rhe wlds hod.s o& on Lbroo lr is NEWPRO JcE cO {,lllJl.tlcArPr.r5 lCol,lIJ
po.ioble r. C ond Aim, *
@e v@ lsm fie fundioM e Eosy&e + Do€loper........ $674 GrenloolComm t6o.v . .... . . .... 27o
@ cn !e $m witfi oiy lons!o!€. Funtids or' MS ,e6.. ....... . .. . . ... G*le{v'Momm ... .... ..309
p.@id.d lor ,,duoll/ *er/ €gffit of Prcgromm n9' Sdnd E^plosion.. ...
vid@ i/o . rcur iuppor, {,le o(@ kerterd stctus, & wd.om mt Iq wmd(M .287 c45E PROGeqfis
ek ftlldes o c@de{e lnlobl€ ediic' Oaumntltion
. *",1d .l"s wiri o"er I 800 fullv -o.L nq e,omples jat.a EoSIC-ASE Po........ ...... 1521
As,V AND IOdJ P*l'ro co*... .----- ..- . .. . . ...169
t to* indude he utliV {or librory mnog4ent.
Lisl s395 Woehole 5it9! 386 oosE dsndq $/ PiE oP 5455
Additcge Oisssbler . .... .275 ADlol{s
M@oA*mbld....... ..... ..t l4
So!@r w/ Pe!.des .. . . ..155
Anfu|Is .. ............ .... $249
R&RCodeGenmtt. - 149
Msr ut2.... ......... . ... . .... -349

MS Bcic P@ Dev q6bms 7 zehoryv5.01 ........ ..459


Vk@l Bosic . ....... .... . . . t35
CA{61iar...................... cdml@|s.. ... .. .... . $239
sih€lc|ipsrcS... ..... ._269
r"b!"tn/.. ......-- - - ..189
w<s
a iIE,5:A De? Guide / Disl . $4O 95 volk/ie............... . $299
Urctp.... .......
? at --- ...... .2495 .

"-^"lCLiod
visrc lner{ce irogrcmmmg Rer.. 39.00
P,@romm'nq ln CL,pFr 5 */disl. 4o.95 cl@r + ..... .. .... ...
r<
r Us'nqMSDO550 .. ---22e5 dANAIYST GOID .,,...
I{oVUB 2.o p.@id6lfie esien ond mosr powerlul irterJ"'"
io Ndell Nawore lor CliPPer ProgrommeB. llnique 1!
Clppe. 5 UDC5 ro uloteNelwor'
i5 CAND C+r
EosyF|ow...............

DGEv4.1 .................
249

NOVLTB E ,1! ser o{


,dlins. w fi€r ,n C onl asM i€ enft. Lhrori .or be Bonond C++ w/ App. Fom . ...
.. i.oq ,\EWI Fllpper \6.0.. .
* old for ZERO orerhad. Librorv comip es over 350 rn rvraro*oe Hiqh C .... ..... 439 GFORCE...................
N\S C/C+ + 17.0 ..... ........ . 299 si[ePoi.|...............
tuicions 6nd inclld.s o Ech .e{ monuol o1550 Pose5' jl ..-.- -- -. -. .
MS C/C++ v7.O UPG .. . . . . . .... . . . 134 ViMllnbio.€.... .....
tlrt$299 worch@e $199!
MS Ouicl C/wN . ...... .]39
Turboc++.... ............ ............... 139 -----
coklDB) .. ......
word c 386v9.0... ........... ....... 349 Clipwl(s.... ....
Doi. Compe*'@ Ub
ZorEhC++......... ....... . ...... . . . . ..549
FUNCIy11................
Glmplish ub............
co fillll{lcAl.o,,ls Grump{ish li€.u ... . .

*u *,t.--'.,.,-.-..-....................$,* lnd6x Dis ......... .....


........ .......189
. fleiib.... ...... ....... ...
C AMKh r',1ordqsr ...
......... . .. .....249 Sup.r Ub Po Nerwo*
Es;holcmm;ioiims

TTITPATHY
is Po$rdll
Coll otrr Poarer FAX Syslvn L, S"t l[* knor/edge you
IGleeortry 6 A€ dt prcdud I ould u* for siol

I
o*er w rorol conrrol o'e. rle Fnol pod I li'lude5 o need. Simply coll 6O2 / 443{518 ond enter the PcM/er
J";* tu.ttms lor Urrir storu' ond conxol, kons{er
"{
Droi..ol!. N5 l6450ond 16550 suPpodond ercr FAX number thot oPPeors next to the product listing.
io(*rion Doro ronsmilioi is os rmple os o rnqle
fundion coll Doro r(eption 6 suppo*ed 'n tlre Poarer FAX will imnrediordY coll lour hx mochine ond
dilturenr modes. No o6er comm [b.ory hos 6€ he inlormotion to Yor.r!
send
flExobil,ry or p&!. +Et ElePoihy d@5
u( $219 Wo.ehous€ $l6tl
Pro ramrner's

'5

GE@EI@il J@il chodBuid(v8... .... $r 3e


GX TE*V2 0,,,,.
i o+E Doi,boe^B ,,,., |79
,',,,,175
winD8bn fte {irt srM d.sig.r qpe,it for
...
Ciipper 5.0 prcsr.mmeE I undeBto.ds tBrowse wn/Dows
oid how io iniegrcre odd-on librcries like Funcky
ond Gruhplish $e (ren po,nre. ii obier orienr,eJ
oid giv€s cohplete conhol og ftry osp<r of
]IM
^lebWNOOW,/PtUS

tui,fto . ........... . . ,................ . ......$369


dBFASlAVind@!............................. 3!9
(d,sJ obi<b. chd boxes, rodio bunons,
lncludes A EZ 1nsiol1..
lnsrEll
................................... 3229
Pro ..........................................279
C-$t:W..........................................435
CI'5E:W ColP ... ... ............. . ............. 835
rrolling dotes ond memor. Code generotion is lnsioll shie|d............................... ..........359 Glophic Ssw SDK........................... 239
ieoploie drive. for roll ),our M
M
rEmplotes
MEWE1..,,.,.,,,,. 2t9
List $199 woehouse $99! MS MuhinEdio SDK........ ................359
M5 Wind* DDK v3.t ..... ... ..... . . ... 339
Binke,2.0 . $261 MS Windtr SDK v3.l ......................275
.335 Asymehix Muhimedio T6*be[ . .......... 589
R'ltin[+.... ..359 Non6 DeshoP/Wind% ............I09

@tsDEE@,
ooPs
Eil
&ief ................ .............
Obi*tVirion ...................................109
PlMrlibAV. ... ............... .
Relia.
smo
259
.............. . ....... ......... . ...... . ...92
hol[ windoE. ................... . ... 28!
clo$ M.........................................$l4e Ep6i16........................ C.JEBASE V ,,
Slq Chs.-.................................... 159 66he w/ MlhiEdir Po .. Rog@ w@ T@ s h++ Vyc
Yiewltv2.l0 byOUEClre . ......... 129 MKS\1........ Ob ed P,oh$ orcl C++ .. CITARANCE
Mlhitdit v6.0 Zirc liboryY3.0 Engi8..........
dBLlG..-.............. ..
................t145 aEdrTsR...... zApp D6,/Win VSc........ A.10{ .4.0 PD.... ... ............. ... . ...$260.@
dCUPv2.5 289 alint.............................................179 m
Dr. Swilrh ASE............................ 144
dsolvlsePro.......... ......195
Erpen l_Hp................ ...................99
3@ otHf, tAl,6UA@S
B.by Diiw....... ... ... . . ....127.00
Coue Po....................................... 99.95
Chonb{ib€r.............. .
dBstToo1box................................206.00
...e11
tle*h.......................................... 125
oeio/l) ............ ... . . ................. l4e lt9 Muhisop. DB. $8............ 0C1N61............. . ......................99.95
MS Cohol v4.5..................
Dd€ic...........................................99.95
dQsy...-.....................................$169 Dr. Hob lV Upsode.......................38.0o
Ul Fq,h DOS.....................
Gwptuh R6F..rd 0d....................269 R&lo COBOT ...... td lor w]idM...............................199.00
R&R Repodv5.0..............................159
EsniiolGrophic w/S( v3.0..... .....349 95

F6hwin.....................................$175
CU A.@. .............................. . . .249
Pr@isi@:Wiidw.........................2a,4
EU $529
r@@il
BorCo&Ijbo,y........
l.strll Shiold........... ....
MS wdk v2.O ... . ........
S.dmoge......................................... 125 DESOvi* 386 Voemm
MS Forrcn ............. ..299 MuhiEdir !t€......,,.,,.......
aEMM 386 ..... . ....... . ..

@ES,EE@, ..559 NeMo{ Colls/Fd


srsrem

cil
oPT.ASM.....................
PA$AL rc lnrY40.....
Cli.{st 5.2 ... .. ... ..................... . . . ....475 rcU OS/2 v4O........... ,',,,,,',',,,,,,,99,95
ClipperCdpeioliE Upgode.. .......... . 199 Bo.r.nd Poel VObi .... . .......... ... ...$3 I 8 rc{wik Po^dadGk vl 04 ,,',',,,',,,',',1,1,95
d&AS€ tV 1.5.................................... 489 Will9 Cdrcnds..........
Sound Bheer Po.............
obi{t Pro{€si@ol Poso|.....................149 Pior1op286........... ...............395.00
FoxPoOisl. Kit..........................,,.,....co|| IopozWndM........................ .. 139
Fl l7 Sehh................... Pot ubodon................. ,,,,,.,,,,,,, 121,95
PorcdoxEnsimv3.O.... .. -...............214 0
Uhim Uidelwld....-.....
AEwltulh. Pdsl v7 ] m QA+/FE Tch ... . ............. ,' ,'",'
.3!9 00

Eil
3860EB11G........... .... $ r55
Shedo.t HolB {cD RoMl
Gun+ip 2000...................
1u6o PoG bl windes vl.5 .............I l9
ludo P@E$i6ol............................... 109
Ogoe Repoi! .......... . . .. ,',',',',',',',,'49'95
Oulck n FqWndM....... .,',', ,',,,',,,,39'@
RT
sek
!nk+......................... ...............299.00
11............................ ,,,,,,,,,,,,,,,149.95
Tubo Debls€s & reL . . 109 IEYI SCRfENS
so{tks........................... '.,.,.,.,',.,',3]0,@
Muhr'&op. Win Deb!996

ON@J
. .249
Gtr8@gil Spinrie .............. . .......... . .',.,',.,.,',','49.00
Tre Bd5ic 3 0.................. ,,', , ,,, ,',',,69.@
Wqdpe/€cr 6 Wind@s ...............232.00

Don Bricklins DEMO l, v3.0......


nsront Repldy Pro .... .. ...
Sohdemo.... . ...... ...
BIACKHAWK dGT , ,
GRA'/DRIVE AUS DEV
G.ophiGtvloi! Pro
GXEfiedsvz.O....................
$2r 9

Em@r
MKS
'mB
RCS ....................
U*rv4 12 . . .....
Singb
$209
I 19

r7
Progtemmerc Watehovse
lhe Progrummets Saperslore!
l -8(o(o-323-r 80!g
\ WORTD HEADGIUARIERS
8283 N. Hoyden Rood, Surte 195
CANADIAN OFFICE
1 /6 St. George Street
Scottc.lalc A7 85?58 Toronio, ON, CANADA M5R 2M7
(602) d43 05S0/FAX {602) 4/3-A659 920 3794/FAX 1'416.920.9856
Power FAX (602) 443-0518 ^16TOLL FREE 1800) 363, 2r BB

.4, a. All Pri(es ond Offers Subied ro Chonge Wirhour Nori.e


PARADOX BASICS

end home skip


. postR€cord
locate locateNext locatePrior . unlockRecord
localePattern locatePattem Next locate None of the action methods take parameters or return a
PatternPrior moveToRec moveToRecordNo logical value. edit puts the table into edit mode. Unlike Para-
nextRecord priorRecord dox DOS, where you have edit anil coedit mode, Paradox for
Windows only has edit mode, which is actually the same aa
End, home, nextRecord, and PriorRecord take no parame- r-'ocdil mode in DOS.
ters ard move you as you'd expect in the table- MoveToRecNo
and moveToRecord both take a record number and move ta Putting a Ulobject on a form into edit mode doesn't put aIIy
that record in the table. moveToRecord can also take a TCur- other form into edit mode. In Paradox for Windows, each form
sor as a paramet€r and moves to the record the TCursor is a separate entity. endEdit closes out the editingsession and
contains. The locate set of methods take one of two sets of attempts to post any record that's in the middle of being
paramet€rs. The first set is field number and field contents, edited. cancelEdit closes the edit session and won't save any
and the seconcl is field name and field contents. Both sets can record in the middle ofbeing edit€d. postRecord att€mpts t,o
be repeat€d within a single locat€ method (for example, when post the record being edited and won't end the edit session.
you're locating on multiple field criteria but can't intermix the lockRecoril and unlockBecord lock and unlock the current
two ilr the same method call). skip takes the number ofrecords record.
you want to move forward or backward from your current
position in the table. Processing methods
Processing methods involve changing the data in a table.
Action methods The processing methods are:
Action methods involve performing an action against a table . deleteBecoril
that may or may not change data. In this context, you should o empW
not confuse what we're calling *action methods" and the . insertRecord
specific method called "action". The action methods are: o insertAfterRecord
o edit . insertBeforeRecord
. cancelEdit None of these methods take parameters or return a logical
o endEdit value. ileleteRecord deletes the current record. empty deletes
o lockRecord all records from the table. continued

daf PAINLESS
Database Graphics Toolkit (dGu) adds sophisticated
PICTURES! dOT In use in 49 states and 42 foreign countries, dcf is fast,
imaging in 3 easy steps: I ) add a field to your database powerful, reliable, and flexible it works with,10
record; 2) add a line to your entry scrceni and 3) RUNj different languages and databases so farl

llHOTO projects one or more


@r@
miniaturized images over a text
a/t,af,r,('. prtnls co lor
{i,oli's tbalth & ndcquet}nll Cl images from paint programs,
screen, in any of six windolv First Last presentation packages. or our
formats producesphoto- tialE: Cnrol tl. 6!.en own dGI. This Lasflrax twin
graphic quality on any VGA. SlEet no:1?27 finernd lrail
supports HP PaintJets or color
6dibs: St.atl6or€ Pe 190101
CiE tate zn DeskJets- Canon's BJC 800
Ef,llIBfT resizes images to tk]',e Plntct ?l?/341 7l?3 BubbleJet, or any color
fit your screen, or "pans" Status: A - Acti'.e PostScript printer.
oveGize images using the entire Datt lotiedt E/19/91
video buffer state-of-the-art E\pirc lalet 1A3r/93
- . Cheti nll etpiration dates .
anti-aliasing lets you read a full Interactive "working demos"
page oftext on any VGA.
available: get "DBGRFX.ZIP"
and " CLRTRX. ZIP" from
-,-itk, fi-t PrtntS tne At l zV dao>, CompuServe (GO DBA, Iibrary
screen to your laser printer. in 4: Windows & Graphics), or any
either portrait or landscape of several BBS's. like Clarion
mode produces presen- < Iop ) <hio) Ctxt > < lot ) <Iid ) <Brc> qrlt ) Tech Journal or Paradox
-
tation quality hard copy from Informant.
virtually any screen.

dCI Unlimited for networks and developers is priced at


--'-'
Unrotou.hed CRT disolev
ColrTrax Unlimiled for nelworks and developers is
$595.00 (up to 1000 copies ROYALTY-FREE) and dGT $199.00 (up to 1000 copies ROYALTY-FREE) and
Single U\er is ju.l $295.00. both plus shipping. CollTrax Single User is $99.00, both plus shipping.

NEW! Version 3.10! Blackhawk Data Corporation


7234 W. North Ave, Suite 411
r.-*il
dGT now handles 24-bit truecolor images and Postscript printers, aDlrsoR I
q:=:::--::l
and suppons Ioreign-language drivers and other programs that Elmwood Park, lllinois 60635
remap the texlscreen character setl 708/453-9590 Fax:708/453-9005 Ntrj*L/
178 DATA BASED ADVISORI\,AY 1993
is the
true o ect
a

ectView?
Rapid development of clienVserver control over inserts, updates and
applications. Unlimited power. No queries lets you tweak even the
clienVserver package should most complex transaction-
give you less. And none ORAGLE intensive application.
gives you more than .* Depend on
OblectView from Knowledgeware
Knowledgewareo. for proven tools to
!l
Only Windowsr"- turbocharge your

dBnse
based ObiectView move to client/
combines power server. Our
and speed with unequalled
extraordinary ease E
experience and
of use, enabling S QL Serv expertise back you
rapid development with comprehen-
of robust applications sive consulting,
that provide point-and- training and technical
click access to SOL and support services.
non-SQL databases.
Obiectview gives you a choice
f Israel Littman,
of a powerful BASIC-like 4cL manager of management
I
or C or C++. Speed from proto- analysis for Con Edison's
Central Engineering
types to finished applications Department, used
without rebuilds. Plus, you have ObiectViewto develop
a managemenVengineer
an interactive code debugger and
ing information system.
support for tracing The application, which accesses budget, resource,
proiect and performance data, helps managers
communications between the
immediately identify exceptions before they turn
client and server. Push button into maiorproblems.
builds of business graphs.
Spreadsheet objects with ExcelrM-
Iike capabilities. g Knowledge$Tare'
tu r€doawm reanda OqdM*
Kml€dsewaE a,e ,qd.,€d rrad.ma*s ol
Still not perfect? Complete odc.l€&T.rrs b.ro! @ rFe,r€sMre
rErd.ts. 01993 Ktu*1€dsewac Colp. 5I nOtu reseru€d

Knowledgeware offers FREE Oblectvrew and Flashpoint seminars .rnd FREE demo diskettes. Call us roday ar 1800)338,4130 or {404123 t,8575
PARADOX BASICS

called ..customer.',
Tablg 1-samplg codg Manipulation ol customer table rocord dlsplayed in a lo]m ulob|oct

By Ulobiect Sy UObi.cl By Tcu6or


Via dlrDct netlodg via aclion method
actiY6}lome0 aarive.aclion{dataB€gin) val tc tcursor erdYar
1. Mov6 to firsl record
tc.open(active.tablename)
lc.homeo
active.movoToReco.d(tc)
aclive.resync{tc)
tc.

actrve,end0 active.actbn (daiaEnd vat lc tcltlsor €ncl\,el


2. Move lo last record tc.open(adive.lablenam6)
tc.end0
active.moveToRoeord(lc)
active.Gsync{c)

active.nextReco.do aclive.action(dataNextRecod) var lc tculsor endval


3, Move to nex recold
tc.attach(acliv€)
rc.nextRecord0
aclive.moveToRecord(tc)
active.resynqb)

active.action (dahPdorRecod) v,rr lc tcrnsor erd\rar


4. Move to pdor rscord aclive.pdorBecordo
tc.attach(activo)
tc.ptufiecold0
aclive.movsToRecod(tc)
aclive-rosync(tc)
lc-

customer.home0 var tc lcuGor end\rar


5. Chang€ lcusiomer-namel
.ustomeredito tc.open( 'cuslome/ )
!o upper case.
numberToDo = cusiomer. nRecords0 tc.odno
for countertom 1lo scan tc:
numberToDo tcname = tomat( 'cu" tc.name )
name.value = lormal( endscan
'cu',name,value ) tc.endEdito
cuslom€tskrp(1) tc.cbseo
endFor
customerendEdito

The iasert methods are a bit tricky: insertAfterRecord and type. You'd use a TCurBor rather tha! a UlObject in cases like
insertBeforeR€cord insert a blank record before or after the these:
current record-that part's pretty obvious. But insertRecold .
When speed i8 an issue.
inserts a blanl record before the current recoral generally-
Example: Wll,en you need to iterate through every record to
but not always. You have three choice6 that come into play in do some sort of processilg. The screen redraws while you go
two circuEstances:
through each record are very costly in performance t€rms.
o The first is ia an unkeyed table. The Before/A.fter methods For example, in the sample "Customer" table that comes
give you total control over where the record will appar. In with Paradox for Windows, containing 56 records, changing
a keyed table it won't matter because the record will 'fly the case of the Customer Name fie1d took only one second to
awa/ once it's posted. This means the record will automat- carry out with a TCursor approach, while the Ulobject ap-
ically be moved to it's correct position in the file according proaches each required over ten seconds to do the same job.
to its key value, and tJre cursor will move to the record o When the needed table isn't included in the data model.
immediately after the one that you vrere editiDg.
There may be times when you need to read data from a table
o ltre second circumstance is in a detail table. If your intcn-
you don't wish to include in the data model. Doing so with a
tioa is to add detail records to the elrd ofthe set, moving to TCursor is simpler than trying to do so with a UlObject.
the bottom aDd usitg iDsertAfterBecord places the record
ia the correct position. This latter method prevents the Resyncing UlObiects w:th TGursors
record from flying away when post€d, saving some time in
not having to repaiat the detail table, Ifyou've moved to a UlObject with a movetoRecord(tcursor)
method, then you must resync0 the UlObject to the tcursor
How to,manipulatd data with Tcursors as well, in order for Parailox to display the linkiag data
There's an alternative to using UlObject methods to ma- correctly. For examples, see the code in the TCursor column
nipulat€ table data on a form---+a11ed a TCursor. A TCursor in table 1.
iB a pointer to data in a table, which enables you to manipulat€
data at tbree levels: table, record, and field. It's not necessary Toursor scoping lules
to display the table when you use a TCursor. Ifyou attach a TCursor to a Ulobject thats involved in a
Given a choice of using a UlObject method or a TCursor, one-to-one linl between two tables-for example a single
usually you'd probably choose the UlObject. For the most part, tableframe-the TCursor will only get the Etructure and data
the metfiods available for manipulating data with the TCur- of the mast€r table. If you attach a TCursor to a UlObject
sor tl/pe are similar to those available through the Lllobject involved in a one-to-many link-such as a multi-record object

180 DATA BASED AOVISOF/MAY 1993


PARADOX BASICS

Paradox 4.0 Accounting


that contains the master table arrd a tableframe that contains NFORIVANI
Beceivables o Payables . lnuenlory
the detail table-and you're attached to the master table, the
TCursor will only get master table structure and data. Ifyou General Ledger. Financial Reportel
attach the Tcursor to the detail table-the tableframe-the
TCursor will only get the structure and data ofthe detail set. 17/ Sales 0rders. Purchase Ordels
Job Costing. Bill 0l Materials
The TCursor will only be aware ofthe data the user can aee
(the linked detail records), not the rest ofthe table.
Superior accounting functionality and the effective
ln conclusion application of Paradox technology have made
Paradox for Windows provides ObjectPAL programs with
Adapta the leader in Paradox accounting since 1987.
access to table data via both UlObjects and TCursors. Gener- AdaptaAccounts 4.0 is easy to adapt to your needs
ally, you'll find it simpler to use the UlObjects t,o manipulate and those of your clients. And these field-proven
table data, but when speed or unlimited access is needed, you modules are easy to integrate with your applications
may be bett€r offresorting to Tcursors. Either way, you'll be
able to get the job done. Fully supported award-winning, high-performance
single and multi-user versions with full PAL source
Tim Colling is the Chalrman ol Shared Logic, lnc., a Paradox and code available. Demo versions, Reseller pricing and
C++ consultlng, programming, and training tlrm ln San Diego, CA. Developer's Licenses available. Why not work with
He'sthgChairmanoltheSoulhern CalirornlaParadoxUserscroup,
a member ol the 1993 Borland Database Conlerence Advisory the best and call us today!
Board, and a sysop lor Borland's Parsdor support torum on
Compuserve. Ho can be reached at (619) 487-4545 or on Adapta Software Inc.
CompuSsrvs 70007,4655 or MCt Mait(3616295).
A/6,+4A (504) 6s8-8484
Fax (604) 658-2108
Rlck Kllgman ls a Ssnior Stalf Programmer at Shared Logic, lnc,
He's lhe lound9l and Presidsnt ol the San Diego C++ Users Group
4608 Cliffwood Place . Victoria . BC . Canada V8Y 185
and a sysop ror Borland's C++ supponlorum on Compussrve. You
Distributors: Australia
2 923 2500; Nerv Zealand 9 521 4058
can reach him at (619) 497{545 or on Compussrv€ 75300,2530.0
U.K. End-User 081-788 1454; U.K. Reseller 0704 822254
Paradox is a reSistered trademark oI Borland Intcrnational,ln..

Ctferrss.l5bts.pl
ffirl"tleinw{reot
,xfudp lladlarg;!
CuAccess/s, the originalCommon User Access interface tool kit for
Clippel allows developers to quickly& ensily produce applications U
with I0CD6SpwcuA-compliant, Windowslike user interhces,
including pulldown menus, moveable and resizable windows with c.t.r.ry: I cou[..r 4 So,tEr. D.velop6 ]
ltn. (l,f): I Frc.dN 1, IH.lk ]
check boxes, radio buttons, Iist and text boxes with scroll bars, etc. Co.r.ny: I Cu.toD llicE Conccpl.,lnc I
rdar...: I 12 00 t lli. Awnu. ]
All objects have automatic mouse & keyboard suppon, inrluding
cilr, sl, riD: Ir*lam ], [xJ] [07410 ]
P[.n. r's: [ [2m] 703-1404 F.r: [710] 251-5774 ]
hot"keys and context-sensitive help, with minimal coding-as rtrle S.lut.tiotr: I l,lr. 1

de rl,li.. - Iot..-
os o sihgle lirg of W dialql The 5.01 veGion boasts grcater (.)M.1. ( ) r.h.l.
speed, suppon for code blocla, and additional CUA objects such as conrain lD ro 6ar ol lr.. l;m dar. i
III li.rri.d Yo{ rd coDy. cut I F.r.l,on I!
spjn-buttons, drotrdown lists and combination boxes. vl othe,,eco,d. m!! !'.id.. addt.onhl
7I 'n
Use our Diaiog Painterto design dialogs, then use function calls
'4,! gr -::l-r 9r
from our libary to execlte them. Barely three dozen functions to
ham; complex dialogs can be executed with one line ofcodd Eus,
we use a datadriven technology that means substantial changes
can be made to menus and scrcens, without recompilingl

IIEIITIES: &,,&xutcFFEEfi,.]trff{rdt,.rtu
. HS PriltEr #*n s tsg,rrrc Micro Concepts Inc.
. furdirn l.ti?.y . ftrls ar alry PC, any neou*. ("uno^
.llbtarGilesda& . (}rly $2t15!
. SanpS +pbatn . 30dav ll-reyhad( gurfltre
ulfi surce cd . *$itsSperltuiltr'87 85d, 1?(E Fh Atrl. . Fi,lanr, Ml 07410
64fq lbd dslc IXIS 3.0 e tifr 2t1-7(814{Yl c Fax 7182576774

DATA BASED ADVISOFYMAY 1993 181


I
FOLD HERE
JOIN ATO B ANDGET TIIE FULL P.CTURE

ll \ WE NEYERDO
THINGS IN HALVES.,... \l
DO YOU ?

RDDKit is...
... a set of replaceable .
database driver layers for
CA-Clipper 5 to enhance
all other RDDs. With
-rr,\tr RDDKit your program-
ming tasks become simple,
f,R qc€F 5 yet powedul.

RDDKit CONSISTS OF Imagine securing your


database from casual snoopers
ALL THESE RDDS
without changing source code.
CPYPT RDD N,IENIO RDt)
Add encryption/decryption on your Imagine giuirg your database The "memo replacer" programs
datafiles seamlessly. Protect your the ability to fire off other func- dBxstore and FlexFile can be
tions while being accessed. simplified by the use of this RDD.
daubase from prying eyes. This
RDD writes record by record Ilmagine using 4 bytes to store Requires dBxStore/FlexFile.
encrypted data into a normal
database.
a number as big as TRIGGER RDD
2,14'7,483,648 or 8 bytes to Similar to triggers on DBMS' such as
store numbers as big as 10"308.
BINARY RDD SQLServer, Oracle, Informix etc.
Binary solves two programming Clipper developers can now specify a
problems. The space taken up by UDF to be "fired" whenever an
large numbers in a database and the operation is to occur on the datafile.
ALL THESE
lack of huge number support in
RDDsFORONLY CATALOG RDD
Clipper.
$179.00 This RDD is used to transparently
.IOURNAL RDD To order call add RDD technology into an
Have you never had to log Stro-Ware Inc application WITHOUT changing one
transactions in a database. for 12000 Pico Blvd. Ste 203 line of source code (or even
security, roll forward, or audit trail Los Angeles, CA 90O64 re-compiling the application).
Tel: +(310) 575- 1932
purposes ? Now you can.
Fax: +(310) 575-8992

THE CLIPPER SYNTAX IS THE SAME . IT 15 SO EASY TO I]SE!


USE <cDataFilz> VIA "Binory". USE <cDataFile> WA "Crypt" NEW

Cop,"ticht 1992-199-t STROLEVCO (PTv) LTD, Alt ti9hts resened


All rodu.:t,tdnrcs referrell herei dre trademarks ofth?ir rcspectire conpanies.

fOI,D HERE
t v v
DB Gonnections
Product Support Directort/
The following database companies currently offer information
and support on CompuServe.

Company P?oduct Forum and section


Ciipword, Spellcrip, Zipcodeclip OBAOVISOF (6 Lbs. Adlons. T@rs)
PCVENE {rs-Alpha Sotware)
OBAOVISOF (6 Libs, Addss, Tools)
DBADVISOFI (2 Darabase Products)
R&8, FUNCky lraining OBADVISOP { 10 Cons!iina/Bushess)
Dr. Swilcn'ASE DBADVISOR (6 Llbs Addons. Toors)
OBADVTSOF (4 windows & Graphics)
BOBOB
dSASE OBASE
Bo{lowolks Dev. Corp DBAoVISOB (11 CASE & Sotware Enq.)
PopDAF oBADVISOB {6 L'bs. Addons,Iools)
ay1erCoD. DBAOVIrcF (11 CASE a Sotware Enq.)
Cmmon Csts Accounling DBADVTSOR (3 oatabase &ps)
concelnc oala syslehs R&R Flepon Writer,Code Genelalo. OaAOVISOB (6 Lrbs. Addons Toos)
Cllp2+. Sc.ipl+z 9BAOVTSOR (6 Llbs Addons. Tools)
Dalabase Sonware Cons DBADVISOF (9 Nelworks & Hardware)
Dalam Accou.tmg Tools oaaDvlsoR (8 oalabase apps)

EDlor, Elfox, EMlox, Eolox


OBAOVISOR (9 Nelworks & Hardwa.el
OAADVISOB (6 Libs. Addons, Tools)
OAADVISOR (6 Libs Addds, Iools)
Doing the
Fonrm
OBAOVTSOR (3 Xbase P,oducrs)
DaAovrSOB (6 Libs. Addons. Tools)
dcuP OBAOVTSOF (6 Libs, Addons. Toors)
OBAOVISOF (sClrenuServer & SO!)

ShuffIe
EMS dButildy, dBsourco. PAL Ulility OBADVISOB (6 Libs. Addons. Tools)
ESP Advancad OBMASIER DBADVISOB (3 Xbas6 Prcdocrs)
OBADVISOn {6 Ubs, Addds,Ioors)
Enrasensory Soflware Ielepalhy. Postsdipl tib,ary to, DBADVISOR (6 Lrbs, Addss, T@s)

DBAOVlsOn (6 Lbs, Addss, Tools) By Ho y Cove , Sysop


rlen, DOSHelpl. IechH6lp DAADVISOB (6 libs. Addons, Toors)
PFX, PFXplus. Folib. FLEXlieve DBADVEOa (2 Oatabas€ Producls)
Clipwks, Gromplish Lib, GF Menu
6.0mDlish F6roner, fbe Aquarxrm
DBAOVISOF (6 Libs, A.dms, Tools)
lrust as your family may have
SEGUE DBADV'SOF (9 Nelao s & Hardware) ! added a room to your house or
Builder, OenaFile, Dsmolt!, OBADVISOF (6 Libs, Addons, Tmls) I rearranged existing rooms to ac-
! I commodate a new baby, we've
lmagire Sottware Solulions OaAOVISOF (6 Libs. Addons. Tools)
V rearranged the sections and li-
lnte.laco Tech.ologles DBADVEOA (6 Lbs, Addds, Iools)
braries of the Data Based Advisor Fo-
STAGE OaAOVISOF (11 CASE & Soluare Enq )
rum to accommodate our ne\M maga-
OBAOVISOF (2 Dalabase P'oducls) zines. You'll find that the forum's "chat"
EBwidOAF, EBwin/EFx oBAovlSOa (3 xbass Producls) section, None of the Above!, has been
OBADVISOR 12 Databas€ P'oducrs)
ManagEmenl Facl{aro DBADVISOR { 1 1 CASE & Sofiware Ena.)
moved to Section 17, making room for
Cli€a$ s DBADVISOB (2 Darabase Produ.rs) the three new magazines in the sections
A:BASE oBAOVTSOF (2 DaGbase Prcducrs) following Section 73 (Dato Based Adui-
Mi.ro $arch Associal8s OBADVISOA 111 CASE & Software Ena.)
sor), the section to use for talking with
SOL Seryer MSNETWOAKS lhe Data Based. Ad.uisor editors and cus-
DaADVISOF (7 Darabase oOP, C/C++) tomer service. The three magazines ap-
OBACLE OBACLE pear in this order:
P6dom6., PEFZlp. Snapsltol DBADVISOR (8 Dalabee Apps)
Cdhmloors, (lGE. Gelll. GGphic DBAOVISOB {6 Libs. Addons,I@ s) r Section 74-Access Ad,uisor
Servsr , Netlib, Se? You,
Sunshow, Visual lnr6rlace . Section l1-CA-Clipper Aduisor
Ouadbasg SOL. .IOUERY OAADVEOA (5 Cri€nvs€rvs A SOL)
Fevelalio Tenrclogi€s ,dvarcod Rovelalis, OpdlnsEhl REVET IION r Section lB-FoxPro Aduisor
RSA Businsss SoluliMs OaADVISOF (8 Dalabare Apps)
Ge.Sys OAADVISOR (ll CASE a Sotwa€ Eng )
Just as you did before the change,
SBT Corp. DBAOVISOF (s Darabase Apps) you'll continue to post messages regard-
Cod€Bas6, CodeBaic, Cod€ Tlanslalo, DaAovlSOB (6 tibs. AddMs. Iools) ing databases that can't be grouped in
SolDss€n lnremalidal DBADVISOR {6lib6. Addo.s. T0016) the 'Xbase" category in Section 2 (Data-
Exp€n Heb Hypenen Svsrern DBADVISOF (6 t'bs, Addo.ts, Toors)
Ez.lnstall OBAOVISOF {6 Libs, Arldons, Tools)
base Products), and general Xbase ques-
SAYWHAT?, Topa2, Cheolah OBADVISOF (6 Lbs, Addo.s, Tools) tions in Section 3 (Xbase Products).
DBADVTSOB (8 Dabbase Apps) Now, however, you'll post your mes-
DBAOV,SF {6 Libs, Adjo.'s, Tools)
Templalo Garden Soilware Ul2 Dovelopo.s R6leas€ DaADvlSOa (11 CASE A Soltsare Enq.)
sages that focus exclusively on Access,
DBADVISOF {4 wind@s a Graphics)
CA-CIipper, FoxPro, or one of our new
DBADVISOFI {6 Ubs, ddons, Tools} magazines in the new sections.
vxBASE
Wesls B,olhers Sonwa6
OaADVISOF (3 xbas€ Poduels)
OBADVISOB (6 Libs, Addlis, Tools)
If you need technical support on our
DBADVTSOF (11 CASE a Sofeare Eng.)
forum, but you don't know where to post
a message, download VIPLST.TXT from

DATA BASED ADVISOR/MAY 1993 183


DB CONNECTIONS
Expand the power of Cl roith
TM

Library 1 (News & General Info) for the


Fullr ove ar-able answer. \rIPLST.TXT contains a cr-rrn-
Compatible with (, plete list ofthe vendors participating in
all netvorks.
the Vendor Information Program and
all products supported in the Data
Based Advisor Forum. It also indicates
the most appropriate section in which to
Professional CLIPPERTM deaelopment library post messages regarding each product,
and, where applicable, the Vendor Ab-
breviation to include in the subject line
SCREEN,IMAGES OTHERFLINCTIONS ofyour message to expedite communica-
tion with the vendor.
Modify screen images directly; cut, oX_DBSEEK instantly finds the first, Library changes
pasle. copy. read/write rerl and/or al- next, previous or last occurrence of a
record key, regardless ofthe number of
The libraries have been rearranged,
tributes, clear and paint areas, draw
too. The frles that had been in Library 4
boxes, etc.. Create images of any size. matching key values. (Windows & Graphics) have been moved
Create "exploding/imploding" win- cx_BARMENU handles 4-directional into Library 6 (Libs, Addons, Tools).
dows, move them about the screen, matrix-style option selection. Files from Library 2 (Database Prod-
build stunning visual effects with "cur- String functions (format, justify, search, ucts) that focus on Access have been
tains" and "shutters." count, translate. fill. etc.), numeric base moved to Library 14 (MS Access). Files
conversion. bit Iiom Library 2 (Database Products) and
manipulation Library 3 (Xbase products) related ex-
(AND, OR, NOT, clusively to Clipper have been moved to
XOR, etc.) with Library 15 (CA-Clipper), while those
TABLE
IIANDLING
QIIALITY either numeric or
character values-
filesjust for FoxPro have been moved to
Library 16 (MS FoxPro).
system, printer,
Library 1 (News and General Informa-

Try cx DBHANDLE,
performence date, debugging tion) is still the place to find press re-
leases. You'll find technical information,
functions. and
truly the most powerlul much more!
product demos, and utilities in the other
altemative to both
DBEDIT and TBrowse!
VALUE libraries most applicable to each prod-
uct. Source code for Data Based Aduisor
Thoroughly is still in Library 13 (DBA Source Code).
Take a look at just a few documented. In- You can obtain a complete listing offiles
features of cludes a printed manual and a complete
CX DBHANDLE: in the Forum libraries by downloading
onJine guide for Norton GuidesrM. DBAXDL.EXE or DBACAT.EXE from
.'Exploding/Imploding" window option. Library 1. The first is formatted espe-
Effi cient Fogramming techniques
. Index based pal]tialtahle option. shown through numerous examples and cially for TapClS 5.4x, the second for
No conditional indexing or sub-indexing extensively commented code samples. TapCIS 5.3, but you'll find it useful no
is required. Simply pass key value boun- matter how you access CompuServe.
ddries as parameters.
Price: $295 + shipping/handling: $10 air Holly Covell, a DBADVISOR sysop and
. Full control over the colors oithe text, mail, $25 ovemight in USA & Canada, member ol DBA'S technical statf, has con-
fiame, bar, columns, headings, title. $35 intemationaVcotier. US funds. centrated on PC database programming
. Work\ wilh borh darrbase: and arra) s. Visa, MC, Check, COD, PO ( approvea).
since 1987. She can be contacted via Com-
puServe 75300,2031. O
. You can slide the window. resize it. scroll
it, pan it (with lockable display fields). 30-day money-back
. The builFin dyEa4ielcalgb option lets
guarantee.
you instantly zoom-in upon the required Free demo available on request. Talk to the Editors!
key by simply typing one or more of its
characters. Watch the matched characters To qRDER ot lor mon infomatiot: John L. Hawkins,
automatically highlig,hr right in the bar! Editor 75300,575
. Highlight either isllLi4usl-Eekls or ql!
Tel.: (416) 250-5468 Davld Kodama,
Iields across the table. Fax: (416) 250-7562 Managing Editoi 71154,33
. Individual .e//s and even indi!idual chal- BBS: (416) 250-047s Barbara Gole,
acters within cells can have colors based CIienVServer Editor 75300,2401
on anv values or exDressions. Kelly Gillespie,
GG Compu-Systems Client/Server Technical Editor
. All parametels are redefinable (rr-lre-l), 31 St. Paschal Crt., Toronto, 75300,1326
i.e.. unlimited transformations can be Ontario M2M lX6, Canada
applied to the table during its operation. John Mueller,
. All options can be enabled CNE, Technical Editor 75300,576
and disabled Hongkongr Armslrong Systems.
Te : (+852) 334-9220, Fd: (+852) 363-4560 Mlchael Oomlngo,
on-the -J'lt .
Spain: Ayd*ottlnternaclonal. Associatc Editor 70007,6713
. A great deal more! Tel:(+34) 1 653-6974. Fd:(+34) 1 654-fi42
AnnMarle Garcia
Assistant Editor 70007,6712

184 DATA BASED ADVISORA,IAY 1993


Tonolno
I
x D
)

II
Colwsnrxcm
June 11 & 12, 1993 Toronto , Canada
Learn new techniques lnternationally acclaimed
. FoxPro Developers
See what's new in version 2.5
. FoxPro for Windows . Pat Adams
. DDE & OLE . Menacham Bazian
. Screen Builder . Alan Griver
. Report Writer . John Hawkins
. SQL . Val Matison
. Multi-User . Les Pinter
. Event Driven Programming . Lisa Slater
. Data Security and lntegrity . Peter Somers and more...

Two Days of Sessions


Trade Show Only $289 us.
Programmers' Exchange iPeid registration prlor to Aprll 15th.
Valuable Conference Kit $329us othenvlse.

Enrolment limited
Register today: 1-8(X)-268-M1 ext.26
Farc 1.416.8175.2350
Pfesented by:

TiI MArisol\
Cor,,lsu
Gnoup lnc
lrirq Software Strategies
Sponsored by:
FoxPRd DATABAS]D
ADVISIOR
UAGAZINE
ffiAccountingSystems
Microsoft, the Fox logo and Foxgri a.ri
ntM'
@g!*.€d Fidernarks and Windows
|!pi||l"
is a Eadelnerk of ,,tktDaoft Corporaiion
AD\trSOR'
IAGAZ'NE
w &a
-,&-
).""t
GryA q.o"
:::::--_"_
F' :i. '-
!-.Li.-
ts

Find out hou free.


Now you can get all the information and products
you needto implement client-server solutions on
Windows" and NetWue? Today. From Gupta,
the leader in clienlserver database software IIow to prrt
for PC networks.

"hxptahndthrW! yrfdl..tts uu raedtdtn tmplsns$ client-server


cltmt-smu oyplnatnw swussfllly on NetWare
mlWmlows. An!1ne seri.ous abui cli.ent$aur
shtultknk tt Aqtu." towork
onNetWar(e.
Ira Mormw, Vice President, Technical
Planning, Sheamon l€hmal Brothers

SQLBaseg The fastesidatabase


server for PC networks, applicati0r-regishati0n program that eliminates tions. So you can use SQlWindows, Quest, or
Net\lhte, there is n0 faster or more cost-
tr'or the needt0 pay runlime fees upon deployment. other applicati0ns t0 extend client-server
effective server than SQLBase. It delivers throughout your enterprise.
over 100 transactions per second. [t\ easy QuestP Fast answers to
t0 install, configure and administer as a difficult questions. Gupta and Novell put clienbserver
NetWare Loadable Module NLM). And Quest is the easiest and most versatile end-user tn work for you today.
it provides features such as database tool available 0ver halfthe Fortune 500 companies have
scrollable cursors and re[er- under Windows. Use Quest to selected award-winning pmducts from Gupta t0
ential integrity that are critical quickly query data from all build graphical clienlserver applications.
requirements for interactive, popular SQL databases such Whether you're downsizing, upsizing or
graphical applications. as SQLBase, 0RACLE6 and implementing cooperative processing across
DB2. 0nly Quest includes an your enterprise, Cupta and Novell can put
SQlWindows9 The integrated graphical report clienlsewerto work for you today. Call now for
leading graphical writer anyone can use to your free client-server information krt,
development tool. saLwiidos od produce custom hard-copy
Unlinited application-devel' G.,Ita ofi6 o! th2 ptolaats !tu tueil reports. You can even inte- FBEE client - server kit.
of,tphidl l4.{s, SQL ddlbose ffis' @1l
opment power with graphical grate Quest via DDE with
connectiDit! sofruot - to impLenanr Call now l-800-388-4550
PC convenience. That's client4erJ r dirahB. anlicoti.w @ other Windows applications
NetW@ @ Moa6 !d/r dtngris.
ext. D['03
SQLWindows, the graphical such as Excel to produce rii[r
4th-generation language
used by nore
(4GL).
programmers
SQl\{indows
worldwide than
other software t0 create "i[dustrial strength,"
is
any
custom
requires
data-access
no
environnents. And Quest
knowledge of SQL. Gupn DB/o(P[ $t

SQLNetworkI Clienhsemer Puttine PC Clisrt-Sener to Wurk


missionrritical applications under \{indows. 1060 Marsh Road. Merlo Park, CA94025
SQlWindows includes such essentials as a c0mectivity across your ent€rprise. (415) 321 9500, EAX (415) 321 5,1?1, Cupta Europe
'B 628 ,l?81]33
SQLBase, SQLwinddws and Quesl are resistered rademarts
graphical forms painter, an integrated debugger, 0nly SQLNetwork makes all popular SQL and sQlNetwork is a tradena* of Gupta Technologies, lnc.
Nelware is a regislered trade,nari of Noveu, h.. AII olher
acomprehensive report writer and an autonatic databases
-
on mainframes, minis and PC
tradenarb are the propeny ottheir respe.tire holders.
application generator. And we offer a unique networks
-
accessible to Neti{are PC applica- O 1992 Cupta Tech nologies, ltrc Al, richts resehed.

CALLNIO\ /I aoo 3aa 4550


DATA BASED ADYTSOR
, a

LANE ire allordable


LAt{E
tor 6 each for
at no company
cuStoro and rnorc

magazine assumes call


6r0n| or requeat senl

9.Track Tape Drive CodeBat with NEW DPBC Barcode (New!) " My Accountant" lntegrated Accouning
Packages Clipp€I87, s.UFolPro sourcr code hcluded! priDt
Code3g, ht€rleaved 2-of-5 and new USPS rcouired
. C€neral l-€dc€r Accou.Dts Psvable. AccouDts R€-
DPBC bamde {certified by USPS). SuDDo:rr aI ceivable, Ssler & IDvoichg dorder Ertry, h-
PC(ATlr6/486) yTRACK TAPE DBNES IBMrompatible dot marrix ina rp-comohlitte ta- vertor, e/PurEhrs€ Order:PaEou.
E€r printe.s. User detuable heisht Sidr[IocarioD. . Modifable soulce cod€ prosraE for your vertical
. Echa.DCe data with EahFamea aItd Eini!. NOT TSR/Obj/Bi!. No-Royaltvl Free DeEo oo m._arket. ForPro V2.5, FoTBASE+, Clipper.
. Coatmu€r/soft\rare alone, $999. BBS. $gg/Reader 5250. dBa8e Iv.
. Complet€ paclaces (tspe driv€r'coabolerl Software Concepts, lnc. . DeEo Guided Tour dEanual. ss.EDle Bource
softwa-rc) 6oE $1,500. 0625 S.W. Cascad. Ave., Ste. Zm code, report€ atrd liceme asr€eEeDt. t2S.
. Sup€6 data etcia.nse software: Beelerton, OR 97005 . CoEplete Accountios Pac}ase with Source Cod€
Select/reject records, 6el&. R€poditioo 6€td!. ajrd T{O ROYALTY liceD.s€, $99s.
503-641 -1060, Farggs 503€41-7849
INFORMATION DESIG},IS CORP.
ASCtr code convergion, field-by-ficld, &oo ru1 Dclla Dr., Ste. 25O
EBCDIC. packed, zorcd, h€a BCD.
Drrect transfers TO md FROM DBFc Orlrndo, FL 32819
. 407-788{dh , Fer 407-363-9066
Utilitier for Eystary-tape anElFis, bsclup.
. Doz€m ofadditionsl featurE3, r"quest bmchu!€.
. Shce 1977.

Elocllovelua lndultlal, lnc-


2eO Glrd.n SL
Business/Accounting
[ornliown, l(, (If960
zJ1-2f,:t-1117 Modiliable Fund-Accounting Softwarc
ForF\r.Accounting is firll-featur€d BoftwarE for
govemneDr and nonprofit orsanizarions. FUUV
GASE Tools-
docunented murce and ru.Dtiois Ea-k€ it Derdl
lor VAR9, consukants. and end-user6. Modules i.E- CASE Tool fot $199!
clude GL, AP, AR, FA, Payrou, a[d Utility BiltitrE.
loGp€rceDt c.ril.ten i[ FotPro crith dBriSE an?
.Etrtity-relationship Eodelitrs.
R€cital vemion8 available. Single.user ard Det- . ScIl€Ea g€treratiod.
wort€d licen8e8 availabtr . . dBASE, Fox-Pro, Parador, o. Access
Bar Coding . DatabaBe desigr with lthhins speed!

Atlodable Bat Code Readerc


Mirasoft, Inc. .
.
Originator ofthe ER app.oach.
Other products (separately priced):
Rtver3e-ensiDe€rhq
Compuworld ofrers a coEDlet€ lhe of bar code ll.sofl,lnc. 30 DBMS8
read€rs, including laler, CCD, etaid€ls gt€el waDd, 2791f t{- Teri! St, St€. 16{ Data-flov diaeraEner
q.ud card readerE. Available in all ht€rfacesi F.i.li.ld, CA 9it5:i3 Nor$aliz€I lildusl.B bcsrr r
RS232, Leyboard emulatio4 and wsrd emulation. 7cr.|l291513 Phone & F.x Clien/Server Suppo"rt
qur rcadeE hterface vith PC, XT, AT, PS/2,
Macint!6b, alrd ms.ry olher6. Dealer and disFibu- Specify DOS or Whdoes veEion. gH: i l0 (DoEes-
tor i.nquirie6 welcomer tic) or $25 (ForeiF). Cr€dir Cad! acaept€d.
CompuWorid
34, W. Ardeo Ave., St . 104

it v-!,-
Gbrd.lc, CA 91203
8't &5494't 5t
800-SBRCODE
- I=JI
L-r r
Oak Rivet Accounling Soltwarc &Associates
Accountlng programs wiflen ln FoxPro2: Chen & Asroclat*, lnc.
. G€rcral ladse! Module, ExE Version. User 4884 Con!$hnion Ave., St . t E
mMtrel:.q25 Baton Rouge, LA 70808
. Accourtr Payable, Accoult! R€c€ivable. lDvorc- 50+9285165, Far 5tX-92&9371
ins Modules, EXE Versioo, User Earual: 999 Fr 800-448-CHEN (2436) (orders only)
Bat Code Beadlng & P ntlng FotYout PC module.
Our bar code rEad€Is arE desigDed for fast, rctiru€,
cmt-etrective dats enEs. They emulata gmr key-
. SouEe code versioD, ROYAITY FREE UnliD-
it€d Diltrilutor of EXE, APP, EXP: Ueer ou-
board eo ssnned bal ddes l6L t i,--* ual: $195 per modute (ForPro2 R€quiEd).
just Iike they werE ffi 'o* stalders
itr! Choog€-froE
steel wand, CCD, las€r gutr, csrd 6lot, aad magretic RFL Solrwrre
stripe scaDner. Add our powertul Bar Coda and On. Gellerla ghrd., Ste. 912
T€npriltiry loftsarE for a coEpler€ syBtem! crerr flet i.i., LA ?mot
warrarty. G.nerous les.ll.r discounts. 30day 5{X-A:r66551
DoDcy-bilcl srrart€c.
Seagull Scientlf lc Systems
15127 ll-E 2,aO! Ste. 3ir3
Fodmond, WA 90qi2
a)G75&2q)1, Ab-{fl -a966

DATA BASED ADVISOFUMAY 1993 187


DATA BASED ADYISOR

Gommunications ,la*eting & Conbca anager


Glipper Library Market your pmduct! a.nd s€ryices efiectivelv UBe
the oowerftn Querv Svslem to zcro i.n oD yotll
NEW! LANLIb v1.35 lor CliPPer FaxForward Volce ResPorse Systerr tarqit. Clio-Base Matketiry ard Cotrtact Ma.nage'
A libErv for aDDticsrioDs o! l-ANtastic aetworkg AdvaDced softwal€: Voice M ail, Far Mail, Fa-xBacl -"it Sr"te. indudee: C;l€ndar, Todo list, E-
it *.i,i'e ari&inc Utlttastic tretwork itrs cotrtrol. s.rui.r6. Audjo Text. blersctive Voice R.sponle. Mail, Activity History, Labels, Mail Merge,
"i lib;n h; over 80 tulctioDs ilcludiDs: Serv- Prcvidc sereices 24 hours a dav. Multi'lingual' AutoEatic Redinders, Word Proc$8ing, a-Ed mucn
This
er lDfornaiioD ard CoEnectiotr, Active User IDfo.- rim.le BcriDtitrc comEalds. SuDDorts multiple 3i_
mation. Pri,ter a.Ed Messase Queue Control muliareou; te6Dh@e Iin€s. Ma'di6abl€, pre-writ- siDEleuser 5295. Multi-user i59s. SouJte Code
shered Resouce Cotrtrol. and mole. Other librar- ren scdDt temDiat€s available for wide ra.Dge of
idustrii,s. Ne&ork alrd dBAsE coEparible. Infor- 399-5.00 Clipper Developers buy Eodula! 5.01
ies mav ofrer NETBios compatibilitv, or pur€ Nc'reU Source code iid cu*omirl your syBtem Huse di!-
compsiibility, but oDly LANIib ofreI8 true [.ANb8- mation/Deno Liae 1-80G841-0267
counts availabl€ fot VARg.
ticAPI. $99.00+S/t{.
CUP-BASE SYSTETTS
Oavl! Conluldng 'l Soulh '123 R.dlord Lane
5:XB S.E- PoYr.ll Blvd., Sta' 1 07
Vllla P!]lq lL GO181
Poru.nd, On 97i{)&z)51 70&91&1457
F r 5097S0724, Support 5(}+3931564 clt refttu an brtu o.Jt Dn- q*r
Comput r Syatomr lnteg6don, lnc.
37:, Ched63 St
Provftlence, Rl 0290{
rl01-3:r1-1 1 17, Far {Or-31-1 I 18

NCD Business Buildet -


Consulting Speed, Siop city, Satislaction
Add the powet ol SOL to CA-CliPPet Curreotlv used itr Bweral Fonune 500 corpora-
outsource yow xbase Proiets tioDs. thir FotPro 2.0 D.osram sets tle pace. De-
Strike! Drovides CA-Clipper access to Gupta sided for Droductivitv. NCD Business Builder
SQLBas;. Oracle a-tr o!-Microsoft SQLServer' lve erform Xlase Droiects ofi-site. All we need t[orooratri: automate-d sal€s, centraJ6eld updat-
O;e set oi fiuctioDs s'rDpli€s a comlno! i.Dterface ftom vou is a little tiEe- (to t€[ u! what vou need) i[s. a'ccounti.oe hl€rfaceo, o etwork mess aghg, far'
allowine EultiDle clnDectims to oultiple DBlrlSs and a Iittle Eoney (very little). Our rates ale low. ini, word-proceraing, auto-disling, sc.iptirg,
aindtmerulil Writ€ fa.st€r aDd Eore Dowertul We'Il set back to you wher the proj€cts are com_ ti.Ee-bilins, crcdit c{]d captu-rhg, activity sched'
aDolicstioD.s with less pIosra-EEiDg. Call now fu Dlere.-Ihat's wh€[ you pay us. Tberc are lots of ulirg, and deEler locating.
deEo a]rd more informatiotr. idvaDtage€ to outsourciDg with TechDoson:
. We have vour bale covered- DealervDpv.loDers wereo' Start vor ow! buBi-
Softwate.Centrlc
ForPrc ' ParadE Orade ness todav. Tu; vour mnsulrhq 6rn int a highlv
zx}l Goibcr Ave. orofitabdbusinds. Off-the-sh€f or OEM pmduct.
Sacrem6ino, CA 95817-132{. USA.
FaTBASE dBASE ClipPr
. We have lot! ofp€ople tn do the work.
Powertul Developers Kit sva.llable. Store Cop,
91 5-4ru031 , Fax 91 6-{544223 DeDo costs $I49. Nothins rlse is aen close
. Our code is l,e[ sEuctur€d and ealily dodified
(by youl
. We Drovide doormetrtation.
If vou'6re on vour way boo Xb6!e to t'he A9400,
wi catr help, iitl Synilng ifyou prefer. we also do
coavercims off-site. E
EE
TechnoSott Corp. ege E,na d
750 Bate.y St, 6th Flr. EE!B 6H:A,B'-
S.n Frarlcirc!, CA 94111 Nationwlats Cornpuler DYn mica
415-98660fl), Te.rl or r-32 17:]0 S. El Camino Rc.l, Sb. ma
ErEinltr!, CA 92oi2,H957
Clipper Gonditional 81,0.3,16-1200, 51 9.9&1 8(x)
lndexing Lib?aly
NfX-RAP Gives True Condilional Gontact ilanagement
lndexlng Powet to clippet
NTX-RAP library npidly genemtts conditioDal BFD-A the power of FoxPto 2! Copy Protection
NTX irfea dn€ctly'Go;r DBFa, BuDports any c@di- Bis File Diawer taL€s tuI ad!'artage ofthe sp€€d
lioMl erDressicn wh.ile Eai,tai-aiDs iDde! intesritv ari oows of FoxPro 2 md i.s the EoEL powe rl Copy-Safe
foT APPEND. REPLACE. SET: NDEX, ORDER, busdeEs idomation sy6teD. Many coDsider it
RELATION. LINIQUE coomatrds. NTx- RAP 8ur' Prevert unauthorized copyiag of resalable
bett€. than ACTI BFD combi.nes cotrtact marage- aDDlicatiors! This irnovsl.ive soflwa!€ copv
oa.sses colv€DtioD;l irderins speed for r€$rd3 3e- ment, teleEsrketirs, saleB lrackitrg. follw-udre-
iec,t€d <<RECCOUNT( ). VarEioDs 5.01: $?5(US), oi6tectior utility sives develope's the abilitv t!
call cotrtrol. Eail list, and word proc€dsins ID ooe ili"r'ib,rtr their?afubas€ aDD[catioD3, vPt main-
Surmer 87: S75(US) DIus yH: doEe6tic 510, for- orlffi. SE the oc,'!,er of BFD for vomell Catt n .ontml over its istsllui ba!e. Your veBioD of
eiF $20: \4sa/Mast€rcard sccept€d. lFlorida redi- io'Fnee n ttv *oiti"g demo. ODly $395 or $8e5
ta i

deb add tar.) Copysa-fe is compl€t€ly utrique! Ilsert€ esilv ilto


LAN; dealer pricing ar€ilable. dBASE, Fo ASE, or Clipper appticatioD source
H I S Syst ms, lnc. code. MC orvisa accepted.
P.O. gor 190970

tr
tliaml Be.ch, FL 33119 SylEm Solwr., Ltd.
AJ}sill 6?34, Compus..vo O03(x24m) Smdl Buslncss 30685 Barrlnglon Ave., Sle. lm
adbon H6lght3, Hl {4071
Far 30ffi-r4-2134 Computer Systems! Ino. 3135'8&7400, F.r 31358&7170

Small Bu.in*s Compute. SJsGml, lnc.


809 N. gethlehem Pike, P.O. Bor 385
spring Hou8e, PA 1 947/
2t$.5424639

188 OATA BASED ADVISOF/MAY 1993


DATA BASED ADYTSOR

Database Mailing Tools


t,

Force Programming
tttE Fox Ex p tes s-The al lti mab Fox pro
Ptoductivily Tool 9495
MAIL FOP LESS! Ellective Force FoxExprFss is aFofrospeci6c appticaiion gener-
ator that lers you crpare ivent driien, multi-uer,
. Dq Msiler-Full lst and 3rd Cl"ss presons,bar- The Force Power Programnins Joumsl. Epand multi-reialro_nal apptcations with lirtie or Do pro-
codinq, reDorts. etc. for Xbase frles.' your capabilities by r;sdins tlie oDty educaiional
resou'ce lor !'orce propramDers, Rerrular colums graDnmg. ForE*press a ut omaticallv creat es @s.
. BAR LITE 20 provides lnsrant barcodes La- a,d anides by Force ei perts like Bu_k;sld, Holmes, loEizable browses. search distosE, reion fmnt+nd
bels, ilvoiceg, enveloDes, lF,rters. etc. Jusr load Minard. and morel Corers e!€r1lhins froo basii screens ard more-..
BAR LrIE and run your printjob! to ad!€Dced topics. Quarterb^ subscrior'oo w/di.sk
. ZIPA, Other Barcodes, sld Products. Wlat Ea-kes FoxExprpss stand oul hom all orher
$g0/year. Special introductorv rare- S69n€a! + application geoerators E it integrar$ seemlessly
.
PGtaI Cetfications. FREE iasue! wrth FoxPm, by at tachirs itseIftoithe FolPro Eeou
.
Rrseller ProglaE. Sariech Communicstlon! and runiug from withh FolPro. Everlrhins se.
1'142t Lockvrood Or., Ste.353 ated by ForE:press (screeD!, menus, rejrons, pro-
POSTSAVEB SYSTEIIS
SilverSpring, MD 20904 lects) iE cr€ated in a lormat mGistmr with the
2731 S. Adam3 Rd., Ste. 102 FolPro Powerfools, allowilg Eodification t"h rou gh
Rochester HiIs, Mt 4830$3103 301-593-3236, CIS: 76020,444 FoxPro or FoxE x press Aad becauee Fo'-Express i!
800"8795820, Fax 313-2996052 FoxPro speci-6c, theleh no templare larguage to

For more hfo.mation or a demo contact us at:

Fox Add.ons
c
l0fflirARe
Disassemblers NEW powet ,or FoXBASE+! 3332 W. k8key Rd.
IntroduciDs GLADTATOR, an API h(e ace for Toledo, OH 43623
SOURCE CODE RECOVERY FoXBASE+. that lets vou c.eate NEW SEAM- 41S-4723010, Fax 41S-{72-r 455
Disassemblers for €ncrmted snd ulencrvDted Fox- LESSLY INTEGRATED €xtemat oroerams in C _
CIS:76217,1043
PIo 1.!, loxBASE+, F;;BASE, dBAsdirr+, aod lnclude€ VCEWIN.LIB library, otheiuBetul .BIN
dBASE II for only 9149.95 each. ReFo: for all file!. a fuI featured baclup aod restorc pro.
Fo:Pro indudins j\PP and E)(E ffle6 only $299. grams. lfyoudon twanttospeda a fort uae ,p6'iaa -
Valklrie, by Cod;Work!, disassenbler Su o'mer'8? ing to ForPro, heres tle answer: Dealer and
Clipper programs for only g3a5 California resi- distnbutor inquiries *,€lconel $149.95+S/H.
dents add ?.5% ta.jr. bclude $5 S&H per order. vcE FoxPro 2.5 Training
HILCO Software 16 Darllng Bd.
11266 Barnett Valley Rd. Dudley, MA 01571 FOXPRO 2.5 CLASSES - WNDOWS &
Sebaslopol, CA 95472-9555 508-949-3574, BBS 508,94$.3{7r (N-8-1) DOS
707429-5011
Leam to develop coEplete appucations fast
with Fo,Pro
. Conuads for Widows and DOS
. Po\rer tools: scre€m, .eports, Eenu!, projects
. Multluser techDique!, UDF8
. SLructured S,€tems Desim & CASE adaoted to
ForPm
Document lmaging fhe appltcatlon lrumework that's . Hands-on instruction coverinA rcal spplicatiom
Toolkit developer l endly! . Manuals and diskettes
TEMPEST 2 0 coebhes ForPlo's mwe!tuI t.m. Call about classes acloss the country.
plat€ langurge wit}l
Add Document lmaglng to any -rcady,tGru-n m'odules to pro- THE GUTTING EOGE
vide a complete developEent eoviroDEent. P.O. gox 1258
Dos-basect Applica on . EveDt driven Lllle,lL 60532-1258
Pap€rl,e3s FilerN DocumeDt lEasins T@tkir al- . SAA"/CUA d€fictr. 800-892.102r, 708-1204296
low3 develop€rs ofClippcr, Fofro, and orher ap- .
plicatioD programB to add complete documeDr Network r€ady.
imagirg to thei applicatioff. . Pid( Ibt!, dq
. Scans and coD presses do.u ment iEaged on over . Rur-tiEe error hackitr&
. DOS/WiDdows i'ersions availabl€.
. HiCh Speed software compress/decorupres6. . Free Eource code & tech support!
. DisplarE document iEags ir sraphics Dode. . No rcyaltie€!
FP2fGlipper to Oracle
. Prints DocuDent images oD Laser PrinterB. . Many oth€I featurer!
. Elports/IEport€ TIFF, PCX, ard DCX imases. . ODly $199 + VH. BlTotl-The CliWet
. Fu[ Netmrk Bupport srd Fite sharirg. MicrcSaerch Aagoclste3 & FP2 Oracle Connecaiotts
. Include€ Clipper and C saaple p.oglams. 5m S.E. 44th Ave. BITON, t.he Ubrary rhat opeDs up the world of
. Only $995 complete. Ocala, FL 34471 -3242 Orade to your Clipp€r a,d ForPro2 applications.
Allows acc6s to Oracle oa any approved platform.
PeperLeas Corp. 90+694-4294, Fax 904694-1869 version available for FoxPm2. CUDDeT S87 & 5.01.
1750 N. Collins Rd., Ste. 104 Cost: Clipper 400.00 Srerths, FP2'800.00 Sterling
Rlchardron, TX 75080 {6Ek shntrt VAR.tatn.t
800-658{4a6, Fax 2t {-,$0-5408 BITON
4't Burnham Rd.
St. Albans, Hetu AL1 4ON, UK
(lnu +44): Tel G727{50654, Fex &727+18853
CompuServo ('100012,600)

DATA BASEO ADVISOF/MAY 1993 189


Health Care
DATA BASED ADYISOR
,,

Manufacturing
tltE Add,oB lor PandoxS and 4l
ParaDate CaleDdarpro$am
Medlcal Pactice Mdnage$ Manulacturlng & Cost Management Parsstat 1.4 StatttiG pmglam
M edlc aU De nta llAn es thes lalc I in ica I Sgftwarc ParaTmI 3.4 Script docueentatioE
Wittr more tha-D I.200 installatioosa-nd I vears . Itr!€ntory Cortrol Paravie'x 1.4 Table, field, form, ad report
erperieEce, tbe "ManagEr' series haE become the . Bill of Materiab/Routing documerxtatioa
sta-adard for dBASE.
. Estimathg 4
AP Form Form ad repott editor
Medical ard Dental omce software. Verv fle:ible- . Order Entry
in ue bv s[ sD€cialti€s. Electronic claiE!, sched' . PurchasinC Convet4 Paradc 4 Table con\€rter
ulins. I;-k! with SBT. a.nd other accoultina. Joi.n
our iuctegetul dealei network. Source coie ir- . Shop Floor CoDtlol PairtPAL Dialog bG cr€ato!
clud€d. FoiPro, DOS aDd Macinto6h. . Pmduct CfftinC SiDsle-user aDd retwork padrs available.
. R€quir€Eent! Plaldnc
. FiDancialE

A vrnsoFT;
V
Reduces manufacturiDE costs by giving
measeEert suD€rior cotrttol ov€r Dateriah ald
orodu;tioD. Provides vilibilitv hto shortase! a-od
;loduction bottlerecls beftre c sis occurE. UBeB
MRP ald CRP technolosies to plan and evaluate
Pacltlc M6d3olt, lnc. Dew orders. Cust-omiration, inslalstion Eervices, FMS,lnc.
P.O. Box 7049 (925 N. Leke Blvd-, Sre. 8-301) xoodeD suDDor(, and manufacturing coBultiDg
available. \{ritteD in FoIPro. Souce code ava'l- m27 Leesbu€ Pik , Ste, 410
Tehoe City, CA 96'145-7049 vl€nna, VA 22182
able. Ilstallatioru natiouwide.
800-3113-5653, 91 6-583-2994 703-3564700, Far 703-4i18€861
Fax 916-593-'1532

MAGI
BuufrtuinS &rion EEU' inc.
Style Gulde lor Pahdox 4.0!
List 6506 H.nna Lake Ave. A n& e DDr@ch to Parador 4 0aDolicatiotrE. Offerg
Caledonia, M|49316 task+wit'chins caDabilitics of Microsoft lryi.DdoPs
Xbase Uset Liat 616.69&2880 in a character-based enviroDEent.
Don't walte precious hous keyirg 6I the naEes FormerlyThornapple Sollmre, lnc. . Each task runs in it6 owD Paradn 4.0 wiDdow.
foud each Eonth i.! the User CrouD section of . Table driveD. TaskE defned by etrtri€€ in the
DATA BASED AD\iISOR| Now available the coo- setup table.
olete. erdusive Eaili!{ lirt of Eore tbsn 900 Xba s e . U6er su ide provide€ clea-r and concise d escdption
iser !rcups, ircludiae contect name. addr€rs, ud ofthis modulsr approach to applicatiotr develoP
phone. This lisr will put you i.n touch with over
i0.000 Xbas€ end-usere, proEraEEers, analysts, .
and ma.nasers for onlv $150'Available oD 5.U4" or In.lud6conDletesourcecode(20.000+li[es)for
3-U2'di,[ O"d€" tro;l Conta& Rebecca Hitchcock. task mansqer and ut ities, itrduding sp€edbar,
Califomia resideDts add 7.75% 1al€! tar. toolbor calculato!. calendar and dock.
Caradia.n resideota add 7% GS tat Paradox SuDDonB;insle- and Eulti- us er applicatioos, wiuh
ru-nti.e Ucmse. $149.06+S/H with 60-
Data Based Solutions, lnc. -liinitea
day Moneyback Guarart€e.
4010 Morona Blvd., 516. 200
S.n Dl6go, CA 92117 AdaptAccounts 4,0 Gra93 valley Technologies, lnc.
glxl Pacific Avo., Sl.. 305
80G336S060, 51 9'4836400 Field-Dmr€tr adaptable busi!ese applicat ioE! since
-Receivables.
1987. Palables, CeDeral Ledse!, Fi- Santa Cruz, CA 95060
F.x 6l$4834851 nancial ReDorter, IDventory, Sale3, Pu'cbaEing, 80G335{560, Far 4O8426-52rG
Job Co6tirt. Bill of Materials, aod more. Effiy to
adapt ald iniegate wilb your applicatioD!. Fully
. o-borted. hisl-o€dormaDce single- and multi-
iirli comoletc PAL soure code avail-
""ii,enidna
able. De mo dis k.a, Re€eler p ricing, ald Develope/s
Lic€nE€s available.

Loan Accounting and Printer Support


Servlclng
Loa n Se'y ic i n glAc co u nti n I
LOANbase III PLUS borrower logl] payments and
A EZ_PRINT 3.0IIAKES YOUR PROGRAMS
COiIPATIBLE WTH 80o+ PRINTEBS!
SuDDons text mode features. locludes a stand-
ilv€stor servici-os/accounting. Provide€ DanagP- Adapta Software, lnc. alooi utrlrtv. wjth foreiE lansuasP suppons, for
Eent reportils on loar portfolio, tran8actiotr activ_ 4608 Cliflwood Plecg irsr sllins, modi&rg, and creatiDg printer ilriveru.
ity. investor disbu rsements, projections, Great for laser Driltere. DriveB in super coE'
d;linquencies, iEpouDd/escrows, auditing, vlctoria, BC voY 185, Canada orgsed Binarv a;d DBF format. Source for tunc-
FHLMC-FNMA-CNMA. Aulooatet lette!8,pay- 60/H58-048{, F.x 604-658-2108 iroB included: No Ror€lties. $129 + S&H
Ineat coupolrs. stateEeots, receipt6, dep6it3, Pogoda Sy3tem3 CorP.
ter/.redit lemrtins. lmDorts froE loatr orisi-Da-
tion.lockboi expo;s Io SbT accounr rng or spiead- P.O. Box 2055
sheet, word pmae6si.Dg/repon writiry. Written in Boulder, CO 80305
FdPro 2- VAR6/CoGultant! welcooe. 303-442-1t80 Phons & Fax
Lender Support Systems, lnc.
2565 Crmlno Del RIo S., SL. I(}2
S.n Dlogo, CA 92'108
6 19-291-7172, Fax 619.291-s554

190 OATA BASED ADVISOfuMAY 1993


DATA BASED ADVISOR
t.

Programming Tools Salon and Day Spa Xbase & Paradox Libfaries
Management HUGE Iibrarid ofALL PD/Shareware utilitie Bpe-
cifrcaly for Xlase alrd Psiado!. 2,637 Xbs!€/315
MlnTOOLS..,Easy to integraae prcgftn PAI- producl.s 66/l2MB ZIPd orto CD-ROM or
sedes lor FoxPro, ClippeL dBASE, and rISALON 3.0 dbks. Ext€mive databale diectorv also Iirts sI
Recltal developerc, commercisl products. Also ASM, C/C;+, CAD, Net.
dSALON 3.0 is the softwar olchoice with complete ware, TPaEcal, VBasic, Windows libraries. Money-
. POS, appointmetrt Bcheduling, dient maht€natrce,
FoTSYSTEM ERROR MAINTENANCE Earketins, word prcce88ing, Eail-nergi.Dg, irveD.
htaUiqertly traE, haldles, and rflolve8 sylteE tory trsckitrg, snd htegration wit! SBTB tzdger Vtua./MC/AmE/Dtuc.
€rrors. Updatzs a EairtailableIog 6le. Gracefirly aDd Payroll. Sinsle- and Eulti.user ver8ioDg EMS-Prof asslonrl Shareware Libraries
Eturns uBe, to ereclrtirg program. A mu8t have for available 6nd qualiffed VAR8 may purcha3e ForPm 4505 Buckhur.t c1.
spplicatiou support. sourc€ code. Call for $25 demo or ftee dealer
. Olnsy,1rD20832
FTINTELLIGENT PRINTINC i ormatioD. 301€2+3594, Fax 30, -953-2708
Coaplete pritrt2! DlalageEeDt subsyst2E for FUr
Fo:PIo & Xla!€ applicatioDs. Syltem Solve.a, Lld.
. 30685 B.nlngion Ave., Ste.'100
SAIE O\ER 70%!
Sp€cial inkoduclory pricing-$4gs each. lr.dison Heights, ill 48071
rlnrh,dpq rnrrrm rndc Rovaltv frFFr) 3'13"58&7400, Far 31 +58&7170
ZPLIST-zipcode Dircctory on Disk
Mirasoft, Inc. Zipcode datafrle in dBASE, other database forEat8,
ZIPLISTwith your favo te
or standard ASCII- UBe
Boltvare to peIforE autoEatic lookup8 of city,
Llir.rolt, lnc, state, 6rd zrpcode i olEatioa. Save time aEd
2791.F No.$ 5L, Slc. 16{ Trucking moEey oD data eDtry while improvhs accuracy.
F.l.tl.ld, CA g,lsir3 Price: $95. To order, or for more inlormatior, call:
7OH2+1513 Phon€ & Flx ITS Tru n spo datl o n Soft ware DCC O.ta Servlce,lnc.
120018th St., N.W., Ste. 704
Available aB an int€gat€d syBteE or by module:
Di6Datch. Fuel Tax. Maintf,nance ffMRSl. BiU- Washington, DC 20036
iDE/RatiDg, lrad Piao[er, Driver SettleoeDE, 800"4i,1 .2577
Driver CompliEnce, & SBT AccountiDg. 9U 6d
tr /u (networb,. LinIE to milease, tuel, & Eatpllitp
ElEteEs. DeEo available. Ctipper coEpiled; lv,/u
Eourc€ code Eay be pulchaled.
Publications ITS, lnc. of Winslon-Salem

Buy Dara Based Advlsar in Ouantlty


112 Cembrtdge Park Vehicle and Equipment
A 60% discount i! ava.ilable on bulk aeount€ of
Wnrton-Salem, NC 27104
800{88-1246
Maintenance
Dsts Bas€d AdviEor. At orly $ L 98 p€r copy, you tar
use Data B6!€d Advisor a6 a Eelitrg tool to display MAINTAIN
youJ ad, product reliew, or product-related slory.
Preventative mainteDance Bcheduling and maht€'
Data Based Ad\risor ca! abo b€ used in trade arce history repoltirs Eyst€E fo! vehi€l$ a[d
Bhows, dslsrooEs, a.Dd traiDiD,g seEinats. Pur- equipment. Track scheduled mahterance by Dile-
chale iD bulk, 5nd save mon€y. For Eore i.oforEa-
tion, contact the CiiculatioE Coordirator. Utilities age, caleadar tiEe, ard/or operatiDg hours. OptioD-
ally track part8 used, tuel crn8umption, il]!ura.oc?,
.egirtral.ioD, and trip logE.Writt€n iD FolPro.Iorer-
face! with SBTAcmuDiing. Sinsle-user only$29s.
DATABASED Fastfnx
FastTlar
4,0 The Best Dlsk Optlmlzer
Ep€€ds dis! p€dorEaDce, ext€ds had
Multi-u8er and Eource code available.

AD\/ISOR" disk life, and reclaims waeted disk space.


MakeTru (incl.) allorpi custom placement of iles,
directories, and fre€ Epac€.
Applied Syslems and ProgEmmlng
28321 lrarguBrito Parkwey, Ste. 201
Mlssion Vielo, CA 92692
Date Based Solulions, lnc, 7l+365{624, F.x 71+365.0149
/o10 orena Blvd., Sie- 200
DeftaqEerts aay size DOS disk iDcl. >1Gb. No
Iimits on dlectories, frles, or cltrsrpr8. Unique itr-
S.n Dlego, CA9i2l I 7 cylhd€r Eethod rcduce! s€eks. 'Fra8Eented frles
800-336€060, 619-443-6/00 oDl/ optior. Batch op€ratioD, power failu€ prote{-
Fax 619-183-9851 tion. Liat Price $?0, $40 for competitive upsrades.
FErlTrax lntemetlonsl
880 En3eaada Ave.
Berkel€y, CA s4707
2+hr Sal63 and Tech Bupporl 51G52$3510
Windows Tools
Xbaso Vldeo ktagazlne
Now that you've r€ad 6bout the lat$t Xbase p!od- Whlch database ls lhe bst?
ucts, wouldtrt you Iike to SEE them? Now you cr.D.
Get product reviews, pro8raEEiDs tip8, irdutry We recommend SUPERBASE 2,
Dews, a.nd Eore on Bhndard VHS tap$. There's [o We build verl ica I applicatioDs, train eDd-useE a-od
b€tt€! way to Et3y inforEed. AEEual suhcriptioD develop€ls and Eake it availgble to others who
(6 i!sue5) S50. want the b€st Whdows relationEl database.
California add 7.75% tar. Autolmpod 2.1 . Superbas€2, $189 (Iist $795)
T.anslates data f.om rcports downloaded f.oE
. Superbase2 Develop€rs Edition $650
Redllno Softi6ro
2830 Acacl. Ave. mahf.ame8 or output by PC applications iltto . Supe.baie2 dwelop€rs cla€s,4iays $995.
S.n Bemardlno, CA 92/rc5 dBASE, ForPro, Clipper, Clarion, delinited, and . CoDsultiDc and on-site traiDhg available.
714-84&1326 sprea&heet! Selects only needed information.
Appends to existing files. Even hudles foreigr
trumeric atrd date fo.mats. Includes TSR to red;
rcct priDter output to file- FrcedeEodkk. Single-
user $189,5-,1ser l,AN $420.
Spalding Softv,are, lnc.
IIERD'HOP
l54Technology Pkwy., Sle. 250
l{o.cro$, GA 30092 TTIE NERD SHOP
404-449.1 534, Fax 404-4rl$.0052 8m-444+{ERD

DATA BASED ADVISOR/MAY 1993 191


"lf only FoxPro supported the
seamless encryption of data..."
Announcing

Ctyplo,.l
Data encryption / unencryption "on the fly"
No program changes. Simple operation. Absolute data security
Authorized users can still access encrypted data files interactively
Works with any file that FoxPro opens . Supports a// FoxPro commands
Cryptor, the FoxPro API Library that provides seamless, integrated data encryption. Cryptor transparently and selectively encrypts
/ unencrypts "on the fly" by intercepting the it moves from the disk to FoxPro and vice versa - so the data on the disk is
data as
always encrypted. You may encrypt one or all of your files. At the start of each FoxPro session, call Cryptor with the password and
the list of the llles that are encrypted - thaCs it! Unauthorized users will see a completely scrambled frle. Cryptor can selectively
encrypt ar?-y file that FoxPro uses including: dbf. fpt, txt, and any file accessed via FOPENQ, FCREATE0. Too good to be true?
Call now for a demo disk or download CRYPTOR.EXE from FOXFORUM.

CfyptOf'" for FoxPro 2.0 & 2.5 $99 single user, $299 6-pack multi-user
Fox Decompiler FoxPro/Oracle Link Memo Indexer
Memo IndeXer (MIX) for FoxPro 2.0 is
A universal source code recovery system True Client/Server operation with Biton
designed to restore lost or damaged source (PLB) - the communications interface a C tibrary (PLB) that creates indexes
code from both unencrypted arul between FoxPro applications and the for memo tields. This enable\ lhe enlire
encrypted FoXBASE+, FoxPro l.x. Oracle environment. Biton acts as a contents of a memo file to be searched
FoxPro 2.0, and FoxPro 2,5 .FOX. .FXP, "router" for SQL commands and data for a word. or a combination of words.
.APP, or.EXE files - all in one product. aimed at the Oracle environment. Biton instantly. MIX gives FoxPro the ability
Refox will reconstruct the source code. allows full cursor manipulation, DML and to perform proximity searching, find
including the original names of variables, DDL statements. The use of SQL Bind phonetic matches, and use complex
functions, and procedures. Refox will also variables enables the insertion of arrays, Boolean logic to create a powerful text
split .APP and .EXE files into their selective reading, and conditional updates. engine. Words can be searched
separate components. Data files, reports, I I ' sQLrPme ] I phonetically using the same index with
queries etc. hard coded into an application It':
I ni'..[ ' sQL*\ct i I no loss of speed. with the ability to
[',tlr [ ,-sorrr,"" r 'o-.t";
can be recovered and modified. ReFox
can also brand applications to protect t_J '_ryj J exclude the indexing of common words
such as "a" and "the," MIX creates an
them from unauthorized decompi lalion. Call now for a fact sheet. extremely powerful text retrieval
system. Call now for a demo disk.

ReFox'"$zgg Biton'"'$gso MIX'"su $99 MU $299

All prices + S&H For fact sheets and additional information please call:
cortrsuLrrl.o
Xitech, Inc. 5515 Southwyck Blvd. Toledo, OH 43614
Partner Tel (419) 867-3622 Fax (419) 865-9365 C1570713,436
Cryptor, FeFox, and MIX are rrademaAs ol Xitech, lnc ForPro s a trademark ol M crosoil. Al other producls are trademarks ol lhen respecl v€ companies.
ADVEBTISEilENT INDEX CALENDAR
OF EVENTS
corD talEs
Ad.pa.sot'G,I!.... -.... I3 PliEt6 i6d6 -. . .. . .. , ,.
SonrE '........
LM
,/!tr.O............,.....,,.
a&irtrc@Dun d@..,,,. Fie PUDU.[in!, rnc. ... PEeltrdr P.!ili- .., . -. .- DB/EXPO '93-The world's largest da-
ALr.CitCmnto...,,,... Fld cErdv. M:nr.. , , Wr-L D... ,. , ,. . ,, . ... tabase, clietrUse*er, and iflformation
ArioCrtd.d6......-. Fo:Pr! U-E
Gu@,h...........
Cdup orMN 1,I9 PiosonB..._........... .. 160 technology exposition alrd confereoce,
lPPtitrd.S.oiu.......... Qu6.r.Srrt&.. -........ .,, 45
AltadApFe-da,...,.,,... 6.r.Il Sohe .. . .. . . . n R.dirdccmgd.iccE,.., ., n0 featuriDg eight tracks of tut rials and
Bl!.lb.rtD.t ............. Caa l6rad8tuint t03 RoCE.Wm..,.,,..,,.....
Blirl I&.. . -.. . ... .. .. ... . CCCIDFT.STIt@!,.... R6t 66Solud@,.. -.. -... user case studies, alrd more thad 500
D@lodlldL.,..,,,,, S.tr... ..... ... ... ... ... ,. exhibits. May 3-7, Mosmne Conven-
D.r.t{6ai cds
Bolrr.,Eb ,, 11 SDPII hDLd-.........,. .., l5
BddnrBleb. ,.. . ,., ,.. , ,.
Etl,,.,,,.,,-.,......,...
,.
,.N
lB
SoftrE ,. ... ,., ,., ... ... 151,161
- tion Center, San FYancisco. Contact
NDN Enterprises, Inc,, 800-232-3976.
C.nins.trd...........-. .. 66 , ,., ,., , ', , 186 Sihrwm .. 1,!6
cDbtn ................ Soo..i!! r!d., ,.. -........
Cid.Wdlr..............-.. .1r, .&,9r.r02ir63t166,167,170,171 S.it.[S.Fi6l,tri,,...... ,,. 4
Coer.r.. ,., , ,., ..., ,., . ,., . . ltE HII-aOSolt'u ,. ... . .. . trreret.!, .... ,.. -. . ..
cdEecdtrlbnvE...... ...Ial Solhr&S.iad,In. ...,.,.. ,. 155 - Software World and Client/Server
Copf S.fr ................ IE4h. SoirE SoludoE .... llra Sdhr.ll lLv.L!6ar C-p.. . - . .. 109 World-Ihird a.nnual Software World
C@lrrtd Aud.a.. , ,. , ,., , , hnd Appli66m. -...... ,,,, r52 SE lnwm................
C@pirta DLaut W.t bou , Ilt.fi6T*Ituloei...... sti t snE*! .. .. . .. . .. . ,. . ,., 2t adds ClieDuserver World tlris year
coMtufmPN.. , ,. ,.., , , . tr6 IlllLLlorobl....-...... StIWE. .. . ... -. . -. . .. . .. .
C@t .hh!&ii.a. . .. .... . . ,UA JE.C@Eunadd..... SlbRd.Prl,Ii.Li,a, b.. ..... ,. 1ul
for a compreheDaive sofur rare evenL
c66tri. D.r. srrtor. -.... . l?3 x!*L4!waln...... s[ wD s0, hc, .. ,., ... . Teo ia-depth ses,sions cwer
c..tlu6 c,up _.......
I.lr xEs..,..,..,,....,,... Srnri.Frd, Ir.........,.., ...11
Co!i.r!d.!d,...,,.....,,. , t12 IAddo..,I!. . .. .. . . .. .. Srt4d. . .. ... .. . ... ,. . ,. . , .,, 39
application dwelopoe[t, from OOP,
Cud@ uniCoc@.,.,.., . l3l riqln SoCuE, ,. . .. . .. ,,,,,96 Srnc8/.. -. . -. -. . .. ... . ,. . , .. L4 to Multi-Media DBMS DanageBeat,
D.lin -. . ... . ... . ... ... ..- L.anWorL.,,.......... 31,41 Sr*erD.danCup. ..,,..., _. L7'
Mrdh C6eni.g. . .. . .. . 136 L'drr. Ourl@ solt'ft -.. - and more. May 4-6, Meho ToroDto
E trpi6............
ftoLeft.briqq..,.,,.... .. lu Convention Centre, Toronto. Contact
1a{t . 163 lPAS.tr6St6t@...... -. .. 111
UiE0.Crs,It.d,In.. .. Md.ot rsr.raEaIn.......... Digital Consulting, (508) 470-38?0.
MiEln418............ . ta6 WAl[!]dPidut:, L.- ... . ..
Ui@,tCdD....... .2,3,9,133 W_Eclidt1lclnolod-. .. . ,., ,. ,jl6
Th. Ned SLa. . .. . .. . .. . Woodboh Lf@.66 SFt@
objdrr.b, ,... ... ... .. . . t15
,., 61
1,(
On t-S.nru,,..,.,,
Xit&n . -. .. . -. ... ... . -. ... . .. tg) - Fourth Annual Borland lnternational
P.a!T..h............... z.dE S.frru. . .. . .. . .. . . ',,13
aa
P.tf,5nd.r Dlt. Srrt.a ..
conference-M@e thatr 200 sesioDs
16A
l4 will cover the range ofBorland
PubliAilg,.-..-....... ltx prcducts. CustoE cooference "tracks"
will be offered for beginning,
intermediate, and advanced u8e6,
May 16-19, San Diego CoDvetrtion
PnoDUCTS Celrter, San Diego. Cotrtact Borlatrd
Ern-I!t-.................... . 154 Iote.aational, (408),{{}9-4872.
51 E.rShD........,...,.......
Eealdl.r,..,.,,..,,..,.,,.
131 8 b....................... 31,tl
Eait,,,..,..,..,..,,.,,..,.
Erh... . ... ... ... ... . .. . .. , ,. . !s7
,a
31
.- Spring COMDEx-Offers new prod-
E,-Ld.11,...............-.... . 110 ucts, educatioo, and t€chnological
. 171 rrttns..t f, ,., ,. , ,.. ,., . ,. solutions to coxoput€r pmfeesionals
. 163 F.dlrrl6rrdlro. -........... . 171
.19 rruf@,,..,,,,..,,.,,.,,.. 135 and corporate information s,'steEs
FAtud,_......,............., . It8
executives. Includes major confereoces
rltdpdt . ... . -. ... . -. . .. . ... RDDBir. .. ... .. . ,.. . E2
.t% rr.iFiL ...... ... ... ... . -. . .. . with ove. 90 sessiods. May 2427,
,, 3a rriDp.r ,., ,.., ,...., ,.. ,.. ,.. .
,, 3a .llo 52 Georgia World Congr€ss CeEt€r,
,. 38 FarColE.. ... . ..... . ... ... . .. . . l?1 l,l5 Atlanta, GA. CoDtact The Interface
. 175 FCAILII . .... ... -. . . -. ... . .. . . lr3 15
fo,:fia.,.,,,.,,.,..,,..,.,,,.. Gmup, (61?) 449-6600.
FOIlI.d.. . -. . ... -. . . -. . -. . -. . . t:23 t4a
FuPr. 2.5 ...........-....... . . 2,5 r39
PdPmA.h'io .. ... . -. . .. . .. . ,,51 r13
Cljlrr.E ...
Cliqp.t
. .
Nlirt..,.,..,.,.
-.. . -.. .. . ...
.61
roiPr. D"r.lo!.d. Cot . , . , , , . ,
FdIE1lmt .-.............. . t35 1,15
rt Toronto FoxPro Oevelopers'
Cl!?cEn@6o. ,.., ,. , ,.. FcPEl}rnitra. -. ... . .. . .. . .. . Conlerenc e-Database develop€r8
CIi!p../As Tt6a Irlr.a FP-E3!C . . . . . . . . . . . . . . . . . . . . . . l6t) will Deet for two days of seEinat3,
FtNCI,II,,..,,,,.,,,.,,.,,., .,76
cE!6Q!..... . ... .... ... _... . . Cain s T.Dd.tn ., . .. . ,, . ,., workshops, and paDel discus8ioDs. Co-
ctg. -.. ... . -.. .... .. . . -.. . - GIrTolE. ... . .. ... . .. . -. . .. .
.l(D sponsors include: Micmsoft Canada,
C.d.8.t 6,0, .... ..., ,., ,.., ,. GnptB SE Ll. -. .. . ... . .. . .. .
Cod.Ard.... . -.. ... . -.. .... . . G6L.lE dCD.t b.- Iiir.', . 135 Doh Ba.sed Aduisor, snd FuPn: Ad,oi-
CoilDD.., -.. -... -.. -..... CnE96l!&uiu , ,., ... , ... .. sor. June 11-12, Sheraton East Ilotel,
C@6 CdEr@Edrt ,.., ,. C@!6.L[jt ur ............. ,,al .
11
C@FtrC6u:6oEeC.d.,. C Dp6.Ln4ort&............ -., ,, ,., -., ,, , ,, .. 3l
136
Torolto. Cootact The Matiaon CoDBult-
c\rr,r& .. ... ........ ... .... . . Gud,[ rrri,ng... -....... .
STAGE
St rct!-.. -. ... -. . -. . .. ing Group, (416) 256-4495.
CUr6..,.., ,... , -., ,.. .... .. GXEi E . ... ,.. ... ... ... , .. . S@Shn............. -. .l(x
DitrJditn . ,., .... ... . -.. ,. (XG pf,i:... , .. ... . .. . -. . ... ,I(B
hrhr!61itt. . .... ... . -.. . - c'(Prnt t. ... . -. ... . .. . .. . .. . SrFrt r.2.0. ... .., ,. ...
dlt.ED@€lttool.. ,.., ,. GA&at ..,.., ,., ,., , ,. ,.. , ,., SUFICL-m. -..., ,.,..
dah..,...,...,..,,.,,...,, Infmilc.nnnio .. ... . .. . ... lll SFSdira . . . ...... ..... Dalabase World/Client Server World-
ila tjl-. . ... . -............... 8 GDr............,.........
.
T'B SE Idnt Lrtf, . . .
1tdw;br .. ... ... ... -.
- Both Databas€ World and Clieat/-
iIBASE.. . -.. . -.. -.. . -. . .... . Lh.lxe{u, ....., ,.. ... . ,. .
ttl.Fdr. . -. ... ... ... ..
iBE!'IB.TC.&............... LarNota.........,.....,... T.l.pr6, . .. ... .. . ... .. .. {t Serwer World ofrer comprcheBsive
iBESIPi t TDmr.......... M.E rrdri. . .. ... . .. . .. . .. .
ToF ..... .. ... ... ... ..
ilBEsaft.llc-...-......-.... MrEi.S.irc................ _ 155 conferences covering database issuea
Df,B+-. . ... . ... . -.. ... .... . . trininA for Fq?E ......
iIBrShlI...-............... xiduc S(&sffi -. . ... ...
. .
Ita.t.E.............. of today and toEor:iow. June 14-16,
dclip ... . ... . ... . -.. ... . -.. . . Mtiq lir PFtu iour .. -..... uxt. ... ... .. . .. ... ... .. HJmes Conventiotr Centcr, BostaD,
D..idP!n-.. ,... ..., ,., ,... MDC.. . ... ... . .. ... . .. . .. . ... . rsz t dut FcP!.n bEn6
D.r.liDd N.t'.dL -....
CD. . . . .
,
LdDDrne......-.....-..... ... .. . .. ... . .. ..
I.I'CUD. MA Contact Digital Consulting,
('c*.,,,.,,.,,,.,,..,,,,...,., VJLyIir.. .. . .. . -. ... ..
vlM .. ... .. ... ... . _. ..
(508) 470-3870.
Dtr@li.o 6r ltsrSE, FcPro,
VrM,.,tE............
*Oirpd, ,., , ,., ..., ,. . ..., . . *lt6sQI,.,.. ....... .
Dolavrt ....-...-......-.... 35
*inD.d8!. .. . -.... .....
126
.IP^OE.......-...-......-...-
de"-r... ... . -.. . ... .. . . -.. . .
Word*-Er-........ .- PC Expo-Showcaae for the Latest PC
WordBlSE .. . -.. -. . -...
ilsal,vacE.. ... . .... .. . .... .. x2c ,.. ,...., _.. ..
lurdware and mftwara June 2gJuly
DriMd, ,.., , -.. ,.., .... .. _, . .
..
Ii
_
.
Esi4rrpt,. , . -.. .... .. . .... . - z..b..r. -. ... -.... . .... .. 13 1, Jacob Javitz Convedtioo Center,
New York. Contact Bruno Bletrheim,
lhi. i!d6 L Fsnld - s .diti6.l ,TkI ti. pullda d6 d !u. my [rlitity 6r a.E c .Dniu Inc., 800-829-3976 o. (201) 34c1,100.
D TA BISED ADI'EOn OSSN 0?,(}5200) i puHih.d DDtIt t, D.t Br.d Sohrd-r, L.., a{ro Mdar Blvit,
SEit ,q Se DiA!, CA 9211?, {619} la36am. lhod Clrt pdir Fid d SlDiaq CA92rr7 Dd rdditibn
dnig 06€. POSTIIASTER: S..d rditrr.f,Dgi 6 DrE Br.d liriltr, Bd ,735, rrddi&, CA 9r(r2t93s6.

DATA BASED AOVISOB/MAY 1993 193


Database Gonfidential
By Buzz HunteL single-user copy. ltre problem is that drivem, a mouseable GET system, and
lnvestigative Repofter you might own FoxPro/l-{N 2.0. Send- user-deEnable report/label system-in
ing in the upgrade offer doesnt get you the near future. A match made in... eh,
FoxPro/LAN 2.5-there's no such prod- Germany.
Say what? The buzz around Microsoft uct. Instead, you get a single copy of2.5,
Tech-Ed in Orlando, Florida wasn't *****
with a slngle license. Thus you convert
what Dr. Dave said but what he didn't six licenses into one! Suchadeal! Dont What's in a name? While Microsoft
say about how SQL Server fits in with fret, there is a good deal on upgrading lawyers are trying to get a trademark on
the future direction of Microsoft data- the LAN version to multiple 2.5licenses, the name "Windows," Microsoft had
bases. The mumbling in the crowd but it's not mentioned in the upgrade Tech-Ed attendees scratch out a trade-
afte rwa rd-worries that SQL Server offer. If you bought a copy of Fox- marked name they inadvertently used,
may be walking a two- or lhree-year Pro/LAN 2.0 after June 1, 1992, ard Seems Windows NT handouts men-
plank. registered it, you can get one free 6-pack tioned a part of NT called "flexboot."
Have no fear! The secret Buzz Spy (one copy of FoxPro 2.5 licensed for six Unfortunately, another company has
Transmitter revealed that the SQL users), with additional Gpacks at $199 rights to that term, so attendees had to
Server group isrlt within Dr. Dave's do- a pop. If you bought your copy before pencil in "bootloade/' in its place.
main. Seems Microsoft doesn't like to then or want to upgrade from
merge groups when they're in the middle FoxPro/LAN 1.x or FoxBASE+/L{N, it s *****
of a major release, like SQL Server for $199 (no free 6-pack).
lrII. Elsewhere ilr the Kingdom of Red- Whal's more fun than tee.ing off with
Ifyou're still suspicious that Miqosoft Microsoft Golf on your PC? Try M$
mond, the Foxes finished up a connectiv- isn't truly dedicated to FoxPro, try this:
ity kit to allow FoxPro to work with SQL Donkey Kong for Windours. With my
Microsofi, sales people have been given Pocket Protector Spy Camera, I marl-
Server data. SQL Server is far fiom additional incentives ($$$) to sell Fox-
dead! aged to click a few shok of t,l.is arcade
Pro. Melhinks any reluctance is caused classic in the Microsoft usability lab. Mi-
by a salesperson's lack of Xbase crosoft claios they dont plan on usurp-
***** knowledge, not MS corporale strategy. ing the video game market, but you
Meanwhile, the Buzzy Orbital Camera never cart tell with these guys. Ifyou're
Array Satellite (BOCAS, for short) spied ***** ever invited to MS HQ, don't forget to
Borlands Philippe Kahnjoy riding in his Buzz loves an orphan story with a pack some quarters.
Waco biplane. Not to be outdone, a happy ending. If you've heard of the
Microsoft development team code- Force compiler, you probably krow that
named the Access engine Jet! Don't it s had a mller-coaster history. Force
expect Jet to be tied down to just Access. once again has been sold to KRS Un-
Word is, youll see it in Visual Basic 3 lernehmensberatung-EDV GmbH, a
sometime this Bpring! key Force and addon distributor in Ger-
many.
***** Back in 1991, Sophco, which originally
In February, Buzry was hanging out at developed Force in 1985, sold KRS rights
the Software Publishers Associatioris to distribute Force in Germany. (There,
conference in San Diego-hone of the Force is klown as FCO.) At the same
fish taco, DB,{, Padres baseball, arld a time, Mke Ceranski, one of the original .-.;r4
world-class zoo-and bumped into a ven- developers of Force, created Athena
dor of a Windows-based report writer Software and obtained "all othel rights.
intent on out shining the others. The Athena tried to go it alone, but soon had
compaay prez sez his strategy is to bun- to find a publisher, Dvorak Development
dle his gem with other company's data- and Publishing Corp.
base products in addition to selling it ln the meantime, KRS was developing
staad-alone. The prez also sez the reporl and enhancing the product independent
writer market will be blown wide open of Athena. KRS felt that further devel-
as a result of clienuserver, since allnost opment would soon suffer if the C,erman
all corporate user€ create reports. The and U.S. versions went "out of synch."
According to Ceranski, Athena sought a
key: Makethe reportwriteran obiecl (to
home lor Force that had enoughlinanc-
,lllll, ry
s)ide right into Borlands Object Class
Architecture, or BOCA to the database ing and a "commilment to Xbase" to
cognoscenti) that developers and MIS keep lhe product alive. In Februarlr, *****
guys can plug and play with their apps. KRS approached Mike aDd Athena with
Do you wantto be recognized as a Dalabase
Souatls like OOP to me. the idea of buying out Athena for full
Conrldentlal lnvestigative Reporter? Eam
world-wide rights. Athena has agreed. you. cr€dentala and a shlrt wlth a good tp.
(As of this writing, terms for the buy-out
r**** aren't firmed up.) For now, Dvorak will
Call Buzz at 800-33ffi060 or (619X&r6400,
send Compuserve Mall to 72410,3223, MCI
FoxPro upgraders, watch your back- hardle U.S. distribution. Expect I(RS to mail lo DATABASED, or a lax to (619)48+
side! The 2.5 upgrade offer is tor a release Force version 8-with index 9Tt6. O

194 DATA BASED ADVISOF/MAY 1993


i
,l

u,lnvulid
F>Access
DEIVIED DIl1Ie

L
b I I ,-,..,*
p

I I

-\

Does network programming bring you down? Try N0VLIB* !


Gall ilelware@ dilectly lrom CA-ClippeP Printing- Defer printing, print multiple copies Connection & File Server- Loq in and out of a
Seamlessly integrate the full power of with identifying banners, automatjcally locate file server, display user name at a specified work
Netware into your CA-Clipper pr0grams with the first available printer or move i0bs to shtion, retum ile server serial number s0 you can
NoVLIB 2.0. Anything you can do with the another printer to optimize printer usaoe. synchronize your program t0 a particular file s€rver
Novello command line utilities you can now do for copy protection purposes.
from within your program. Security- over 80 bindery functions so you Messaging & Semaph0res- N0VLIB sema-
can back up the bindery, list all available phores are visible to the Novell utilities and proonms
Zero Memory overhead resources, create bindery objects or store tlrat adhere to Novell specifications. Limit a prognm
NoVLIB is the first 100% dynamically over- user and configuration information from with- to a specitic number of users, send messages
layable network library for CA-Clipper - full in your program. All NoVLIB functions adhere between worlGtations or disable message receipt.
Netware functionality with no memory over- to Netware security, so a user cannot perform
head! The whole library ol over 350 functions any task without appropriate access rights.
uses no CA-Clipper internals and is only 50Kb Free Demo Library & Free
of highly optimized overlayable C and Z Bindery Analysis Program
o Z NoVLIB demo library t0 link with
For a free
Assembler code. lvlaximum efficiency with
minimum ov€rhead. 1-
-+
! y0ur own programs. plus a comprehensive
bindery analysis utility:
Simplilied I'letware Inlerlace
High level commands and functions sim-
plify the interface to Novell Netware, for
m
i
t,lJ
Call: 804-747-6700
Fax: 804-747-4200
exam le, one N0VLIB command emu-
p Call our fast fax now for a full tunction list.
lales the entire N0vell IVIAP utility to Dial 804-747-5333 lrom your jax and
Directory- Control access to the Novell drives, select # 700
assign network drives. No need to shell
map a network drive to a directory e.g. to dis-
out to D0S and run the Novell utilities or 'Aftet putling NoVLIB krough a slress test in a
able the A: drive during your program 0r to
train your customers in their use. real wold application., Iun reconnend the prod-
restricl users trom sensitive directories. uct wilhout reseNation. lt does
New Manual & Free Support
ldentity who created and who owns a file and what it claims and it does I
NoVLIB 2.0 includes a totally updated technt-
the date and time a file or directory was well. The price is rcasonable \
last modified. and so ishe leaming uftg."
cal manual with explanations of how Netware
Cnig Yellick, fhe Aquaiun
works, plus a Norton Guide help file and free
AGcounling- Charge for the use of your pro-
technical support. Price $299
grams and their data, disk space used, the addi- Blinkinc
tion of a database record, or connecti0n time.
s@ EEEI W. Broad 5t..
Ri.hmond VA Zfe94
N oVLIB is a trademark ot ASI!1, lnc All lrad€ marks acknowleoed. Graph ics copyrig ht B ink, lnc '1 993
)

lntnoducinu Bonlandh
Panadox lon
Experience the magic ol
casy dalabase ruwel
If you're looking for the
easiest-to-use, most power-
fuI, and most reliable
, Windows database, this is
F it! Wth new Paradox'for
: Windows, there's no Odltte
limit to what you can do.
The gaphical interface
makes it easy to access,
modify, and present your data. Crcate
customer lists in seconds, automatically
generate reports with the push of a
button, or retrieve data ftom different
sources into a single answer table.

Ite Desl way b manage


Paradox and dBASE dala
Paradox for Windows makes it
easy to work with your Paradox
and dBASE data. You can view.
edit, query, and link to all your data,
with no limitations. You make your I
request for data simply by checking
off boxes with easy-to-use Query By
Example. Then the Paradox for
Windows query optimizer automatically
lalitrL determines the fastest way to deliver the SpBGial introductory ollcr.
rt{ tllt allswer. offer expires April 30, 1993.
Paradox for Windows lets you man-
age vinually unlimited data types, too.
You can store any kind of information,
$13$u
including text, menus, gnphics, OLE
Para 0r is the besl tlrind0ws dalabase (regular list price $795)
objects, sound, and even multimedia.
Prlador lcccss SeG your dealcr or Gall nou
You can even mix and match Paradox
Petlormance and dBASE data in queries, forms, and 1-800{36-0404, cn 5295
ln Canada, call l-800-461-3327.
reports.
lnsert I 000 records' 29 sec 147 sec
More people trust their data to
Range selection: 1 5.000 <l
of 130,000 records'
sec 16 sec Borland than all other databa5e compa-
Complete Paradox and nies combined. That's why Borland is
TtBASE lile support
Vhdal dah nodlling lor
lorm! ard renorts
the Data Company. Put the power of
Paradox to work for you today.You
Borland
0bjecl.oriented wili he amazed at what vou ca,r do
developft enl environment

'All tcsts ruo on IAM" PS/2 Mod€l 70 386/10 nhz, 4Mb RAM, Novcll 3.1 I NdW@, llthemct nel*orl. Spe€ial
offer g6d in Lhe Unned Srar€s ard Cmsda orly. Pties in U.S. dolln Copyrigh! O 1993 BorlMd Inbmalion.l, Irc
Paradox
lorWindows
All .ishts GFr€d All Borlant pmdncr nams m t dcmorlG of Borlud lnEmational, Inc. BI 5344

You might also like