home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Media Share 9
/
MEDIASHARE_09.ISO
/
dbase
/
look11.zip
/
MANUAL.TXT
< prev
Wrap
Text File
|
1993-03-19
|
24KB
|
525 lines
CB
Looker Version 1.10 for Foxpro 2.x 01/05/1991
Shareware Distribution Copy.
Looker is copyrighted by Creative Concepts Software. All
rights are reserved world-wide. Unauthorized users of Looker
are subject to prosecution. A formal licence can be found at
the end of this document. Information on registering Looker
may be found at the end of this document or by leaving me a
message on this board (70162,1545) If you like, you may also
leave me a message by phone (305) 864-7738.
About Looker:
*************
For years, the idea of the perfect lookup/help system
has been waiting in the rafters. Mainly technology under
Foxbase and Foxpro 1.x have been the key issues in
preventing this idea from springing to life. Finally, Foxpro
2.x comes to the rescue! With the advent of the structural
compound index as well as other major achievements from Fox,
the "Looker" system is made possible!
"Looker" is my idea of a complete, self contained, user
definable lookup/help system with complete data validation.
The user is able to define either a memo table type popup or
an indexed database pop-up on any key field. The lookup is
based off of a program-variable key reference. The help
system utilizes the same keys but internally links the
foxpro help facility. The help system allows for the same
function as Foxpro's help. "See also", "Topics", "Previous"
and "Next" keys are all available to the user. To call this
routine only the following lines need be inserted somewhere
at the top of one's application:
If you need a lookup on any character or numeric field:
on key label F2 do looker with program(),varread();
,"'CHANGE'"|"'NOCHANGE'","'F2'","LOOK"
If you need user definable help on any key field:
on key label F1 do looker with program(),varread();
,"'CHANGE'"|"'NOCHANGE'","'F1'","HELP"
A recent enhancement now allows data validation at the GET
level! To validate on a field for which a lookup has been
defined, simply use the valid clause after your GET
statement:
valid looker(program(),varread();
,"'CHANGE'"|"'NOCHANGE'","'F2'","VALIDATE")
If a data validation was called for a variable/field with no
prior lookup definition, the following will occur: If the
"CHANGE" option was passed with the validation, the user
will be given a warning message and allowed to define a
lookup. If the "NOCHANGE" option was passed, the user is
simply given a warning and returned back the GET. The "F2"
parameter signifies the hot key used to call up the lookup
definition utility.
Ex. 1.
To allow any user to do a lookup on F5 as well as
define one if none exists, the following line of code could
be added to the application:
on key label f5 do looker with program(),varread();
,"'CHANGE'","'f5'","LOOK"
Note: Notice the 'CHANGE' and 'f5' enclosed within double
quotes.
Ex. 2.
To allow any user to do a lookup on F5 but do not
allow him the option to define a new lookup, the following
line of code could be added to the application:
on key label f5 do looker with program(),varread();
,"'NOCHANGE'","'f5'","LOOK"
Note: Notice the 'NOCHANGE' and 'f5' enclosed within double
quotes.
Ex. 3.
To allow any user to do a help call on F1 as well as
define help if none exists, the following line of code could
be added to the application:
on key label f1 do looker with program(),varread();
,"'CHANGE'","'f1'","HELP"
Note: Notice the 'CHANGE' and 'f1' enclosed within double
quotes.
Ex. 4.
To allow any user to do a help call on F1 but do not
allow him the option to define new help, the following line
of code could be added to the application:
on key label f1 do looker with program(),varread();
,"'NOCHANGE'","'f1'","HELP"
Note: Notice the 'NOCHANGE' and 'f1' enclosed within double
quotes.
Ex. 5.
To set up a data validation for a fictitious field
called ZIP, Your get statement might look like the
following:
@ 5,5 say 'Zip:' get zzip valid looker(program();
,varread(),"'CHANGE'","'f5'","VALIDATE")
Note: "CHANGE" will allow the definition of a lookup on a
validated field with no previous lookup defined.
"NOCHANGE" will simply return to the validated field
with an "INVALID INPUT" message if no lookup was
previously defined. If this happens, a lookup may then
be define with the standard lookup hot key sequence.
That is, assuming the "CHANGE" option was specified. Of
course, as a developer, you should have made sure a
lookup was already defined for a validated field. In
addition, the validated field must be a key in the
lookup index for the validation to function properly.
Remember !!!
A. The lookup index must be keyed off of the field to
be validated. This is so a quick validation can
occur.
B. The field to return from a data base lookup must
represent the validated field.
In Actuality, any hot key could call a lookup or help! Once
the pop-up has been brought to the screen, providing the
user has the authority, a maintenance routine could be
brought fourth by pressing the same hot key.
Creating lookups:
*****************
The table maintenance routine is the core of looker.
Say for example, you are in an edit screen within your
application. On any field you want a lookup or help, simply
press the appropriate hot key. If you have proper rights
("CHANGE" is specified in your call line) a window is
brought up and you can specify whether this is a database
lookup, a fixed options table (Similar to a pop-up) or a
call to help. If you specify an options list, you will be
asked to key in your list into a memo type area. If you
specify a call to help, you will be asked to key in your
help in a similar area. If you specify a database lookup you
will be taken through a list of steps which will create a
structural index on the database file for purposes of the
lookup. This list will determine and save the following
information for future lookups:
1. The database to be used for the lookup.
2. The structural index tag to be used. You will have the
option to create a new structural index tag and define
it unique if you like.
3. The fields and column titles to display for the pop-up
list selection.
4. The field(s) to return upon selection.
5. The table name for this particular lookup.
Once a options list table, help or database lookup has
been defined, the table name will be available for all
future definitions. Any time a user with the proper rights
calls Looker, he will be able to define a new options list,
call to help, database lookup or tie into an already
existing lookup table or help document. If he chooses to tie
into an already existing database lookup, he is only asked
to specify the database field(s) to return from the lookup.
Maintenance system:
*******************
In addition to defining a new lookup, there is also a
maintenance option. This option will bring fourth a
maintenance view screen which will display all lookup tables
and ties to selected databases. While in this screen
pressing "M" will bring up a maintenance menu which has the
following options:
1. Delete a lookup program key variable or a lookup table.
2. Reindex the Looker system files.
3. Reindex all associated structural index defined through
Looker.
4. Set additional filters to view only certain information.
Associated programs with this application:
******************************************
LOOKER.APP: The main application.
Associated databases with this application:
*******************************************
LOOKUP1.DBF
Structural CDX file: LOOKUP1.CDX
LOOKUP2.DBF :
Structural CDX file: LOOKUP2.CDX
Setup instructions:
*******************
I designed Looker as a easy installation utility which
could be tacked onto any Foxpro2 application with only the
addition of one or two lines of code. As always, just when
you think it's perfect your bounced back into the harsh
reality of programming. I am working towards perfection. But
in the meantime, here are a few things I have found which
may cause some problems for the unsuspecting programmer:
1. When using this routine, make sure all calls to your
application index (.idx) files are of the form "use xyz
index xyz.idx". This must be done this way because if
you say use customer index customer meaning
customer.idx, customer.cdx will be active if there is a
structural index on the file. Specifying the IDX
extension ensures you are using the correct index. Of
course, if you only use the structural compound index
type, there is no need to specify the IDX extension.
Many applications I design are carried over from
foxbase. These systems have .idx files of the same name
as the database. When I started defining .cdx files
this problem came to light. Then again, why continue to
use the .idx format when the structural compounds do so
much more? Well, sometimes you just may want to avoid
having an index open during a massive update. Wouldn't
it be great if you could shut off the structural
compound index from being updated until a later time.
Shareware and Registration:
***************************
The shareware version of Looker is limited to 15
available lookup key definitions. This means you will only
be able to define a lookup on 15 fields. By registering
your copy of Looker, you will receive the unlimited version
along with a serial number. Furthermore, I will be available
and grateful for any comments, suggestions, and problems you
encounter while using this utility. Since this is a first
release, please play with it and try to break it. I am
always available for messages on this board (70162,1545) or
message by phone at (305) 864-7738. Let me know what you
think, or if you experience any problems. Any help returns
my sincere gratitude.
Licence and Registration:
*************************
FORMAL LICENSE AGREEMENT
Details concerning the cost of registration can be found at
the end of this licence agreement.
NON-EXCLUSIVE END USER SOFTWARE LICENSE FOR LOOKER VER. 1.1
THIS AGREEMENT IS BOUND TO VERSION 1.0 OF THE LOOKER UTILITY
AND SHALL BE CONSIDERED THE EFFECTIVE AGREEMENT FOR ALL
RELEASES OF THIS VERSION.
EFFECTIVE DATE: 01/01/1991
This Agreement is between "Creative Concepts Software"
hereinafter referred to as "Vendor", and the "end user of
this software", hereinafter referred to as "Company". The
agreement concerns the use of "Looker version 1.1",
hereinafter referred to as "Software" as a utility which
enhances a Foxpro 2.x program designed by the Company. The
program is hereinafter referred to as "Application".
Please read this License carefully BEFORE using the
software.
Any use of the Software, AT ALL, by the Company
indicates that the Company has agreed to be bound by this
agreement. This includes BOTH registered use, and use of
the 'shareware' version which is distributed via public and
private bulletin board services and shareware access
services.
LICENSE TO USE VENDOR'S PROGRAM
Vendor, for the consideration named, hereby grants to
Company and its corporate affiliates, a non-exclusive
license to use the proprietary computer program called
Looker Ver. 1.1 ("Software") in accordance with all aspects
of this license agreement.
If company is evaluating the shareware version of the
Software, the Software should be registered within 30 days
of beginning it's use.
The Software may be licensed for use in one of three ways.
A license may be obtained for use with a single
internal company application (site licence). In this fashion
the application using the Software may not be distributed in
any fashion. If another internal application needs reference
the software another licence must be obtained.
A license may be obtained which would allow the
Software to be distributed along with the application for
purposes of resale. Each application distribution would
warrant a fee be paid to the vendor.
Finally, a license may be obtained for unlimited
distribution of the software along with the application for
purposes of resale. With this licence no additional fee need
be paid to the vendor.
TITLE TO SOFTWARE
Title to the Software and all related material is with
Creative Concepts Software. Except as expressly provided in
this License, Company may not use, copy, disseminate,
modify, lend, sell, distribute,sub-license, rent, lease,
give or in any other way transfer, by any means or in any
medium, the licensed Software. Company understands and
agrees that the Software is the valuable property of
Creative Concepts Software and is protected by the laws of
copyright, trade secret, and contract.
Company agrees to use its best efforts to prevent any
and all unauthorized persons from acquiring the Software,
and will exercise the same care and diligence to protect the
Vendor's proprietary property as it does to protect its own.
TERMS OF AGREEMENT
The term of this Agreement shall begin on the date at
the beginning of this agreement and shall continue in
perpetuity unless replaced by a new Agreement OR terminated
upon failure of Company to comply with any of the terms of
this agreement.
This Agreement is FINAL. This means that there will be
NO refunds of money paid for registered use once the
registered version is mailed, UNLESS the package is returned
within thirty (30) days of registration, AND the seal on the
diskette pouch is unbroken AND the seal has not been
tampered with.
The Vendor shall not publish any information about the
Company's use of the software or software documentation
without prior written approval of the Company, nor shall the
Vendor use the Company's name in any advertisement or
promotion or other solicitation for business without written
approval from the Company.
Company which Purchases an Agreement for 'internal' use
of the software (site license) will be furnished with the
source code for the program IF and ONLY IF Vendor can no
longer provide Maintenance to keep the program operational.
This applies to the source code for version 1.0 ONLY, not
future releases. Company AND Vendor must both agree to this
release of source code.
If source code is obtained by the above method, Company
agrees to use the source code for maintenance of the program
used internally by Company ONLY. Company must NEVER
redistribute the program, or any part of the program, in ANY
form, for ANY reason. Once the source code is released to
Company, Vendor is relieved of ALL maintenance
responsibilities to Company for this program.
LIMITATIONS OF LIABILITY
Vendor makes NO warranties with respect to the licensed
program or the 'shareware' version. The obligations of
Vendor shall be:
To make a reasonable effort to fix any operations /
execution problems that are found by the Company which
prevent the registered program from performing the functions
described in Vendor-supplied documentation.
To make available to the Company, as a replacement to
the program initially supplied under this Agreement, any
maintenance upgrades which solve operational problems with
the software published by or on behalf of Vendor at no
charge to Company.
The Vendor warrants that it is the legal owner of the
software described herein, and that it has the full right,
title and interest in said software; and that the software
has been developed by Vendor or that the Vendor currently
has any and all necessary authority to enter into this
license agreement. The Vendor shall defend, indemnify, and
hold harmless the Company, it's officers, agents, employees,
assigns and successors in interest from and against any and
all liability or claims and costs including attorney's fees
arising from third party claims regarding ownership of the
software.
Company makes no warranties with respect to the
distribution of the software other than those covered
elsewhere in this Agreement. Vendor agrees that the Company
shall not be liable for any lost profits for the
unauthorized use or distribution of the program so long as
the other terms of this Agreement are complied to.
The foregoing warranties are in lieu of all other
warranties expressed or implied, including, but not limited
to, the implied warranties of merchantability and fitness
for a particular purpose. Company further agrees that Vendor
shall not be liable for any lost profits, or lost resources,
or for any claim or demand against Company by any other
party, except as provided herein. In no event shall Vendor
be liable for ANY consequential damages, even if Vendor has
been advised of the possibility of such damages.
LAWS GOVERNING
Regardless of the place of contracting, place of
performance, or otherwise, this Contract, and all
amendments, modifications, alterations, or supplements
thereto, shall be governed by the laws of the State of
Florida, as to the nature, validity, and interpretation
thereof.
Looker Registration :
*************************
If you find Looker to be of value, please register. To
register and order the unlimited version of Looker leave me
a message on this form (70162,1545) or leave me a message at
(305) 864-7738.
Pricing:
********
Please call for latest pricing information.
**************************************
Thank You for taking a look at Looker.
**************************************