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 >
Text File  |  1992-12-14  |  56KB  |  2,431 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.                                     PROGCREA
  9.  
  10.                  The 'Quick' Program Generator for Clipper Users                 The 'Quick' Program Generator for Clipper Users                 _______________________________________________
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.       The Program System that creates
  18.      Applications in the Nick of Time.
  19.  
  20.       This is a Shareware Product By:
  21.  
  22.       Geoffrey Evelyn, ASPD, AGSM, BA
  23.                    Hons.
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.                                     PROGCREA
  78.                        Version 1.1,1.2,1.3,1.5, 1989,90,91
  79.                             Version 2.0,2.1,2.2, 1992
  80.  
  81.  
  82.                The QUICK PROGCRAM CREATOR FOR CLIPPER PROGRAMMERS
  83.  
  84.                     Copyright 1989,90,91,92, Geoffrey Evelyn
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.                                 TABLE OF CONTENTS                                TABLE OF CONTENTS
  149.  
  150.  
  151.    COPYRIGHT AND TRADEMARK NOTICES . . . . . . . . . . . . . . . . . . .     1
  152.  
  153.    DISCLAIMER  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     2
  154.  
  155.    CONTENTS OF PROGCREA PACKAGE  . . . . . . . . . . . . . . . . . . . .     4
  156.  
  157.    INTRODUCTION  . . . . . . . . . . . . . . . . . . . . . . . . . . . .     5
  158.  
  159.    Before you run PROGCREA for the first time  . . . . . . . . . . . . .     7   Before you run PROGCREA for the first time
  160.  
  161.    HOW TO USE PROGCREA . . . . . . . . . . . . . . . . . . . . . . . . .     8
  162.  
  163.    After the Startup Screen. . . . . . . . . . . . . . . . . . . . . . .    16
  164.  
  165.    Database Creation.  . . . . . . . . . . . . . . . . . . . . . . . . .    17
  166.  
  167.    Giving Fields Long and Short Descriptions.  . . . . . . . . . . . . .    18
  168.  
  169.    Input Screen Design . . . . . . . . . . . . . . . . . . . . . . . . .    19
  170.  
  171.    Selecting Keyword and Searchable Fields.  . . . . . . . . . . . . . .    24
  172.  
  173.    OK, Lets PROGCREATE!!!  . . . . . . . . . . . . . . . . . . . . . . .    26
  174.  
  175.    Including your own Program Files / OBJ files. . . . . . . . . . . . .    30
  176.  
  177.    PROGCREATING stage. . . . . . . . . . . . . . . . . . . . . . . . . .    31
  178.  
  179.    Other bits and bobs . . . . . . . . . . . . . . . . . . . . . . . . .    32
  180.  
  181.    Contact? Me? How? . . . . . . . . . . . . . . . . . . . . . . . . . .    32
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.    COPYRIGHT AND TRADEMARK NOTICES
  198.  
  199.    CLIPPER  and  NANTUCKET   are  trademarks  of  Nantucket  Corporation,  now
  200.    Computer Associates.
  201.  
  202.    Word Perfect is a trademark of Word Perfect Corporation Inc.
  203.  
  204.    FUNCKY II is a copyright of dLesko Incorporated.
  205.  
  206.    SWPAINT is a copyright of Silverware Incorporated.
  207.  
  208.    GFORCE is a copyright of  Calypso Software Ltd.
  209.  
  210.    DR  Switch   ASE  is   a  copyright  of   Black  and  White   International
  211.    Incorporated.
  212.  
  213.    dBASE   is   a  trademark   of   Ashton-Tate   Corportation,  now   Borland
  214.    International.
  215.  
  216.    Acknowledgements.
  217.  
  218.    In no particular order:
  219.  
  220.    My  wife, Kaye, for  all her loving support,  who gave  me the insight into
  221.    creating software to create itself.
  222.  
  223.    My  daughter, Josephine, who  was the  inspiration, and kept  me going even
  224.    when the going got tough!
  225.  
  226.    The Nantucket  Support Team (Technical), for  giving me insights  into code
  227.    that sunk me into my chair in awe.
  228.  
  229.    The Nantucket  Bulletin Board  UK, for having  some brillant developers  to
  230.    help me out.
  231.  
  232.    Compuserve CA Clipper Forum, for having some more brilliant developers!!
  233.  
  234.    Finally, a big thanks to Clipper 5.01!
  235.  
  236.    To  the  Beta  Testers:  Mrinal Kundu,  Mark  Swan,  George  Fuller,  'Jet'
  237.    Harrison (Compuserve), Gary Lucas (Mad Software Ltd).
  238.  
  239.    To all other users of PROGCREA who keep this  brilliant package afloat - if
  240.    your reading this, pat yourself on the back!!
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.                                         1
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.    DISCLAIMER
  268.  
  269.    The PROGCREA system and files is provided "as is" without warranty of any
  270.    kind, either expressed or implied, including but not limited to  the
  271.    implied warranties of merchantability and fitness for a particular
  272.    purpose.  No representation is made that the PROGCREA will meet the users'
  273.    particular requirements.  The user assumes the entire risk associated with
  274.    the use of the PROGCREA and is solely responsible for the use and
  275.    operation of these functions in any application the user distributes which
  276.    may make use of PROGCREA.
  277.  
  278.    All Rights Reserved. No part of this publication may be reproduced,
  279.    transmitted, stored in a retrieval system, or translated into any other
  280.    language or computer language in whole or in part, in any form or by any
  281.    means, whether it be electronic, mechanical, magnetic, optical, manual or
  282.    otherwise, without the prior written consent of Geoffrey F.G Evelyn, the
  283.    AUTHOR.
  284.  
  285.    Definitions:
  286.    The term 'Software' as used in this copyright means the computer programs
  287.    contained in the disks in this package, together with any updates
  288.    subsequently supplied by Geoffrey F.G. Evelyn. The term 'Software Copies'
  289.    means the actual copies of all or any portion of the Software including
  290.    backups, updates, merged or
  291.    partial copies permitted hereunder or subsequently supplied by Geoffrey
  292.    F.G. Evelyn.
  293.    The term 'Related Materials' means all of the printed materials provided
  294.    in this package or later supplied by Geoffrey F.G. Evelyn.
  295.  
  296.    Permitted Users:
  297.    You may:
  298.      Load into RAM and use the Software on a single terminal or a  single
  299.    workstation of a computer (or its replacement).
  300.      Install the Software onto a permanent storage device (a hard  disk
  301.    drive).
  302.  
  303.    This copyright gives you limited rights to use the Software, Software
  304.    Copies and Related Materials. You do not become the owner of, and Geoffrey
  305.    F.G. Evelyn retains title to, all the Software, Software Copies and
  306.    Printed Materials. In addition, you agree to use reasonable efforts to
  307.    protect the Software from
  308.    unauthorised use, reproduction, distribution, or publication. All rights
  309.    not specifically granted in this copyright are reserved by Geoffrey F.G.
  310.    Evelyn.
  311.  
  312.    Users Not Permitted:
  313.    You may not
  314.      Make copies of the Software, unless it is registered.
  315.      Make copies of the Related Materials.
  316.      Use the Software in a network of multiple user arrangment  unless you
  317.    have the Multi-User version and
  318.       you pay for and  obtain a separate licensed Software package for each
  319.    terminal or workstation from which
  320.       the software will be actually accessed.
  321.      Rent, lease, lend, sub-licence, time-share, or transfer the Software,
  322.    Related Materials or Software Copies,
  323.  
  324.                                         2
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.       or your rights under this copyright, except that transfers may be made
  338.    with Geoffrey F.G. Evelyn prior
  339.       written authorisation.
  340.      Alter, decompile, disassemble, or reverse-engineer the  Software, or
  341.    make any attempt to unlock or
  342.        bypass the  initialisation system used on the initiased disks.
  343.      Remove or obscure ANY of the copyright and trademark notices.
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.                                         3
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.    CONTENTS OF PROGCREA PACKAGE
  408.  
  409.    DISTRIBUTION Information.
  410.  
  411.    Files supplied in PROGCREA.ZIP are as follows:
  412.  
  413.    File                               Description   File                               Description   ________________                   ___________
  414.  
  415.    PROGCREA EXE             || This is the one that CREATES your programs.
  416.    PROGCREA SCN             || Front end screen for PROGCREA.
  417.    PROGHELP.WP5             || Word Perfect Documentation for generated
  418.    applications.
  419.    PROGHELP.ASC             || DOS TEXT FILE (ASCII) docs for generated
  420.    applications.
  421.    MASK.OBJ                 || Main object to link in with whatever PROGCREA
  422.    creates.
  423.    BASEBIT2.OBJ                  || Secondary link object for MASK.OBJ.
  424.    PRINTDOC.BAT             || This enables you to printout the Documention.
  425.    MANUAL.WP5               || Progcrea Manual, covers MASK.OBJ and
  426.    BASEBIT2.OBJ
  427.    MANUAL.ASC                    || Same as above but in ASCII format.
  428.    PGFILE.TXT                    || A documented version of an example
  429.    OBJECTS.PCR.
  430.    README.NOW               || Important information (after documentation was
  431.    printed).
  432.    FILTSAVE.DAT             || Used by MASK.OBJ to save your existing
  433.    filters.
  434.    PRINTER.DAT                   || Used by BASEBIT2.OBJ for Printer
  435.    Definitions.
  436.    REGISTER.FRM             || Please fill this in to register PROGCREA!!!
  437.    PACKING.INF                   || Simple list of all files contained in
  438.    PROGCREA.ZIP file.
  439.    TOPBIT.SCR                    || Front end for PROGCREA.ZIP file
  440.  
  441.  
  442.    All files given on this list have been scanned for viruses and are CLEAN!
  443.    This was done using MCAFFEE and Pctools Virus Scanner Kit.
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.                                         4
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.    INTRODUCTION
  478.  
  479.    ProgCREA is designed for any programmer of Clipper 5.0 who wants to create
  480.    a database application in a matter of hours, not days. The reason why I
  481.    decided to create such a system came about when my boss requested a system
  482.    which he wanted working in the space of 3 days, but wanted to have the
  483.    ability to change the specification at any time drastically which would
  484.    mean reconstruction of virtually  all of the code to accomodate.
  485.  
  486.    After completing the beta test version I was surprised at the speed at
  487.    which I could create standard systems for the organisation; all
  488.    I needed was the database structure and, presto, in a hour I had a brand
  489.    new application far superior to any others in the place!
  490.  
  491.    Progcrea takes you through the steps of either the creation of the
  492.    database structure, or if you want to use another database structure
  493.    a few modifications will be needed in order for Progcrea to use it. It
  494.    will take you through the array definition prompts, the @SAY/GET prompts,
  495.    allow you to position those on a display of one/two screens, take you
  496.    through sort and key field choices, and then produce source code to be
  497.    linked directly to Mask.OBJ, the file with all the features to use your
  498.    CREATED code to optimum use.
  499.  
  500.  
  501.    So, why use PROGCREA anyway?
  502.  
  503.    1: It is a valuable learning tool to the Novice Clipper Programmer. See
  504.    what Clipper is able to do where other packages fail. Even if you don't
  505.    like the application created, examine the created code, change it, add
  506.    some of your own routines and recompile. In seconds you can see the
  507.    results!
  508.  
  509.    2: For support programmers and analysts. It can show to the end user very
  510.    quickly (A) - what a standardised format system, bug free and VERY easy to
  511.    maintain benefits the organisation (B) - It enables you to create one off
  512.    systems in a snap. (C) - It enables you to create quick beta test systems
  513.    for data entry purposes, even allows you to reuse functions without even
  514.    being forced to use the front end screen!
  515.  
  516.    3: It has a VERY strong support team behind it - experienced programmers
  517.    in Summer 87, Clipper, C, C++ and Assembler - If PROGCREA cant do what you
  518.    want now, give it to our support team and get quick results!
  519.  
  520.  
  521.    What you need to run PROGCREA.
  522.  
  523.    Minimum Hardware Requirements:   Minimum Hardware Requirements:
  524.  
  525.    1: An IBM Personal Computer, IBM Personal System/2, a COMPAQ Personal
  526.    Computer or one that is compatible.
  527.    2: A Monochrome or Color Monitor.
  528.    3: 640KB of Memory Base RAM.
  529.    4: At least 2MB of Free Hard Disk Space.
  530.  
  531.    Minimum Operating System Requirements.   Minimum Operating System Requirements.
  532.  
  533.  
  534.                                         5
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.    1: Version 3.2 or a later version of the PC-DOS or MS-DOS operating
  548.    system.
  549.    2: Novell Incorporated's Advanced Netware 1.01 or later versions. This
  550.    also includes ELS Level I and SFT Levels I and II as well as SFT Level II
  551.    with TTS.
  552.    3: IBM PC LAN 1.12 or later versions, MS-NET and compatible networking
  553.    environments.
  554.    4: Version 1.2 or later versions of the 3COM 3+ network environment.
  555.  
  556.    Minimum Software Requirements.
  557.  
  558.    1: CAClipper 5.0 or greater version.
  559.    2: Paths set to the CAClipper BIN directory, OBJ directory, INCLUDE
  560.    directory / environment - this is recommended.
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.  
  604.                                         6
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.    Before you run PROGCREA for the first time   Before you run PROGCREA for the first time
  618.  
  619.    1: Check that you have installed PROGCREA on the hard disk in its own
  620.    subdirectory.
  621.  
  622.    2: If the computer on which PROGCREA resides will be the host development
  623.    computer, it makes sense to copy the files MASK.OBJ and BASEBIT2.OBJ into
  624.    the OBJ directory for Clipper. Note - DO NOT delete these files in the
  625.    Progcrea Directory.
  626.  
  627.    3: Make sure that the computer on which PROGCREA is installed uses an EGA
  628.    or VGA video card capable of switching to 43 line mode. Check your VGA /
  629.    EGA manual for details.
  630.  
  631.  
  632.    What limitations are there in PROGCREA.
  633.  
  634.    Not many really, but here goes.
  635.  
  636.    1: That at least the hard disk space required to create any program using
  637.    PROGCREA. The file created will be OBJECTS.PCR. This file size is dynamic
  638.    and can be as large as 500kb. Other files copied into the created program
  639.    directory will be MASK.OBJ, BASEBIT2.OBJ, REGCODE.PCR, PRINTER.DAT,
  640.    FILTSAVE.DAT and the database either created or brought in. However, all
  641.    things being evil, PROGCREA will not copy files unless there is enough
  642.    hard disk space to do so.
  643.  
  644.    2: That your CONFIG.SYS file includes a FILES= statement which exceeds 20.
  645.  
  646.    3: That your CONFIG.SYS file includes a BUFFERS= statement which exceeds
  647.    10.
  648.  
  649.    4: You can use up to any dBASE field type in PROGCREA, logical, character,
  650.    numeric, date or memo.
  651.  
  652.    5: You can define / use up to 1024 fields in PROGCREA.
  653.  
  654.    6: If you wish to port an existing database so that PROGCREA can design an
  655.    application around it, you MUST make sure that the FIRST THREE FIELDS have
  656.    the following definitions:
  657.  
  658.           1: REFNO, Numeric, 10.
  659.           2: EDATE, Date, 8.
  660.           3: UDATE, Date, 8.
  661.  
  662.    Howeber,  If you are going to create a database from scratch PROGCREA will
  663.    use create those three fields at the top of the database structure by
  664.    default.
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.                                         7
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.    HOW TO USE PROGCREA
  688.                          
  689.    To use ProgCREA, simply type PROGCREA at the DOS prompt. 
  690.  
  691.    The PROGCREA logo screen will appear; press any key to bypass this screen.
  692.    If you have not yet registered your copy of PROGCREA, you will be asked to
  693.    enter a registration code. If you do not enter a code the system will
  694.    assume you have not registered the system (Please register if you have not
  695.    already done so - see REGISTRATION for further information).
  696.  
  697.    The following screen will then appear: (Note that this example is from a
  698.    PROGCREA product not yet registered).
  699.  
  700.    Database Program Creator. (PROGCREA) - Unregistered
  701.    Version 2.21, December 1992.
  702.    Copyright : Geoffrey Evelyn, AGSM, ASPD, Ba HONS.
  703.    PROGCREA allows you to create an complete database application with the
  704.    minimum
  705.    of hassle and fuss, for users of Clipper 5.0/1 who need fast solutions!
  706.  
  707.    PROGCREA is defined as a Shareware Product, so please feel free to
  708.    distribute
  709.    the original PROGCREA.ZIP to all your friends!
  710.  
  711.    If you haven't already done so, please read the documentation MANUAL.DOC
  712.    and README.NOW for further information.
  713.    Please Support the Shareware concept, increase your karma fundamentally
  714.    and Register PROGCREA to get the very latest version!!!
  715.    Finally, HAVE FUN and ENJOY PROGCREA!
  716.  
  717.  
  718.    +----------------------------PROGCREA User
  719.    Options--------------------------------------------+
  720.       A:Create a BRAND new Application - Database also created in this
  721.    system.             
  722.       B:Create a BRAND new Application - Database already created externally. 
  723.                 
  724.       C:Use a PROGCREATED Object Code Definition and create a new
  725.    application.      
  726.       Q:Quit. I do NOT wish to continue any further and want to quit now.     
  727.                         
  728.    +-----------------------------
  729.    --------------------------------------------------------------------------
  730.    ----+
  731.  
  732.                                                                               
  733.                 F1:HELP, ALT/Q:QUICK QUIT
  734.  
  735.    PROGCREA User Options.   PROGCREA User Options.
  736.    1: Create a BRAND new Application - Database also created in this system.
  737.    This simply means that you create your new quick application right here
  738.    within Progcrea AND the structure for the database to be used by this new
  739.    application. This is the default option of the system.
  740.  
  741.    2:Create a BRAND new Application - Database already created externally.
  742.    Same as above, except this time you will need to enter the name of an
  743.  
  744.                                         8
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.    existing database. In doing this you will need to enter the drive, full
  758.    path and name of file plus extension. PROGCREA can distinguish a dBASE or
  759.    Clipper type Dbf automatically and can read a structure of a database
  760.    table of up to 1024 fields.
  761.  
  762.    3:Use a PROGCREATED Object Code Definition and create a new application.
  763.    This is the new option available only to version 2.21 registered users.
  764.    Each program you create whilst using Progcrea will have the set ups for
  765.    that application saved to a file (Object Definition) of your choice. The
  766.    extension however for this file is appended automatically by PROGCREA as
  767.    .POC. This file, when saved is saved to the same directory where your
  768.    Object File (.PCR) is saved.
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.  
  800.  
  801.  
  802.  
  803.  
  804.  
  805.  
  806.  
  807.  
  808.  
  809.  
  810.  
  811.  
  812.  
  813.  
  814.                                         9
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.    HOTKEY F1.
  828.    F1 within PROGCREA is tied directly to an onscreen help option, which
  829.    loads and displays the MANUAL (you are reading this now. You can search
  830.    this by using ALT /S or go to a particular line in the document by using
  831.    ALT /G. Use the up / down, left/right, pagedown/ pageup keys to scroll
  832.    through the text. If you have a mouse connected you have the ability to
  833.    use the template displayed in the bottom right of the screen.
  834.  
  835.    HOTKEY ALT/Q,
  836.    ALT/Q  is used if you wish to leave PROGCREA immediately without creating
  837.    any applications. If you was creating a database structure within PROGCREA
  838.    at the time of doing this that structure will be deleted from the disk.
  839.  
  840.    Note. These keys are only available from the start of the system until
  841.    PROGCREA takes over and actually creates the object code required to build
  842.    the application.
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865.  
  866.  
  867.  
  868.  
  869.  
  870.  
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.                                        10
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.    Object Code Definition Files.
  898.  
  899.    Why is this file so useful?
  900.    a: After creating the application you have suddenly realised that you have
  901.    forgotten to add that field (I've been there).
  902.  
  903.    b: You need to change the positions of the fields in your data entry
  904.    screens.
  905.  
  906.    c: You need to modify the title of the application, field titles, prompts
  907.    etc very quickly without having to hunt through objects.pcr.
  908.  
  909.    d: etc etc (How long is a piece of string scenario).
  910.  
  911.    You will then be asked whether you wish to use an existing database
  912.    structure. You can type 'Y' ONLY if you have a database structure whose
  913.    first three fields are those given on the previous page, OR, if you  wish
  914.    to alter the setups for a previous application already created. 
  915.  
  916.    An Object definition file is composed of <Term>;<result> where <Term> is
  917.    the idenifier of the information for Progcrea and <Term> is the compliment
  918.    of that information. As you create more and more applications, you will be
  919.    more aware of what <terms> are related to what <result>. This file is
  920.    written as a text file; you can therefore use any ascii editor to load and
  921.    modify the file to suit your own requirements.
  922.  
  923.    If this is the first time you are using PROGCREA then do not use this
  924.    option, in that an Object Definition File is only created when a brand new
  925.    application is.
  926.  
  927.  
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.                                        11
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.    So, since this is your first shot at PROGCREA select '1: Create a BRAND
  968.    new Application - Database also created in this system.'. You will then 
  969.    be presented with a number of options.
  970.    Here is a typical quick screen shot:
  971.  
  972.    PROGCREA, (c) Geoffrey Evelyn, AGSM, ASPD, Ba HONS.
  973.    Application Generation information - fill in ALL boxes please!!!
  974.    Database Title      : DBFTITLE.DBF
  975.    Application Title   : Type the title of the program here
  976.    Program EXE name    : PROGAPP
  977.    Author (Your Name)  : Freddy Bean
  978.  
  979.    Label File     (You generate & define this, using say RL.EXE)    :
  980.    LAB_10.LBL
  981.    Report File    (You generate & define this, using say RL.EXE)    :
  982.    REP_10.FRM
  983.    Opening Screen (Ascii/Ansi Startup Screen for Application)  :
  984.    Config. File   (This stores the Program Configuration)      : SYCONFIG.CNF
  985.  
  986.    Optional   Optional
  987.    Will your Application use Zooming Windows?        [y/n]     : N
  988.    Will your Application use Beeping Windows?        [y/n]     : N
  989.    Will the user be able to FILTER any entries?      [y/n]     : N
  990.    Will the user be able to DELETE any entries?      [y/n]     : N
  991.    Must a Password be entered to access the Application?     [y/n]       : N
  992.    Placement of Program   Placement of Program
  993.    Where do you wish to place the created system?
  994.    Enter Drive & Subdirectory eg: C:\PROGRAMS\PROGCREA
  995.    C:\PROGRAMS\PROGCREA
  996.  
  997.    Here is an explanation of the prompts. Note that you MUST fill in EVERY
  998.    prompt, or the system will assume that you do not wish to create an
  999.    application and quit back to Msdos.
  1000.  
  1001.    Database Title:          This is the name of the database (8 characters
  1002.    long, plus extension) which must NOT contain non alphabetic or numerical
  1003.    characters.
  1004.  
  1005.    Application Title:  Time to get creative and give the to be created
  1006.    application a snazy looking title.
  1007.  
  1008.    Program Name:       The program generated will be compiled to one file,
  1009.    which must be up to 8 characters long - NO extension is required as
  1010.    Clipper will give it a .EXE when compiled.
  1011.  
  1012.    Author (Your Name): Well, once the programs compiled and running, it would
  1013.    not do to have someone elses name on the startup screen - or even the
  1014.    ABOUT!!! screen now would it?
  1015.  
  1016.    Label File:         If you have a copy of RL which came with your Clipper
  1017.    package, or dBASE you can create a .LBL file for labels and include it in
  1018.    your application - note that even if you have not created one yet, you can
  1019.    do so later. The filename here is simply a default for the user to choose
  1020.    when opting to print labels.
  1021.  
  1022.    Report File:        This is the name of the default REPORT file (.FRM)
  1023.  
  1024.                                        12
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.    which you can create using either dBASE, RL or any other dBASE report form
  1038.    creation utility.
  1039.  
  1040.    Opening Screen:          You can create a nice looking front end screen
  1041.    using a tradional ASCII editor in DOS, or, using say THEDRAW create a
  1042.    front end screen (ANSI). This really is for users who do not have a copy
  1043.    of SWPAINT and therefore cannot create .PCX files as their front end
  1044.    screens.
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066.  
  1067.  
  1068.  
  1069.  
  1070.  
  1071.  
  1072.  
  1073.  
  1074.  
  1075.  
  1076.  
  1077.  
  1078.  
  1079.  
  1080.  
  1081.  
  1082.  
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092.  
  1093.  
  1094.                                        13
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.    Will your Application use Zooming Windows?
  1108.  
  1109.    If this is entered as 'Y' all screens (windows) opening in your created
  1110.    application will 'ZOOM' into place. This adds a bit of style to the
  1111.    application.
  1112.  
  1113.    Will your Application use Beeping Windows?
  1114.  
  1115.    If this is entered as 'Y' all screens (windows) opening in your created
  1116.    application will issue a 'triple beep' sound.
  1117.  
  1118.    Will the user be able to FILTER any entries? 
  1119.  
  1120.    If this is entered as 'Y' the user will be able to create listings of
  1121.    entries based on certain conditions. It is HIGHLY recommended that you
  1122.    enter 'Y' here to get the full benefit of the application.
  1123.  
  1124.    Will the user be able to DELETE any entries?
  1125.  
  1126.    If this is entered as 'Y' the user will be able to completely remove
  1127.    entries from the database.
  1128.  
  1129.    Must a Password be entered to access the Application?
  1130.  
  1131.    If this is entered as 'Y' the user will need to enter a password of up to
  1132.    8 characters, already defined by you before he / she can access the
  1133.    created application proper.
  1134.  
  1135.  
  1136.    Placement of Program   Placement of Program
  1137.    Where do you wish to place the created system?
  1138.    Enter Drive & Subdirectory eg: C:\PROGRAMS\PROGCREA
  1139.    C:\PROGRAMS\PROGCREA
  1140.  
  1141.    This is probably the most important part of this screen. Here you will
  1142.    need to enter the place where the files necessary to create the
  1143.    application should be placed. Note that this defaults to the position
  1144.    where PROGCREA  is currently on the hard disk. It is HIGHLY recommended
  1145.    that you DO NOT place your program in the same area. 
  1146.  
  1147.    Once you enter where you wish to place the program, the system will then
  1148.    check whether the subdirectory / drive exists.  If the subdirectory does
  1149.    not exist it will be created. If it is not possible to create the
  1150.    subdirectory in any way the system will exit back to Msdos.
  1151.  
  1152.    On the next page there is a typical example of a filled in startup screen:
  1153.  
  1154.  
  1155.  
  1156.  
  1157.  
  1158.  
  1159.  
  1160.  
  1161.  
  1162.  
  1163.  
  1164.                                        14
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.    PROGCREA, (c) Geoffrey Evelyn, AGSM, ASPD, Ba HONS.
  1178.    Application Generation information - fill in ALL boxes please!!!
  1179.    Database Title      : FLPDATA.DBF
  1180.    Application Title   : Floppy Disk Catalogue System
  1181.    Program EXE name    : FLPDATA
  1182.    Author (Your Name)  : Geoffrey Evelyn
  1183.  
  1184.    Label File     (You generate & define this, using say RL.EXE)    :
  1185.    FLPLABEL.LBL
  1186.    Report File    (You generate & define this, using say RL.EXE)    :
  1187.    FLPREPRT.FRM
  1188.    Opening Screen (Ascii/Ansi Startup Screen for Application)  : FLPSCREN.TXT
  1189.    Config. File   (This stores the Program Configuration)      : FLPDATA.CNF
  1190.  
  1191.    Optional   Optional
  1192.    Will your Application use Zooming Windows?              [y/n]    : N
  1193.    Will your Application use Beeping Windows?              [y/n]    : N
  1194.    Will the user be able to FILTER any entries?            [y/n]    : Y
  1195.    Will the user be able to DELETE any entries?            [y/n]    : Y
  1196.    Must a Password be entered to access the Application?   [y/n]    : N
  1197.    Placement of Program   Placement of Program
  1198.    Where do you wish to place the created system?
  1199.    Enter Drive & Subdirectory eg: C:\PROGRAMS\PROGCREA
  1200.    C:\PROGRAMS\PROGCREA\FLPDATA
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234.                                        15
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.    After the Startup Screen.
  1248.  
  1249.    Following this you will need to confirm the entry at the bottom of the
  1250.    screen. If you have done this Progcrea will switch into 43/80 line mode.
  1251.    The reasons for this is as follows.
  1252.  
  1253.    In generating your own database within Progcrea, I needed as much space as
  1254.    possible to list as many fields as possible!
  1255.  
  1256.    You will find when designing your input data screen that you may need all
  1257.    23 lines of core display.
  1258.  
  1259.    However, on THIS screen you will be presented with a list of items which
  1260.    will appear as the bar line menu. Here, you may alter the information
  1261.    provided. Please remember that each first letter of each option displayed
  1262.    must be unique.
  1263.  
  1264.    Option Titles for Floppy Disk Cateloger Program.
  1265.                                                                               
  1266.        
  1267.    Please note: make the first letter of each option different from the 
  1268.    rest.
  1269.  
  1270.    Default.                                     User Entry.
  1271.    --------                                          -----------
  1272.  
  1273.    Keyfind                                      Key Search
  1274.      
  1275.    Exit                                         Leave
  1276.      
  1277.    Options
  1278.      
  1279.    Filter
  1280.      
  1281.    Set Order
  1282.      
  1283.    Utils                         Utilities
  1284.      
  1285.    Change the titles as you see fit. If they any are left blank the  'blank'
  1286.    will default to the title on its left.
  1287.    I must iterate the point. Make sure that each first letter of  each option
  1288.    is unique.
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.                                        16
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.    Database Creation.
  1318.  
  1319.    If at the start of Progcrea you decided to use an existing structure
  1320.    RECOGNISED by Progcrea, the next page will be skipped and the resultant
  1321.    structure 'read in' by Progcrea. If this is the case, please skip this
  1322.    section.
  1323.  
  1324.    Here you are able to create a database within Progcrea. Notice that  the
  1325.    first three fields are defined by Progcrea.
  1326.  
  1327.    Database Structure Creation Screen.
  1328.    -------- --------- -------- -------
  1329.  
  1330.    Floppy Disk Cateloger Program, Database name is FLPDATA.DBF, Progname
  1331.    FLPDATA
  1332.  
  1333.    Field Title         Type Length         Decimals  
  1334.    Refno               N    10        0
  1335.    Edate               D    8         2
  1336.    Udate               D    8         3
  1337.    F_TITLE        C    40        4
  1338.    FL_CASENUMB    N    4         0                   
  1339.    FL_TYPE        C    20        6
  1340.    FL_AGE         N    2         0                   
  1341.  
  1342.    To leave this screen, simply press return on a blank field title.
  1343.  
  1344.    Please note the following here:
  1345.  
  1346.    1: That ANY type field can be used with a ceiling of 1024 fields definable
  1347.    within Progcrea.
  1348.    2: That it is recommended that you make each field unique so that there
  1349.    are no clashes with other fields / variables used in MASK.OBJ or
  1350.    BASEBIT2.OBJ. To do this, see the example fields above, eg, TITLE is
  1351.    preceeded by FL_.
  1352.    3: That character fields can be up to 1024 characters in length.
  1353.  
  1354.  
  1355.  
  1356.  
  1357.  
  1358.  
  1359.  
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.                                        17
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.    Giving Fields Long and Short Descriptions.
  1388.  
  1389.    When the user is entering data into the created system you will need to
  1390.    make sure that they know what data goes into what field. To do this, long
  1391.    descriptions (up to 40 characters) need to be given for each of these
  1392.    fields.
  1393.  
  1394.    When the user is filtering, sorting, searching, browsing, picking fields
  1395.    for a report obviously you will not want to use long descriptions to
  1396.    clutter up the screen. In this instance, you will need to enter short
  1397.    descriptions for each field.
  1398.  
  1399.    Note - You MUST enter long and short descriptions for each field. The long
  1400.    descriptions will be used for the next stage of Program Creation; namely
  1401.    the designing of the input screen(s) and therefore the placement of the
  1402.    long descriptions.
  1403.  
  1404.    Before doing this, is does help if you sketch out your screen display on
  1405.    paper first. This helps with how long each description should be.
  1406.  
  1407.    The first three fields of your database, REFNO, EDATE and UDATE will
  1408.    already automatically be given a long and a short description each. You
  1409.    may not modify any of these. To change other field descriptions move the
  1410.    highlight using the up / down arrow keys to the field to be given a
  1411.    description then press RETURN. Similarly, by pressing the first letter of
  1412.    the field the highlight will drop directly to that field. When you have
  1413.    selected a field you will then need to enter a short description. If a
  1414.    short description does not already exist for that particular field the
  1415.    information you have entered will be echoed to the long description
  1416.    prompt. This is given to speed up instances where the short and long
  1417.    descriptions are exactly the same. However, you can modify the long
  1418.    description or remove it completely.
  1419.  
  1420.    Note. To save typing in some instances; for example, the a field short
  1421.    description is 'TITLE', you will find that after pressing return to
  1422.    continue to the Input Screen Description (Long description) that the word
  1423.    'TITLE' also appears. Press RETURN again to accept that as the default of
  1424.    that field. You could therefore simply use the cursor keys to move to the
  1425.    end and add more information to the word 'TITLE'. For example, 'TITLE OF
  1426.    THE DISK' would do just as well.
  1427.  
  1428.    At the end of entry, you will be asked if the information you have entered
  1429.    is satisfactory. If it is not, you will be able to correct your entries.
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.                                        18
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.    Input Screen Design
  1458.  
  1459.    When you have completed this you will be asked to give a title to the
  1460.    input screen, and to choose up to 50 screens for input
  1461.    display.
  1462.  
  1463.    Take a look at the following screen display:
  1464.  
  1465.    For Character Fields, will the data entered be forced into UpperCase?
  1466.    [Y/N]: N
  1467.    How many Data Input Screens will you require in your program?       
  1468.    [1-50]:  1
  1469.  
  1470.    Enter the Title of the Data Entry Screen Below  :
  1471.    Data Entry Screen
  1472.  
  1473.    Enter the Title for your Data Entry Printouts   :
  1474.    Hard Copy Printout
  1475.  
  1476.    Date Format (Defaults to BRITISH).
  1477.  
  1478.    Press A for American     : mm/dd/yy
  1479.    Press N for Ansi         : yy.mm.dd
  1480.    Press B for British      : dd/mm/yy
  1481.    Press F for French       : dd/mm/yy
  1482.    Press G for German       : dd.mm.yy
  1483.    Press I for Italian      : dd-mm-yy
  1484.    Press J for Japanese          : yy/mm/dd
  1485.    Press U for USA          : mm-dd-yy
  1486.  
  1487.    Date Format?              : B
  1488.  
  1489.  
  1490.    Force the user to press RETURN to move to NEXT field?  : Y
  1491.    Allow the User to press ESCAPE to abort Data Entry?    : Y
  1492.    Switch BELL ON for validation / last position in a GET?     : Y
  1493.    Display the Scoreboard at top left of screen?          : N
  1494.  
  1495.  
  1496.    No Memos in Database - Memo options disabled.
  1497.  
  1498.  
  1499.  
  1500.    Note that all the options you choose here directly affect the data entry
  1501.    screen. No other options within the created program will be affected by
  1502.    your choices here.
  1503.  
  1504.    If you wish to allow the user to enter information in a mixture of Upper
  1505.    and Lower Case, then leave 'Do you wish to force Uppercase Entry for
  1506.    character fields' to 'N'.
  1507.  
  1508.    You can choose as many input screens as you wish. PROGCREA will, at the
  1509.    end of screen design, only create code required to use as many screens as
  1510.    you actually filled.
  1511.  
  1512.    Date Format. Simply choose the letter relevant to the date format you
  1513.  
  1514.                                        19
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.  
  1524.  
  1525.  
  1526.  
  1527.    require. Note that this defaults to a British date (dd-day, mm-month and
  1528.    yy-year).
  1529.  
  1530.    Force the user to press RETURN to move to next field. When the user is
  1531.    entering data, to confirm that to the GET the user will need to press
  1532.    RETURN. This is the default method for adding information into your
  1533.    database. However, if you wish the user to be able to use arrow keys to
  1534.    move throughout the data entry screen whilst making changes then set this
  1535.    flag to N. For further information, see your Clipper Language Reference
  1536.    Manual under SET CONFIRM.
  1537.  
  1538.    Allow the user to press ESCAPE to abort the Data Entry. When the user is
  1539.    entering data, to quickly abort the entering of this data the user could
  1540.    press ESCAPE. This then brings up the data requester option allowing the
  1541.    save or complete abort of the data entry. This defaults to Y. If you do
  1542.    not want the user to be able to abort (for validation purposes perhaps)
  1543.    then set this flag to N. For furtehr information, see your Clipper
  1544.    Language Reference Manual under SET ESCAPE.
  1545.  
  1546.    Switch Bell ON for validation / last position in a GET. When the user is
  1547.    entering data, if this flag is set to Y then when a particular prompt
  1548.    entry is full the program will issue a beep. The program will also beep
  1549.    when invalid data (for example invalid date entry) is found. This flag
  1550.    defaults to N. If you wish the user to be notified of invalid data entry
  1551.    then you may set this flag to Y. For further information, see your Clipper
  1552.    Language Reference Manual under SET BELL.
  1553.  
  1554.    Display the Scoreboard at the top of the screen. Setting this flag to Y
  1555.    allows the user to see the status of INSERT (on or off) and displays
  1556.    information about invalid entries (eg RANGE or invalid date entries). This
  1557.    defaults to N. If you wish the user to be able to see this information
  1558.    then set the flag to Y. For further information, see your Clipper Language
  1559.    Reference Manual under SET SCOREBOARD.
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.                                        20
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590.  
  1591.  
  1592.  
  1593.  
  1594.  
  1595.  
  1596.  
  1597.  
  1598.  
  1599.    The design of the input screen is very simple. You will be presented with
  1600.    the fields in your database one by one. By using the cursor movement keys,
  1601.    position the field where you wish on the screen. When you have found a
  1602.    good position for the field press RETURN. You will be then asked to enter
  1603.    the @GET sequence number. The best way to explain this is to imagine the
  1604.    first three fields in your database. These take the sequence 1,2,3
  1605.    respectively, since that if the user moves from the Reference Number field
  1606.    to the next available field, that field will be Entry Date, then the next
  1607.    would be Update Date.
  1608.  
  1609.    This means that the structure of your database can be in any order (though
  1610.    in essence it is bad practice to do this). All you need to do is to choose
  1611.    a sequence of the @GET for each field.
  1612.  
  1613.    A quick note here. The Reference Number, Entry Date and Update Date are
  1614.    NOT part of the @GET sequence. The reason for this is basically that you
  1615.    only get access to the Reference Number when either searching or adding a
  1616.    new entry. The Entry and Update Date are updated automatically by the
  1617.    generated application, based on whether you are making a modification or
  1618.    adding new information to the database. The sequence numbers that appear
  1619.    at the foot of the screen as you position each field is relative to the
  1620.    number of @GETable fields ONCE you are modifying or adding an entry. 
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.                                        21
  1655.  
  1656.  
  1657.  
  1658.  
  1659.  
  1660.  
  1661.  
  1662.  
  1663.  
  1664.  
  1665.  
  1666.  
  1667.    Here is an overview of what you can expect to see (Screen Shot).
  1668.  
  1669.                                   Data Entry Screen                                  Data Entry Screen
  1670.     Ref Number :9999999999 Entry Date :  /  /        Update Date:  /  /    Ref Number :9999999999 Entry Date :  /  /        Update Date:  /  /
  1671.  
  1672.     
  1673.  
  1674.    Title:!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  1675.                                       Commands:
  1676.  
  1677.       Keys; Up: Field Up. Down: Field Down. Left: Field Left: Right: Field
  1678.    Right
  1679.        RETURN: Position Field. PageDown: NEXT Screen. Page Up: PREVIOUS
  1680.    Screen
  1681.                        Field Number Currently Selected :4 of 7
  1682.              Next available @SAY...GET Sequence Number for this screen:1
  1683.                       Current Data Coordinates of field F_TITLE
  1684.     Lines Down  : 24   Lines Across:  1    Screen? : Screen Number 1 of 1
  1685.  
  1686.    The field appears in the form as SHORT TITLE:<LENGTH OF FIELD> where
  1687.    'LENGTH OF FIELD' is either a row of spaces relevant to the size of the
  1688.    field which contains:
  1689.  
  1690.    9s - for Numerical Fields.
  1691.    !   - for Character Fields (ONLY if you decided to force the user to enter
  1692.    information in uppercase).
  1693.    Y - Logical - the user MUST enter 'N' for 'Y' (Yes or No).
  1694.  
  1695.    99/99/99 - Date Fields.
  1696.    TEXTDATA - Memo Fields - These are NOT GETTABLE - they are only there to
  1697.    inform the user that a Memo field is available for data entry.
  1698.  
  1699.    The word 'Data Entry Screen' would be replaced by the title of the input
  1700.    screen (see previous page).
  1701.  
  1702.    The screen works on automatic wrap round. If the field position plus the
  1703.    length of field is greater than 78 the field will move back to the start
  1704.    of the line.
  1705.  
  1706.    The screen also works on automatic field truncation. This only relates to
  1707.    fields whose character length exceeds the screen width. In this case the
  1708.    @GET is converted to a scrollable @GET field.
  1709.  
  1710.    Below is an example of a completed screen, still following our Floppy Disk
  1711.    Catalogue example:
  1712.  
  1713.                                   Data Entry Screen
  1714.     Ref Number :9999999999 Entry Date :  /  /        Update Date:  /  /
  1715.  
  1716.  
  1717.     Title:!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!   Case Number:9999
  1718.  
  1719.  
  1720.     Disk Type:!!!!!!!!!!!!!!!!!!!!
  1721.  
  1722.  
  1723.  
  1724.                                        22
  1725.  
  1726.  
  1727.  
  1728.  
  1729.  
  1730.  
  1731.  
  1732.  
  1733.  
  1734.  
  1735.  
  1736.  
  1737.      Disk Age:99
  1738.  
  1739.    Hints:
  1740.    1: Try to design your screens on paper before using the screen designer.
  1741.    2: Make sure that there is plenty of room to move around the screen; try
  1742.    not to clutter data entry display!
  1743.  
  1744.  
  1745.  
  1746.  
  1747.  
  1748.  
  1749.  
  1750.  
  1751.  
  1752.  
  1753.  
  1754.  
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779.  
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.  
  1787.  
  1788.  
  1789.  
  1790.  
  1791.  
  1792.  
  1793.  
  1794.                                        23
  1795.  
  1796.  
  1797.  
  1798.  
  1799.  
  1800.  
  1801.  
  1802.  
  1803.  
  1804.  
  1805.  
  1806.  
  1807.    Selecting Keyword and Searchable Fields.
  1808.  
  1809.  
  1810.    Keyword Fields are those which:
  1811.  
  1812.     Can be directly searched by the user using the 'Keyfind' function, and
  1813.    can be BROWSED using the 'Browse Keyword Fields'.
  1814.  
  1815.    Using Keyword Fields is useful in quite a few situations. Probably a good
  1816.    way to describe a scenario is where the user needs to find an entry very
  1817.    quickly by Postcode. This is no problem if Postcode is a Keyword Field.
  1818.  
  1819.    There is no limit to the number of Keyword Fields you can have in the
  1820.    created application. If all your fields in the database were character,
  1821.    you could very easily make them all keyword fields.
  1822.  
  1823.    Keyword and Searhable Fields MUST be of character type.
  1824.  
  1825.  
  1826.    +-------------------------------------------------------------------------
  1827.    ---+
  1828.                                 SELECT KEYWORD FIELDS                     
  1829.  
  1830.    +-------------------------------------------------------------------------
  1831.    ---+
  1832.  
  1833.    +-------------------------------------------------------------------------
  1834.    ------------------+
  1835.       Select / de-select the Fields you wish to use as KEYFIELDS by
  1836.    highlighting  
  1837.                                    and pressing  -+                           
  1838.                    
  1839.     +-----------Press ESC when happy with your selected keyfield
  1840.    list---------------+
  1841.  
  1842.     +Field Name------------------------------Selected? '*** PICKED ***
  1843.    =YES'-----+
  1844.      F_TITLE                                                                  
  1845.                     
  1846.      FL_TYPE                                                                  
  1847.                     
  1848.  
  1849.    Following our Floppy Disk Catalogue example there are only two fields
  1850.    which are character. Move the highlight bar over the fields you wish to
  1851.    include and press RETURN. Once a field has been selected as a Keyword
  1852.    Field the *** PICKED *** column will reflect *** PICKED ***. If you wish
  1853.    to de-select the field, move to one that is already picked and press
  1854.    RETURN when it is highlighted. This will de-select the field and remove
  1855.    the *** PICKED *** prompt.
  1856.  
  1857.    Once you have selected all your Keyword Fields, press ESCAPE. You will be
  1858.    informed of how many keyword fields you have chosen and asked whether this
  1859.    is ok. If it is, select 'YES!' To select your Searchable Fields.
  1860.  
  1861.  
  1862.    Picking Searchable Fields is done in exactly the same was as for picking
  1863.  
  1864.                                        24
  1865.  
  1866.  
  1867.  
  1868.  
  1869.  
  1870.  
  1871.  
  1872.  
  1873.  
  1874.  
  1875.  
  1876.  
  1877.    Keyword Fields, except that you may only choose two of these out of all
  1878.    your character fields.
  1879.  
  1880.    Searchable Fields are those which the user has direct access to for quick
  1881.    searching when actually modifying the details of a client when the
  1882.    reference number is not known. It is very important, therefore that you
  1883.    choose a field which is about as important (to you) as the Reference
  1884.    Number Field itself.
  1885.  
  1886.  
  1887.  
  1888.  
  1889.  
  1890.  
  1891.  
  1892.  
  1893.  
  1894.  
  1895.  
  1896.  
  1897.  
  1898.  
  1899.  
  1900.  
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911.  
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.  
  1919.  
  1920.  
  1921.  
  1922.  
  1923.  
  1924.  
  1925.  
  1926.  
  1927.  
  1928.  
  1929.  
  1930.  
  1931.  
  1932.  
  1933.  
  1934.                                        25
  1935.  
  1936.  
  1937.  
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945.  
  1946.  
  1947.    OK, Lets PROGCREATE!!!
  1948.  
  1949.    Finally, you have reached the stage where PROGCREA takes over and
  1950.    generates the code required to link with MASK.OBJ and BASEBIT2.OBJ to
  1951.    create the application. In the case of our example this will be FLPDATA.
  1952.    Before it does this however, you will be asked the following:
  1953.  
  1954.    FINAL OPTIONS BEFORE PROGRAM CREATION
  1955.  
  1956.    Here you are able to include 3rd party libraries into the program
  1957.    to be created. Note that any of the libraries you include must already
  1958.    be either on the path of environment lists!
  1959.  
  1960.    Note that CLIPPER, EXTEND is already included for the RTLINK script.
  1961.  
  1962.    Options:
  1963.    Compile including the add-on library SWPAINT? [y/n]    : N
  1964.    Compile including the add-on library FUNCKY?  [y/n]    : N
  1965.    Compile including the add-on library DR ASE?  [y/n]    : N
  1966.    Compile including the add-on library GFORCE?  [y/n]    : N
  1967.  
  1968.    If using SWPAINT, enter front end .PCX filename        :
  1969.    If using SWPAINT, enter .PCX filename coordinates below:
  1970.    Upper Left X   :  40            Upper Left Y :  50
  1971.    Lower Right X  : 600            Lower Right Y     : 285
  1972.  
  1973.    Do you want this program to run on a network? [y/n]: N
  1974.  
  1975.  
  1976.  
  1977.    PROGCREA supports the 3rd party libraries above. In fact, PROGCREA creates
  1978.    the function calls even if you do not include SWPAINT and/or FUNCKY. The
  1979.    reason why they are provided as options are two - fold. Firstly, if you
  1980.    use any of these 3rd party libraries you could write code utilising their
  1981.    functions and include them in your created application. Secondly, it
  1982.    allows me to write code which directly supports these libraries. When
  1983.    PROGCREA creates the object code (OBJECTS.PCR) you will find that upon
  1984.    examination that it in fact makes a lot of function calls to the FUNCKY
  1985.    function AFILREAD and AFILEWRITE. If you do not use FUNCKY II, PROGCREA
  1986.    creates the 'calls' for the functions it uses in MASK / BASEBIT2.OBJ which
  1987.    are from FUNCKY II libraries.
  1988.  
  1989.    This is not much of an advert, but FUNCKY II (c De Lesko Associates) is a
  1990.    perfect add on for a clipper programmer - just two functions which
  1991.    PROGCREA takes full advantage of is AFILEREAD and AFILEWRITE. These allow
  1992.    the writing and reading of arrays to and from disk.
  1993.  
  1994.    DR ASE is basically DR SWITCH ASE which allows you to turn the created
  1995.    program into a Terminate and Stay Resident Program.
  1996.  
  1997.    SWPAINT allows you to include .PCX files and graphics into the created
  1998.    program. If you decide to use SWPAINT and are thinking strongly of
  1999.    creating a graphics .PCX file for the front end screen, enter the title of
  2000.    that .PCX file. You will then need to enter the coordinates of the .PCX
  2001.    file on screen. The default figures shown above work very well for a .PCX
  2002.    file whose dimensions are 300 by 300
  2003.  
  2004.                                        26
  2005.  
  2006.  
  2007.  
  2008.  
  2009.  
  2010.  
  2011.  
  2012.  
  2013.  
  2014.  
  2015.  
  2016.  
  2017.    GFORCE allows you to do what SWPAINT does but more. It also allows you to
  2018.    completely change your created program into a GUI (Graphical User
  2019.    Interface).
  2020.  
  2021.  
  2022.  
  2023.  
  2024.  
  2025.  
  2026.  
  2027.  
  2028.  
  2029.  
  2030.  
  2031.  
  2032.  
  2033.  
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.  
  2043.  
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050.  
  2051.  
  2052.  
  2053.  
  2054.  
  2055.  
  2056.  
  2057.  
  2058.  
  2059.  
  2060.  
  2061.  
  2062.  
  2063.  
  2064.  
  2065.  
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.  
  2073.  
  2074.                                        27
  2075.  
  2076.  
  2077.  
  2078.  
  2079.  
  2080.  
  2081.  
  2082.  
  2083.  
  2084.  
  2085.  
  2086.  
  2087.  
  2088.    Finally, there is an option allowing you to run the created program on a
  2089.    network. If you do want to do this, the created program will instigate
  2090.    automatic file locking and sharing on a network. See USEMASTER and
  2091.    USETANKFILE for further information in the MASK / BASEBIT2 documentation.
  2092.  
  2093.    The information below relates only to those who have registered PROGCREA.  
  2094.  
  2095.  
  2096.    Altering the ABOUT!!! option!
  2097.  
  2098.    'About Type the title of the program here' information.
  2099.    You can enter up to SIX lines of information about your product.
  2100.    This will override the address of Geoffrey Evelyn, AGSM, ASPD, Ba HONS.
  2101.    Do you wish to do this? [y/n]: N
  2102.  
  2103.    After deciding whether the application is multiuser (network), you can
  2104.    then opt to change the ABOUT!!! screen information, which, if not altered
  2105.    defaults to the address of the author of PROGCREA. If you decide to do
  2106.    this, then type 'Y' and enter up to 6 lines (75 characters each) of
  2107.    information about your created program. In doing this:
  2108.  
  2109.    1: You personalise the package (after all, you put in the hard work to
  2110.    make it happen!!!)
  2111.    2: The system is royalty free anyway - why don't you advertise the fact??
  2112.    3: You override the address of the author (ie me, Geoffrey Evelyn).
  2113.  
  2114.    Including your OWN functions calls automatically.
  2115.  
  2116.    Inclusion of your OWN Functions & Options.
  2117.    You can also include your OWN options into the application.
  2118.    Do you wish to do this? [y/n]: N
  2119.  
  2120.    You may add up to three extra options to the OPTIONS menu of your created
  2121.    program. This gives you even greater flexibility and allows you to tailor
  2122.    the program to meet a user requirement. If you decide to do this you will
  2123.    need to enter the title of the function, and its descriptive title for the
  2124.    menu, eg:
  2125.  
  2126.    Function Title      Descriptive Title
  2127.    MY_PLAYGAME    Play a Game now!
  2128.    MY_SCREENSAVE  Blank out the Screen
  2129.    MY_PROGCALC    Programmers Calculator.
  2130.  
  2131.  
  2132.    Note that these are examples, but they do throw up a number of hints:
  2133.  
  2134.    1: Note that for each Function Title I decided to classify my group of
  2135.    functions as MY_<name of function>. In doing this I make sure that my
  2136.    function calls do not clash with those in MASK or BASEBIT2
  2137.    2:Make sure that you do not type the name of a FUNCTION twice or a
  2138.    Descriptive Title twice; PROGCREA will not continue unless the information
  2139.    is valid!
  2140.    3:Do not include ()  or any other non alphabetical or non numerical
  2141.    characters. PROGCREA will automatically append () to each Function Title
  2142.    you enter.
  2143.  
  2144.                                        28
  2145.  
  2146.  
  2147.  
  2148.  
  2149.  
  2150.  
  2151.  
  2152.  
  2153.  
  2154.  
  2155.  
  2156.  
  2157.    When you have completed this, PROGCREA will save the information you have
  2158.    entered. When the code is being generated, the names of all these
  2159.    functions will be created following an overriding function called
  2160.    CALLOUT(). The aim of this function is to branch one of your functions.
  2161.    CALLOUT() is 'called' by OPTISYS(), which is the menu system for the
  2162.    Options Menu. See the MASK / BASEBIT2.OBJ documentation for further
  2163.    details.
  2164.  
  2165.  
  2166.  
  2167.  
  2168.  
  2169.  
  2170.  
  2171.  
  2172.  
  2173.  
  2174.  
  2175.  
  2176.  
  2177.  
  2178.  
  2179.  
  2180.  
  2181.  
  2182.  
  2183.  
  2184.  
  2185.  
  2186.  
  2187.  
  2188.  
  2189.  
  2190.  
  2191.  
  2192.  
  2193.  
  2194.  
  2195.  
  2196.  
  2197.  
  2198.  
  2199.  
  2200.  
  2201.  
  2202.  
  2203.  
  2204.  
  2205.  
  2206.  
  2207.  
  2208.  
  2209.  
  2210.  
  2211.  
  2212.  
  2213.  
  2214.                                        29
  2215.  
  2216.  
  2217.  
  2218.  
  2219.  
  2220.  
  2221.  
  2222.  
  2223.  
  2224.  
  2225.  
  2226.  
  2227.    Including your own Program Files / OBJ files.
  2228.  
  2229.    Do you wish to include your own .OBJ/.PRG files? [Y/N]: N
  2230.  
  2231.    When PROGCREA creates the object code OBJECTS.PCR it also creates a batch
  2232.    file called CREAPROG.BAT whose purpose is to compile and link the file
  2233.    OBJECTS.PCR, MASK.OBJ and BASEBIT2.OBJ to form your created application.
  2234.  
  2235.    Of course, if you decided to include 3rd party libraries like FUNCKY II
  2236.    and SWPAINT then those statements would also be included in this file.
  2237.  
  2238.    Basically, the RTLINK line in the file CREAPROG.BAT is a very simplistic
  2239.    one:
  2240.  
  2241.    RTLINK FILE <FILES TO LINK> LIB <LIBRARIES TO SEARCH FOR FUNCTIONS> OUTPUT
  2242.    <EXECUTABLE FILE>
  2243.  
  2244.    <FILES TO LINK> - This is where the term MASK,BASEBIT2,OBJECTS will appear
  2245.    - MASK.OBJ will ALWAYS appear first on this line and MUST DO SO for a
  2246.    program to be created successfully.
  2247.  
  2248.    <LIBRARIES TO SEARCH FOR FUNCTIONS> - This is where the CLIPPER, EXTEND
  2249.    and any other names of 3rd party libraries will appear. Basically, SWPAINT
  2250.    will be SWPAINT, FUNCKY II will be split by FUNCKY15,FUNCKY50 etc.
  2251.  
  2252.    <OUTPUT> - At the start of PROGCREAting you decided on a program .EXE
  2253.    title. This will appear here and will be only ONE WORD.
  2254.  
  2255.    If you decide to include your own outside programs and object files,
  2256.    simply type 'Y' and enter the titles of all of them. Note that they will
  2257.    need to be either in the DOS PATH or in the current directory or in the
  2258.    directory where the program is going to be compiled. In fact, it is very
  2259.    important to have the .PRG files in the output directory before you run
  2260.    CREAPROG.
  2261.  
  2262.  
  2263.  
  2264.  
  2265.  
  2266.  
  2267.  
  2268.  
  2269.  
  2270.  
  2271.  
  2272.  
  2273.  
  2274.  
  2275.  
  2276.  
  2277.  
  2278.  
  2279.  
  2280.  
  2281.  
  2282.  
  2283.  
  2284.                                        30
  2285.  
  2286.  
  2287.  
  2288.  
  2289.  
  2290.  
  2291.  
  2292.  
  2293.  
  2294.  
  2295.  
  2296.  
  2297.    PROGCREATING stage.
  2298.  
  2299.    When PROGCREA actually creates the heart of your application, you may see
  2300.    the following information appear on screen:
  2301.  
  2302.    Program Creation Stage.
  2303.  
  2304.    Program Code Created...
  2305.  
  2306.    Program Creator Batch File Stage.
  2307.  
  2308.    Creation of Compiler Batch Complete
  2309.  
  2310.    Final Stage - move files to new directory if required.
  2311.    File movement, if required, Complete.
  2312.  
  2313.    Program Ready to Compile.
  2314.    For this CLIPPER 5 (or greater) and EXTEND.LIB (v 5.0 > version) and ANY
  2315.    LIBRARIES you have decided to include should be on the DOS PATH.
  2316.    Type CREAPROG  -+ to compile PROGAPP.
  2317.  
  2318.  
  2319.    Now you will be placed in the output directory and be asked to type
  2320.    CREAPROG to compile the application.
  2321.  
  2322.    A number of tips here:
  2323.  
  2324.    1: Check, do you have enough hard disk space to create an output file
  2325.    (safe side 600k)
  2326.    2: Check, are all the files you actually included in the output directory
  2327.    or on the path.
  2328.    3: It does pay to make a backup copy of the file OBJECTS.PCR.
  2329.    4: It does pay to examine the file OBJECTS.PCR and make changes to it as
  2330.    you see fit (MAKE SURE YOU BACK IT UP FIRST!)
  2331.  
  2332.  
  2333.  
  2334.  
  2335.  
  2336.  
  2337.  
  2338.  
  2339.  
  2340.  
  2341.  
  2342.  
  2343.  
  2344.  
  2345.  
  2346.  
  2347.  
  2348.  
  2349.  
  2350.  
  2351.  
  2352.  
  2353.  
  2354.                                        31
  2355.  
  2356.  
  2357.  
  2358.  
  2359.  
  2360.  
  2361.  
  2362.  
  2363.  
  2364.  
  2365.  
  2366.  
  2367.    Other bits and bobs
  2368.  
  2369.    The Program Creator has and is being used and tested in many
  2370.    organisations, with systems from customer survey to registration tracking
  2371.    to accountancy systems being created. So far all my customers are happy,
  2372.    and I want to keep them that way. If you would like to make a comment,
  2373.    criticise, suggest or even pat me on the back for a wonderful system
  2374.    (which is totally acceptable) then please contact me; the information to
  2375.    contact me can be found below.
  2376.  
  2377.    Mask.obj and Basebit2.obj are being enhanced even as this document is
  2378.    being written. New versions will appear! All users will be kept up to date
  2379.    with all enhancements made and hopefully soon I'll have a proper user
  2380.    group up and running.
  2381.  
  2382.    Contact? Me? How?   Contact? Me? How?
  2383.  
  2384.    Geoffrey Evelyn.
  2385.    HOME:
  2386.    14 BOWSDEN TERRACE
  2387.    SOUTH GOSFORTH
  2388.    NEWCASTLE-UPON-TYNE
  2389.    NE3 1RX
  2390.    091 284 0785 - AFTER 7PM PLEASE
  2391.  
  2392.    Bulletin Boards.   Bulletin Boards.
  2393.  
  2394.    Hobbits Armpit           : 0772 735122
  2395.    NANTUCKET Clipper BBS    : 0707 373382
  2396.    SHAREWARE (PC FORUM)     : 0732 770539
  2397.    VALENTINES BBS      : 0305 251830
  2398.    COMPUSERVE               : CAClipper Forum, 
  2399.                          GO CLIPPER (NANFORUM after 22nd Dec 1992), Address
  2400.    100013,1060
  2401.  
  2402.  
  2403.  
  2404.  
  2405.  
  2406.  
  2407.  
  2408.  
  2409.  
  2410.  
  2411.  
  2412.  
  2413.  
  2414.  
  2415.  
  2416.  
  2417.  
  2418.  
  2419.  
  2420.  
  2421.  
  2422.  
  2423.  
  2424.                                        32
  2425.  
  2426.  
  2427.  
  2428.  
  2429.  
  2430.  
  2431.