home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C!T ROM 2
/
ctrom_ii_b.zip
/
ctrom_ii_b
/
PROGRAM
/
CLIPPER
/
PGCREA2
/
MANUAL.ASC
< prev
next >
Wrap
Text File
|
1992-12-14
|
56KB
|
2,431 lines
PROGCREA
The 'Quick' Program Generator for Clipper Users The 'Quick' Program Generator for Clipper Users _______________________________________________
The Program System that creates
Applications in the Nick of Time.
This is a Shareware Product By:
Geoffrey Evelyn, ASPD, AGSM, BA
Hons.
PROGCREA
Version 1.1,1.2,1.3,1.5, 1989,90,91
Version 2.0,2.1,2.2, 1992
The QUICK PROGCRAM CREATOR FOR CLIPPER PROGRAMMERS
Copyright 1989,90,91,92, Geoffrey Evelyn
TABLE OF CONTENTS TABLE OF CONTENTS
COPYRIGHT AND TRADEMARK NOTICES . . . . . . . . . . . . . . . . . . . 1
DISCLAIMER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
CONTENTS OF PROGCREA PACKAGE . . . . . . . . . . . . . . . . . . . . 4
INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Before you run PROGCREA for the first time . . . . . . . . . . . . . 7 Before you run PROGCREA for the first time
HOW TO USE PROGCREA . . . . . . . . . . . . . . . . . . . . . . . . . 8
After the Startup Screen. . . . . . . . . . . . . . . . . . . . . . . 16
Database Creation. . . . . . . . . . . . . . . . . . . . . . . . . . 17
Giving Fields Long and Short Descriptions. . . . . . . . . . . . . . 18
Input Screen Design . . . . . . . . . . . . . . . . . . . . . . . . . 19
Selecting Keyword and Searchable Fields. . . . . . . . . . . . . . . 24
OK, Lets PROGCREATE!!! . . . . . . . . . . . . . . . . . . . . . . . 26
Including your own Program Files / OBJ files. . . . . . . . . . . . . 30
PROGCREATING stage. . . . . . . . . . . . . . . . . . . . . . . . . . 31
Other bits and bobs . . . . . . . . . . . . . . . . . . . . . . . . . 32
Contact? Me? How? . . . . . . . . . . . . . . . . . . . . . . . . . . 32
COPYRIGHT AND TRADEMARK NOTICES
CLIPPER and NANTUCKET are trademarks of Nantucket Corporation, now
Computer Associates.
Word Perfect is a trademark of Word Perfect Corporation Inc.
FUNCKY II is a copyright of dLesko Incorporated.
SWPAINT is a copyright of Silverware Incorporated.
GFORCE is a copyright of Calypso Software Ltd.
DR Switch ASE is a copyright of Black and White International
Incorporated.
dBASE is a trademark of Ashton-Tate Corportation, now Borland
International.
Acknowledgements.
In no particular order:
My wife, Kaye, for all her loving support, who gave me the insight into
creating software to create itself.
My daughter, Josephine, who was the inspiration, and kept me going even
when the going got tough!
The Nantucket Support Team (Technical), for giving me insights into code
that sunk me into my chair in awe.
The Nantucket Bulletin Board UK, for having some brillant developers to
help me out.
Compuserve CA Clipper Forum, for having some more brilliant developers!!
Finally, a big thanks to Clipper 5.01!
To the Beta Testers: Mrinal Kundu, Mark Swan, George Fuller, 'Jet'
Harrison (Compuserve), Gary Lucas (Mad Software Ltd).
To all other users of PROGCREA who keep this brilliant package afloat - if
your reading this, pat yourself on the back!!
1
DISCLAIMER
The PROGCREA system and files is provided "as is" without warranty of any
kind, either expressed or implied, including but not limited to the
implied warranties of merchantability and fitness for a particular
purpose. No representation is made that the PROGCREA will meet the users'
particular requirements. The user assumes the entire risk associated with
the use of the PROGCREA and is solely responsible for the use and
operation of these functions in any application the user distributes which
may make use of PROGCREA.
All Rights Reserved. No part of this publication may be reproduced,
transmitted, stored in a retrieval system, or translated into any other
language or computer language in whole or in part, in any form or by any
means, whether it be electronic, mechanical, magnetic, optical, manual or
otherwise, without the prior written consent of Geoffrey F.G Evelyn, the
AUTHOR.
Definitions:
The term 'Software' as used in this copyright means the computer programs
contained in the disks in this package, together with any updates
subsequently supplied by Geoffrey F.G. Evelyn. The term 'Software Copies'
means the actual copies of all or any portion of the Software including
backups, updates, merged or
partial copies permitted hereunder or subsequently supplied by Geoffrey
F.G. Evelyn.
The term 'Related Materials' means all of the printed materials provided
in this package or later supplied by Geoffrey F.G. Evelyn.
Permitted Users:
You may:
Load into RAM and use the Software on a single terminal or a single
workstation of a computer (or its replacement).
Install the Software onto a permanent storage device (a hard disk
drive).
This copyright gives you limited rights to use the Software, Software
Copies and Related Materials. You do not become the owner of, and Geoffrey
F.G. Evelyn retains title to, all the Software, Software Copies and
Printed Materials. In addition, you agree to use reasonable efforts to
protect the Software from
unauthorised use, reproduction, distribution, or publication. All rights
not specifically granted in this copyright are reserved by Geoffrey F.G.
Evelyn.
Users Not Permitted:
You may not
Make copies of the Software, unless it is registered.
Make copies of the Related Materials.
Use the Software in a network of multiple user arrangment unless you
have the Multi-User version and
you pay for and obtain a separate licensed Software package for each
terminal or workstation from which
the software will be actually accessed.
Rent, lease, lend, sub-licence, time-share, or transfer the Software,
Related Materials or Software Copies,
2
or your rights under this copyright, except that transfers may be made
with Geoffrey F.G. Evelyn prior
written authorisation.
Alter, decompile, disassemble, or reverse-engineer the Software, or
make any attempt to unlock or
bypass the initialisation system used on the initiased disks.
Remove or obscure ANY of the copyright and trademark notices.
3
CONTENTS OF PROGCREA PACKAGE
DISTRIBUTION Information.
Files supplied in PROGCREA.ZIP are as follows:
File Description File Description ________________ ___________
PROGCREA EXE || This is the one that CREATES your programs.
PROGCREA SCN || Front end screen for PROGCREA.
PROGHELP.WP5 || Word Perfect Documentation for generated
applications.
PROGHELP.ASC || DOS TEXT FILE (ASCII) docs for generated
applications.
MASK.OBJ || Main object to link in with whatever PROGCREA
creates.
BASEBIT2.OBJ || Secondary link object for MASK.OBJ.
PRINTDOC.BAT || This enables you to printout the Documention.
MANUAL.WP5 || Progcrea Manual, covers MASK.OBJ and
BASEBIT2.OBJ
MANUAL.ASC || Same as above but in ASCII format.
PGFILE.TXT || A documented version of an example
OBJECTS.PCR.
README.NOW || Important information (after documentation was
printed).
FILTSAVE.DAT || Used by MASK.OBJ to save your existing
filters.
PRINTER.DAT || Used by BASEBIT2.OBJ for Printer
Definitions.
REGISTER.FRM || Please fill this in to register PROGCREA!!!
PACKING.INF || Simple list of all files contained in
PROGCREA.ZIP file.
TOPBIT.SCR || Front end for PROGCREA.ZIP file
All files given on this list have been scanned for viruses and are CLEAN!
This was done using MCAFFEE and Pctools Virus Scanner Kit.
4
INTRODUCTION
ProgCREA is designed for any programmer of Clipper 5.0 who wants to create
a database application in a matter of hours, not days. The reason why I
decided to create such a system came about when my boss requested a system
which he wanted working in the space of 3 days, but wanted to have the
ability to change the specification at any time drastically which would
mean reconstruction of virtually all of the code to accomodate.
After completing the beta test version I was surprised at the speed at
which I could create standard systems for the organisation; all
I needed was the database structure and, presto, in a hour I had a brand
new application far superior to any others in the place!
Progcrea takes you through the steps of either the creation of the
database structure, or if you want to use another database structure
a few modifications will be needed in order for Progcrea to use it. It
will take you through the array definition prompts, the @SAY/GET prompts,
allow you to position those on a display of one/two screens, take you
through sort and key field choices, and then produce source code to be
linked directly to Mask.OBJ, the file with all the features to use your
CREATED code to optimum use.
So, why use PROGCREA anyway?
1: It is a valuable learning tool to the Novice Clipper Programmer. See
what Clipper is able to do where other packages fail. Even if you don't
like the application created, examine the created code, change it, add
some of your own routines and recompile. In seconds you can see the
results!
2: For support programmers and analysts. It can show to the end user very
quickly (A) - what a standardised format system, bug free and VERY easy to
maintain benefits the organisation (B) - It enables you to create one off
systems in a snap. (C) - It enables you to create quick beta test systems
for data entry purposes, even allows you to reuse functions without even
being forced to use the front end screen!
3: It has a VERY strong support team behind it - experienced programmers
in Summer 87, Clipper, C, C++ and Assembler - If PROGCREA cant do what you
want now, give it to our support team and get quick results!
What you need to run PROGCREA.
Minimum Hardware Requirements: Minimum Hardware Requirements:
1: An IBM Personal Computer, IBM Personal System/2, a COMPAQ Personal
Computer or one that is compatible.
2: A Monochrome or Color Monitor.
3: 640KB of Memory Base RAM.
4: At least 2MB of Free Hard Disk Space.
Minimum Operating System Requirements. Minimum Operating System Requirements.
5
1: Version 3.2 or a later version of the PC-DOS or MS-DOS operating
system.
2: Novell Incorporated's Advanced Netware 1.01 or later versions. This
also includes ELS Level I and SFT Levels I and II as well as SFT Level II
with TTS.
3: IBM PC LAN 1.12 or later versions, MS-NET and compatible networking
environments.
4: Version 1.2 or later versions of the 3COM 3+ network environment.
Minimum Software Requirements.
1: CAClipper 5.0 or greater version.
2: Paths set to the CAClipper BIN directory, OBJ directory, INCLUDE
directory / environment - this is recommended.
6
Before you run PROGCREA for the first time Before you run PROGCREA for the first time
1: Check that you have installed PROGCREA on the hard disk in its own
subdirectory.
2: If the computer on which PROGCREA resides will be the host development
computer, it makes sense to copy the files MASK.OBJ and BASEBIT2.OBJ into
the OBJ directory for Clipper. Note - DO NOT delete these files in the
Progcrea Directory.
3: Make sure that the computer on which PROGCREA is installed uses an EGA
or VGA video card capable of switching to 43 line mode. Check your VGA /
EGA manual for details.
What limitations are there in PROGCREA.
Not many really, but here goes.
1: That at least the hard disk space required to create any program using
PROGCREA. The file created will be OBJECTS.PCR. This file size is dynamic
and can be as large as 500kb. Other files copied into the created program
directory will be MASK.OBJ, BASEBIT2.OBJ, REGCODE.PCR, PRINTER.DAT,
FILTSAVE.DAT and the database either created or brought in. However, all
things being evil, PROGCREA will not copy files unless there is enough
hard disk space to do so.
2: That your CONFIG.SYS file includes a FILES= statement which exceeds 20.
3: That your CONFIG.SYS file includes a BUFFERS= statement which exceeds
10.
4: You can use up to any dBASE field type in PROGCREA, logical, character,
numeric, date or memo.
5: You can define / use up to 1024 fields in PROGCREA.
6: If you wish to port an existing database so that PROGCREA can design an
application around it, you MUST make sure that the FIRST THREE FIELDS have
the following definitions:
1: REFNO, Numeric, 10.
2: EDATE, Date, 8.
3: UDATE, Date, 8.
Howeber, If you are going to create a database from scratch PROGCREA will
use create those three fields at the top of the database structure by
default.
7
HOW TO USE PROGCREA
To use ProgCREA, simply type PROGCREA at the DOS prompt.
The PROGCREA logo screen will appear; press any key to bypass this screen.
If you have not yet registered your copy of PROGCREA, you will be asked to
enter a registration code. If you do not enter a code the system will
assume you have not registered the system (Please register if you have not
already done so - see REGISTRATION for further information).
The following screen will then appear: (Note that this example is from a
PROGCREA product not yet registered).
Database Program Creator. (PROGCREA) - Unregistered
Version 2.21, December 1992.
Copyright : Geoffrey Evelyn, AGSM, ASPD, Ba HONS.
PROGCREA allows you to create an complete database application with the
minimum
of hassle and fuss, for users of Clipper 5.0/1 who need fast solutions!
PROGCREA is defined as a Shareware Product, so please feel free to
distribute
the original PROGCREA.ZIP to all your friends!
If you haven't already done so, please read the documentation MANUAL.DOC
and README.NOW for further information.
Please Support the Shareware concept, increase your karma fundamentally
and Register PROGCREA to get the very latest version!!!
Finally, HAVE FUN and ENJOY PROGCREA!
+----------------------------PROGCREA User
Options--------------------------------------------+
A:Create a BRAND new Application - Database also created in this
system.
B:Create a BRAND new Application - Database already created externally.
C:Use a PROGCREATED Object Code Definition and create a new
application.
Q:Quit. I do NOT wish to continue any further and want to quit now.
+-----------------------------
--------------------------------------------------------------------------
----+
F1:HELP, ALT/Q:QUICK QUIT
PROGCREA User Options. PROGCREA User Options.
1: Create a BRAND new Application - Database also created in this system.
This simply means that you create your new quick application right here
within Progcrea AND the structure for the database to be used by this new
application. This is the default option of the system.
2:Create a BRAND new Application - Database already created externally.
Same as above, except this time you will need to enter the name of an
8
existing database. In doing this you will need to enter the drive, full
path and name of file plus extension. PROGCREA can distinguish a dBASE or
Clipper type Dbf automatically and can read a structure of a database
table of up to 1024 fields.
3:Use a PROGCREATED Object Code Definition and create a new application.
This is the new option available only to version 2.21 registered users.
Each program you create whilst using Progcrea will have the set ups for
that application saved to a file (Object Definition) of your choice. The
extension however for this file is appended automatically by PROGCREA as
.POC. This file, when saved is saved to the same directory where your
Object File (.PCR) is saved.
9
HOTKEY F1.
F1 within PROGCREA is tied directly to an onscreen help option, which
loads and displays the MANUAL (you are reading this now. You can search
this by using ALT /S or go to a particular line in the document by using
ALT /G. Use the up / down, left/right, pagedown/ pageup keys to scroll
through the text. If you have a mouse connected you have the ability to
use the template displayed in the bottom right of the screen.
HOTKEY ALT/Q,
ALT/Q is used if you wish to leave PROGCREA immediately without creating
any applications. If you was creating a database structure within PROGCREA
at the time of doing this that structure will be deleted from the disk.
Note. These keys are only available from the start of the system until
PROGCREA takes over and actually creates the object code required to build
the application.
10
Object Code Definition Files.
Why is this file so useful?
a: After creating the application you have suddenly realised that you have
forgotten to add that field (I've been there).
b: You need to change the positions of the fields in your data entry
screens.
c: You need to modify the title of the application, field titles, prompts
etc very quickly without having to hunt through objects.pcr.
d: etc etc (How long is a piece of string scenario).
You will then be asked whether you wish to use an existing database
structure. You can type 'Y' ONLY if you have a database structure whose
first three fields are those given on the previous page, OR, if you wish
to alter the setups for a previous application already created.
An Object definition file is composed of <Term>;<result> where <Term> is
the idenifier of the information for Progcrea and <Term> is the compliment
of that information. As you create more and more applications, you will be
more aware of what <terms> are related to what <result>. This file is
written as a text file; you can therefore use any ascii editor to load and
modify the file to suit your own requirements.
If this is the first time you are using PROGCREA then do not use this
option, in that an Object Definition File is only created when a brand new
application is.
11
So, since this is your first shot at PROGCREA select '1: Create a BRAND
new Application - Database also created in this system.'. You will then
be presented with a number of options.
Here is a typical quick screen shot:
PROGCREA, (c) Geoffrey Evelyn, AGSM, ASPD, Ba HONS.
Application Generation information - fill in ALL boxes please!!!
Database Title : DBFTITLE.DBF
Application Title : Type the title of the program here
Program EXE name : PROGAPP
Author (Your Name) : Freddy Bean
Label File (You generate & define this, using say RL.EXE) :
LAB_10.LBL
Report File (You generate & define this, using say RL.EXE) :
REP_10.FRM
Opening Screen (Ascii/Ansi Startup Screen for Application) :
Config. File (This stores the Program Configuration) : SYCONFIG.CNF
Optional Optional
Will your Application use Zooming Windows? [y/n] : N
Will your Application use Beeping Windows? [y/n] : N
Will the user be able to FILTER any entries? [y/n] : N
Will the user be able to DELETE any entries? [y/n] : N
Must a Password be entered to access the Application? [y/n] : N
Placement of Program Placement of Program
Where do you wish to place the created system?
Enter Drive & Subdirectory eg: C:\PROGRAMS\PROGCREA
C:\PROGRAMS\PROGCREA
Here is an explanation of the prompts. Note that you MUST fill in EVERY
prompt, or the system will assume that you do not wish to create an
application and quit back to Msdos.
Database Title: This is the name of the database (8 characters
long, plus extension) which must NOT contain non alphabetic or numerical
characters.
Application Title: Time to get creative and give the to be created
application a snazy looking title.
Program Name: The program generated will be compiled to one file,
which must be up to 8 characters long - NO extension is required as
Clipper will give it a .EXE when compiled.
Author (Your Name): Well, once the programs compiled and running, it would
not do to have someone elses name on the startup screen - or even the
ABOUT!!! screen now would it?
Label File: If you have a copy of RL which came with your Clipper
package, or dBASE you can create a .LBL file for labels and include it in
your application - note that even if you have not created one yet, you can
do so later. The filename here is simply a default for the user to choose
when opting to print labels.
Report File: This is the name of the default REPORT file (.FRM)
12
which you can create using either dBASE, RL or any other dBASE report form
creation utility.
Opening Screen: You can create a nice looking front end screen
using a tradional ASCII editor in DOS, or, using say THEDRAW create a
front end screen (ANSI). This really is for users who do not have a copy
of SWPAINT and therefore cannot create .PCX files as their front end
screens.
13
Will your Application use Zooming Windows?
If this is entered as 'Y' all screens (windows) opening in your created
application will 'ZOOM' into place. This adds a bit of style to the
application.
Will your Application use Beeping Windows?
If this is entered as 'Y' all screens (windows) opening in your created
application will issue a 'triple beep' sound.
Will the user be able to FILTER any entries?
If this is entered as 'Y' the user will be able to create listings of
entries based on certain conditions. It is HIGHLY recommended that you
enter 'Y' here to get the full benefit of the application.
Will the user be able to DELETE any entries?
If this is entered as 'Y' the user will be able to completely remove
entries from the database.
Must a Password be entered to access the Application?
If this is entered as 'Y' the user will need to enter a password of up to
8 characters, already defined by you before he / she can access the
created application proper.
Placement of Program Placement of Program
Where do you wish to place the created system?
Enter Drive & Subdirectory eg: C:\PROGRAMS\PROGCREA
C:\PROGRAMS\PROGCREA
This is probably the most important part of this screen. Here you will
need to enter the place where the files necessary to create the
application should be placed. Note that this defaults to the position
where PROGCREA is currently on the hard disk. It is HIGHLY recommended
that you DO NOT place your program in the same area.
Once you enter where you wish to place the program, the system will then
check whether the subdirectory / drive exists. If the subdirectory does
not exist it will be created. If it is not possible to create the
subdirectory in any way the system will exit back to Msdos.
On the next page there is a typical example of a filled in startup screen:
14
PROGCREA, (c) Geoffrey Evelyn, AGSM, ASPD, Ba HONS.
Application Generation information - fill in ALL boxes please!!!
Database Title : FLPDATA.DBF
Application Title : Floppy Disk Catalogue System
Program EXE name : FLPDATA
Author (Your Name) : Geoffrey Evelyn
Label File (You generate & define this, using say RL.EXE) :
FLPLABEL.LBL
Report File (You generate & define this, using say RL.EXE) :
FLPREPRT.FRM
Opening Screen (Ascii/Ansi Startup Screen for Application) : FLPSCREN.TXT
Config. File (This stores the Program Configuration) : FLPDATA.CNF
Optional Optional
Will your Application use Zooming Windows? [y/n] : N
Will your Application use Beeping Windows? [y/n] : N
Will the user be able to FILTER any entries? [y/n] : Y
Will the user be able to DELETE any entries? [y/n] : Y
Must a Password be entered to access the Application? [y/n] : N
Placement of Program Placement of Program
Where do you wish to place the created system?
Enter Drive & Subdirectory eg: C:\PROGRAMS\PROGCREA
C:\PROGRAMS\PROGCREA\FLPDATA
15
After the Startup Screen.
Following this you will need to confirm the entry at the bottom of the
screen. If you have done this Progcrea will switch into 43/80 line mode.
The reasons for this is as follows.
In generating your own database within Progcrea, I needed as much space as
possible to list as many fields as possible!
You will find when designing your input data screen that you may need all
23 lines of core display.
However, on THIS screen you will be presented with a list of items which
will appear as the bar line menu. Here, you may alter the information
provided. Please remember that each first letter of each option displayed
must be unique.
Option Titles for Floppy Disk Cateloger Program.
Please note: make the first letter of each option different from the
rest.
Default. User Entry.
-------- -----------
Keyfind Key Search
Exit Leave
Options
Filter
Set Order
Utils Utilities
Change the titles as you see fit. If they any are left blank the 'blank'
will default to the title on its left.
I must iterate the point. Make sure that each first letter of each option
is unique.
16
Database Creation.
If at the start of Progcrea you decided to use an existing structure
RECOGNISED by Progcrea, the next page will be skipped and the resultant
structure 'read in' by Progcrea. If this is the case, please skip this
section.
Here you are able to create a database within Progcrea. Notice that the
first three fields are defined by Progcrea.
Database Structure Creation Screen.
-------- --------- -------- -------
Floppy Disk Cateloger Program, Database name is FLPDATA.DBF, Progname
FLPDATA
Field Title Type Length Decimals
Refno N 10 0
Edate D 8 2
Udate D 8 3
F_TITLE C 40 4
FL_CASENUMB N 4 0
FL_TYPE C 20 6
FL_AGE N 2 0
To leave this screen, simply press return on a blank field title.
Please note the following here:
1: That ANY type field can be used with a ceiling of 1024 fields definable
within Progcrea.
2: That it is recommended that you make each field unique so that there
are no clashes with other fields / variables used in MASK.OBJ or
BASEBIT2.OBJ. To do this, see the example fields above, eg, TITLE is
preceeded by FL_.
3: That character fields can be up to 1024 characters in length.
17
Giving Fields Long and Short Descriptions.
When the user is entering data into the created system you will need to
make sure that they know what data goes into what field. To do this, long
descriptions (up to 40 characters) need to be given for each of these
fields.
When the user is filtering, sorting, searching, browsing, picking fields
for a report obviously you will not want to use long descriptions to
clutter up the screen. In this instance, you will need to enter short
descriptions for each field.
Note - You MUST enter long and short descriptions for each field. The long
descriptions will be used for the next stage of Program Creation; namely
the designing of the input screen(s) and therefore the placement of the
long descriptions.
Before doing this, is does help if you sketch out your screen display on
paper first. This helps with how long each description should be.
The first three fields of your database, REFNO, EDATE and UDATE will
already automatically be given a long and a short description each. You
may not modify any of these. To change other field descriptions move the
highlight using the up / down arrow keys to the field to be given a
description then press RETURN. Similarly, by pressing the first letter of
the field the highlight will drop directly to that field. When you have
selected a field you will then need to enter a short description. If a
short description does not already exist for that particular field the
information you have entered will be echoed to the long description
prompt. This is given to speed up instances where the short and long
descriptions are exactly the same. However, you can modify the long
description or remove it completely.
Note. To save typing in some instances; for example, the a field short
description is 'TITLE', you will find that after pressing return to
continue to the Input Screen Description (Long description) that the word
'TITLE' also appears. Press RETURN again to accept that as the default of
that field. You could therefore simply use the cursor keys to move to the
end and add more information to the word 'TITLE'. For example, 'TITLE OF
THE DISK' would do just as well.
At the end of entry, you will be asked if the information you have entered
is satisfactory. If it is not, you will be able to correct your entries.
18
Input Screen Design
When you have completed this you will be asked to give a title to the
input screen, and to choose up to 50 screens for input
display.
Take a look at the following screen display:
For Character Fields, will the data entered be forced into UpperCase?
[Y/N]: N
How many Data Input Screens will you require in your program?
[1-50]: 1
Enter the Title of the Data Entry Screen Below :
Data Entry Screen
Enter the Title for your Data Entry Printouts :
Hard Copy Printout
Date Format (Defaults to BRITISH).
Press A for American : mm/dd/yy
Press N for Ansi : yy.mm.dd
Press B for British : dd/mm/yy
Press F for French : dd/mm/yy
Press G for German : dd.mm.yy
Press I for Italian : dd-mm-yy
Press J for Japanese : yy/mm/dd
Press U for USA : mm-dd-yy
Date Format? : B
Force the user to press RETURN to move to NEXT field? : Y
Allow the User to press ESCAPE to abort Data Entry? : Y
Switch BELL ON for validation / last position in a GET? : Y
Display the Scoreboard at top left of screen? : N
No Memos in Database - Memo options disabled.
Note that all the options you choose here directly affect the data entry
screen. No other options within the created program will be affected by
your choices here.
If you wish to allow the user to enter information in a mixture of Upper
and Lower Case, then leave 'Do you wish to force Uppercase Entry for
character fields' to 'N'.
You can choose as many input screens as you wish. PROGCREA will, at the
end of screen design, only create code required to use as many screens as
you actually filled.
Date Format. Simply choose the letter relevant to the date format you
19
require. Note that this defaults to a British date (dd-day, mm-month and
yy-year).
Force the user to press RETURN to move to next field. When the user is
entering data, to confirm that to the GET the user will need to press
RETURN. This is the default method for adding information into your
database. However, if you wish the user to be able to use arrow keys to
move throughout the data entry screen whilst making changes then set this
flag to N. For further information, see your Clipper Language Reference
Manual under SET CONFIRM.
Allow the user to press ESCAPE to abort the Data Entry. When the user is
entering data, to quickly abort the entering of this data the user could
press ESCAPE. This then brings up the data requester option allowing the
save or complete abort of the data entry. This defaults to Y. If you do
not want the user to be able to abort (for validation purposes perhaps)
then set this flag to N. For furtehr information, see your Clipper
Language Reference Manual under SET ESCAPE.
Switch Bell ON for validation / last position in a GET. When the user is
entering data, if this flag is set to Y then when a particular prompt
entry is full the program will issue a beep. The program will also beep
when invalid data (for example invalid date entry) is found. This flag
defaults to N. If you wish the user to be notified of invalid data entry
then you may set this flag to Y. For further information, see your Clipper
Language Reference Manual under SET BELL.
Display the Scoreboard at the top of the screen. Setting this flag to Y
allows the user to see the status of INSERT (on or off) and displays
information about invalid entries (eg RANGE or invalid date entries). This
defaults to N. If you wish the user to be able to see this information
then set the flag to Y. For further information, see your Clipper Language
Reference Manual under SET SCOREBOARD.
20
The design of the input screen is very simple. You will be presented with
the fields in your database one by one. By using the cursor movement keys,
position the field where you wish on the screen. When you have found a
good position for the field press RETURN. You will be then asked to enter
the @GET sequence number. The best way to explain this is to imagine the
first three fields in your database. These take the sequence 1,2,3
respectively, since that if the user moves from the Reference Number field
to the next available field, that field will be Entry Date, then the next
would be Update Date.
This means that the structure of your database can be in any order (though
in essence it is bad practice to do this). All you need to do is to choose
a sequence of the @GET for each field.
A quick note here. The Reference Number, Entry Date and Update Date are
NOT part of the @GET sequence. The reason for this is basically that you
only get access to the Reference Number when either searching or adding a
new entry. The Entry and Update Date are updated automatically by the
generated application, based on whether you are making a modification or
adding new information to the database. The sequence numbers that appear
at the foot of the screen as you position each field is relative to the
number of @GETable fields ONCE you are modifying or adding an entry.
21
Here is an overview of what you can expect to see (Screen Shot).
Data Entry Screen Data Entry Screen
Ref Number :9999999999 Entry Date : / / Update Date: / / Ref Number :9999999999 Entry Date : / / Update Date: / /
Title:!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Commands:
Keys; Up: Field Up. Down: Field Down. Left: Field Left: Right: Field
Right
RETURN: Position Field. PageDown: NEXT Screen. Page Up: PREVIOUS
Screen
Field Number Currently Selected :4 of 7
Next available @SAY...GET Sequence Number for this screen:1
Current Data Coordinates of field F_TITLE
Lines Down : 24 Lines Across: 1 Screen? : Screen Number 1 of 1
The field appears in the form as SHORT TITLE:<LENGTH OF FIELD> where
'LENGTH OF FIELD' is either a row of spaces relevant to the size of the
field which contains:
9s - for Numerical Fields.
! - for Character Fields (ONLY if you decided to force the user to enter
information in uppercase).
Y - Logical - the user MUST enter 'N' for 'Y' (Yes or No).
99/99/99 - Date Fields.
TEXTDATA - Memo Fields - These are NOT GETTABLE - they are only there to
inform the user that a Memo field is available for data entry.
The word 'Data Entry Screen' would be replaced by the title of the input
screen (see previous page).
The screen works on automatic wrap round. If the field position plus the
length of field is greater than 78 the field will move back to the start
of the line.
The screen also works on automatic field truncation. This only relates to
fields whose character length exceeds the screen width. In this case the
@GET is converted to a scrollable @GET field.
Below is an example of a completed screen, still following our Floppy Disk
Catalogue example:
Data Entry Screen
Ref Number :9999999999 Entry Date : / / Update Date: / /
Title:!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Case Number:9999
Disk Type:!!!!!!!!!!!!!!!!!!!!
22
Disk Age:99
Hints:
1: Try to design your screens on paper before using the screen designer.
2: Make sure that there is plenty of room to move around the screen; try
not to clutter data entry display!
23
Selecting Keyword and Searchable Fields.
Keyword Fields are those which:
Can be directly searched by the user using the 'Keyfind' function, and
can be BROWSED using the 'Browse Keyword Fields'.
Using Keyword Fields is useful in quite a few situations. Probably a good
way to describe a scenario is where the user needs to find an entry very
quickly by Postcode. This is no problem if Postcode is a Keyword Field.
There is no limit to the number of Keyword Fields you can have in the
created application. If all your fields in the database were character,
you could very easily make them all keyword fields.
Keyword and Searhable Fields MUST be of character type.
+-------------------------------------------------------------------------
---+
SELECT KEYWORD FIELDS
+-------------------------------------------------------------------------
---+
+-------------------------------------------------------------------------
------------------+
Select / de-select the Fields you wish to use as KEYFIELDS by
highlighting
and pressing -+
+-----------Press ESC when happy with your selected keyfield
list---------------+
+Field Name------------------------------Selected? '*** PICKED ***
=YES'-----+
F_TITLE
FL_TYPE
Following our Floppy Disk Catalogue example there are only two fields
which are character. Move the highlight bar over the fields you wish to
include and press RETURN. Once a field has been selected as a Keyword
Field the *** PICKED *** column will reflect *** PICKED ***. If you wish
to de-select the field, move to one that is already picked and press
RETURN when it is highlighted. This will de-select the field and remove
the *** PICKED *** prompt.
Once you have selected all your Keyword Fields, press ESCAPE. You will be
informed of how many keyword fields you have chosen and asked whether this
is ok. If it is, select 'YES!' To select your Searchable Fields.
Picking Searchable Fields is done in exactly the same was as for picking
24
Keyword Fields, except that you may only choose two of these out of all
your character fields.
Searchable Fields are those which the user has direct access to for quick
searching when actually modifying the details of a client when the
reference number is not known. It is very important, therefore that you
choose a field which is about as important (to you) as the Reference
Number Field itself.
25
OK, Lets PROGCREATE!!!
Finally, you have reached the stage where PROGCREA takes over and
generates the code required to link with MASK.OBJ and BASEBIT2.OBJ to
create the application. In the case of our example this will be FLPDATA.
Before it does this however, you will be asked the following:
FINAL OPTIONS BEFORE PROGRAM CREATION
Here you are able to include 3rd party libraries into the program
to be created. Note that any of the libraries you include must already
be either on the path of environment lists!
Note that CLIPPER, EXTEND is already included for the RTLINK script.
Options:
Compile including the add-on library SWPAINT? [y/n] : N
Compile including the add-on library FUNCKY? [y/n] : N
Compile including the add-on library DR ASE? [y/n] : N
Compile including the add-on library GFORCE? [y/n] : N
If using SWPAINT, enter front end .PCX filename :
If using SWPAINT, enter .PCX filename coordinates below:
Upper Left X : 40 Upper Left Y : 50
Lower Right X : 600 Lower Right Y : 285
Do you want this program to run on a network? [y/n]: N
PROGCREA supports the 3rd party libraries above. In fact, PROGCREA creates
the function calls even if you do not include SWPAINT and/or FUNCKY. The
reason why they are provided as options are two - fold. Firstly, if you
use any of these 3rd party libraries you could write code utilising their
functions and include them in your created application. Secondly, it
allows me to write code which directly supports these libraries. When
PROGCREA creates the object code (OBJECTS.PCR) you will find that upon
examination that it in fact makes a lot of function calls to the FUNCKY
function AFILREAD and AFILEWRITE. If you do not use FUNCKY II, PROGCREA
creates the 'calls' for the functions it uses in MASK / BASEBIT2.OBJ which
are from FUNCKY II libraries.
This is not much of an advert, but FUNCKY II (c De Lesko Associates) is a
perfect add on for a clipper programmer - just two functions which
PROGCREA takes full advantage of is AFILEREAD and AFILEWRITE. These allow
the writing and reading of arrays to and from disk.
DR ASE is basically DR SWITCH ASE which allows you to turn the created
program into a Terminate and Stay Resident Program.
SWPAINT allows you to include .PCX files and graphics into the created
program. If you decide to use SWPAINT and are thinking strongly of
creating a graphics .PCX file for the front end screen, enter the title of
that .PCX file. You will then need to enter the coordinates of the .PCX
file on screen. The default figures shown above work very well for a .PCX
file whose dimensions are 300 by 300
26
GFORCE allows you to do what SWPAINT does but more. It also allows you to
completely change your created program into a GUI (Graphical User
Interface).
27
Finally, there is an option allowing you to run the created program on a
network. If you do want to do this, the created program will instigate
automatic file locking and sharing on a network. See USEMASTER and
USETANKFILE for further information in the MASK / BASEBIT2 documentation.
The information below relates only to those who have registered PROGCREA.
Altering the ABOUT!!! option!
'About Type the title of the program here' information.
You can enter up to SIX lines of information about your product.
This will override the address of Geoffrey Evelyn, AGSM, ASPD, Ba HONS.
Do you wish to do this? [y/n]: N
After deciding whether the application is multiuser (network), you can
then opt to change the ABOUT!!! screen information, which, if not altered
defaults to the address of the author of PROGCREA. If you decide to do
this, then type 'Y' and enter up to 6 lines (75 characters each) of
information about your created program. In doing this:
1: You personalise the package (after all, you put in the hard work to
make it happen!!!)
2: The system is royalty free anyway - why don't you advertise the fact??
3: You override the address of the author (ie me, Geoffrey Evelyn).
Including your OWN functions calls automatically.
Inclusion of your OWN Functions & Options.
You can also include your OWN options into the application.
Do you wish to do this? [y/n]: N
You may add up to three extra options to the OPTIONS menu of your created
program. This gives you even greater flexibility and allows you to tailor
the program to meet a user requirement. If you decide to do this you will
need to enter the title of the function, and its descriptive title for the
menu, eg:
Function Title Descriptive Title
MY_PLAYGAME Play a Game now!
MY_SCREENSAVE Blank out the Screen
MY_PROGCALC Programmers Calculator.
Note that these are examples, but they do throw up a number of hints:
1: Note that for each Function Title I decided to classify my group of
functions as MY_<name of function>. In doing this I make sure that my
function calls do not clash with those in MASK or BASEBIT2
2:Make sure that you do not type the name of a FUNCTION twice or a
Descriptive Title twice; PROGCREA will not continue unless the information
is valid!
3:Do not include () or any other non alphabetical or non numerical
characters. PROGCREA will automatically append () to each Function Title
you enter.
28
When you have completed this, PROGCREA will save the information you have
entered. When the code is being generated, the names of all these
functions will be created following an overriding function called
CALLOUT(). The aim of this function is to branch one of your functions.
CALLOUT() is 'called' by OPTISYS(), which is the menu system for the
Options Menu. See the MASK / BASEBIT2.OBJ documentation for further
details.
29
Including your own Program Files / OBJ files.
Do you wish to include your own .OBJ/.PRG files? [Y/N]: N
When PROGCREA creates the object code OBJECTS.PCR it also creates a batch
file called CREAPROG.BAT whose purpose is to compile and link the file
OBJECTS.PCR, MASK.OBJ and BASEBIT2.OBJ to form your created application.
Of course, if you decided to include 3rd party libraries like FUNCKY II
and SWPAINT then those statements would also be included in this file.
Basically, the RTLINK line in the file CREAPROG.BAT is a very simplistic
one:
RTLINK FILE <FILES TO LINK> LIB <LIBRARIES TO SEARCH FOR FUNCTIONS> OUTPUT
<EXECUTABLE FILE>
<FILES TO LINK> - This is where the term MASK,BASEBIT2,OBJECTS will appear
- MASK.OBJ will ALWAYS appear first on this line and MUST DO SO for a
program to be created successfully.
<LIBRARIES TO SEARCH FOR FUNCTIONS> - This is where the CLIPPER, EXTEND
and any other names of 3rd party libraries will appear. Basically, SWPAINT
will be SWPAINT, FUNCKY II will be split by FUNCKY15,FUNCKY50 etc.
<OUTPUT> - At the start of PROGCREAting you decided on a program .EXE
title. This will appear here and will be only ONE WORD.
If you decide to include your own outside programs and object files,
simply type 'Y' and enter the titles of all of them. Note that they will
need to be either in the DOS PATH or in the current directory or in the
directory where the program is going to be compiled. In fact, it is very
important to have the .PRG files in the output directory before you run
CREAPROG.
30
PROGCREATING stage.
When PROGCREA actually creates the heart of your application, you may see
the following information appear on screen:
Program Creation Stage.
Program Code Created...
Program Creator Batch File Stage.
Creation of Compiler Batch Complete
Final Stage - move files to new directory if required.
File movement, if required, Complete.
Program Ready to Compile.
For this CLIPPER 5 (or greater) and EXTEND.LIB (v 5.0 > version) and ANY
LIBRARIES you have decided to include should be on the DOS PATH.
Type CREAPROG -+ to compile PROGAPP.
Now you will be placed in the output directory and be asked to type
CREAPROG to compile the application.
A number of tips here:
1: Check, do you have enough hard disk space to create an output file
(safe side 600k)
2: Check, are all the files you actually included in the output directory
or on the path.
3: It does pay to make a backup copy of the file OBJECTS.PCR.
4: It does pay to examine the file OBJECTS.PCR and make changes to it as
you see fit (MAKE SURE YOU BACK IT UP FIRST!)
31
Other bits and bobs
The Program Creator has and is being used and tested in many
organisations, with systems from customer survey to registration tracking
to accountancy systems being created. So far all my customers are happy,
and I want to keep them that way. If you would like to make a comment,
criticise, suggest or even pat me on the back for a wonderful system
(which is totally acceptable) then please contact me; the information to
contact me can be found below.
Mask.obj and Basebit2.obj are being enhanced even as this document is
being written. New versions will appear! All users will be kept up to date
with all enhancements made and hopefully soon I'll have a proper user
group up and running.
Contact? Me? How? Contact? Me? How?
Geoffrey Evelyn.
HOME:
14 BOWSDEN TERRACE
SOUTH GOSFORTH
NEWCASTLE-UPON-TYNE
NE3 1RX
091 284 0785 - AFTER 7PM PLEASE
Bulletin Boards. Bulletin Boards.
Hobbits Armpit : 0772 735122
NANTUCKET Clipper BBS : 0707 373382
SHAREWARE (PC FORUM) : 0732 770539
VALENTINES BBS : 0305 251830
COMPUSERVE : CAClipper Forum,
GO CLIPPER (NANFORUM after 22nd Dec 1992), Address
100013,1060
32