home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / library / dos / btree / btriev14 / readme.1st < prev    next >
Encoding:
Text File  |  1991-10-27  |  7.3 KB  |  137 lines

  1. BTP - The Btrieve Unit for Turbo Pascal 6.0              (C) 1991 John C. Leon
  2. (* ------------------------------------------------------------------------ *)
  3. Version 1.4, 10/27/91
  4.  
  5. ** DISCLAIMER AND LICENSE ***************************************************
  6. This unit was authored by and is the copyrighted property of John C. Leon.
  7. It is supplied without warranty of any kind, and without any representations
  8. as to its usefulness or adequacy for any task.  Under no circumstances does
  9. the author take any responsiblity for loss or damage, alleged or actual,
  10. arising from usage of this property.  Use at your own risk.
  11.  
  12. THIS PRODUCT IS *NO LONGER* FREEWARE.  Use of this product beyond an initial
  13. trial period of 30 days obligates you to remit the registration fee of $25
  14. (for a non-corporate, non-commercial license) to:
  15.  
  16.                       John C. Leon
  17.                       3807 Wood Gardens Court
  18.                       Kingwood, TX  77339
  19.  
  20.                       713-359-3641     (residence)
  21.                       CIS #72426,2077  (Email responded to promptly)
  22.  
  23. Corporate users must contact me directly for licensing terms.  Production of
  24. a commercial product using this unit is strictly forbidden without permission
  25. and license.
  26.  
  27. Coming soon ONLY for licensed users...a Turbo Vision based Btrieve utility
  28. program for creating files, adding/dropping supplemental indices, reporting
  29. stats, cloning and crunching files, etc, etc.  Will be free to all registered
  30. BTP owners.
  31. *****************************************************************************
  32.  
  33. Pre-Requisites to Using this Software
  34. =====================================
  35. This unit provides a rich suite of Btrieve programming tools.  However, it is
  36. NOT an educational tool.  While proven to be extremely easy to use, it is
  37. assumed that you are familiar with Turbo Pascal 6.0, use of dynamic variables
  38. and pointers, object-oriented programming, and Novell's Btrieve product.
  39. BTP requires Turbo Pascal 6.0 and will NOT function with prior releases.
  40.  
  41. This unit was designed with, and has only been tested with, version 5.10a of
  42. Btrieve, with all current patches applied.  WARNING!  Do NOT use with other
  43. versions! Having said that, I have every reason to believe it will work fine
  44. with prior versions if you don't try to use the op codes that apply to later
  45. versions.
  46.  
  47. WHAT IT DOES!
  48. -------------
  49. It makes the Btrieve black box friendly!
  50.  
  51. Total support ONLY for standard, fixed-length Btrieve files and non-extended
  52. Btrieve ops.  Terrific support for the "read" extended calls (the 4 get and
  53. step extended calls), with an example (see EXAMPLE2.PAS) of how to use insert
  54. extended calls.
  55.  
  56. Imagine opening a Btrieve file in any mode, saving a "permanent" copy of its
  57. stats and structure, establishing and isolating its position block, and being
  58. able to refer to all your fields by name...all with just ONE SIMPLE CALL with
  59. only TWO PARAMETERS!!!  NO BTRIEVE CALL MADE WITH THIS UNIT'S TECHNIQUES
  60. REQUIRES MORE THAN TWO PARAMETERS (the op code and key number).  This is ONLY
  61. made possible with object-oriented programming and the encapsulation it
  62. provides.
  63.  
  64. INCLUDED in this distribution package are several useful Btrieve utilities
  65. that make full use of this unit.  The CLONE and CRUNCHx programs, in
  66. particular, illustrate the extraordinary ease of Btrieve programming with
  67. BTP!
  68.  
  69. Full details on BTP are to be found in the BTP.DOC file.  Aside from standard
  70. TP6-style OOP techniques, BTP uses collections to handle a list of filter and
  71. extractor specs for extended calls.  That's as sexy as it gets.  You don't
  72. even need to understand collections...just use them as illustrated!  BTP
  73. creates, maintains, and disposes of those collections for you.  These
  74. collections and the provided object methods will transparently set buffer
  75. lengths for you, and construct your send buffers for extended calls.  THE
  76. DRUDGERY IS COMPLETELY REMOVED!!
  77.  
  78. It is imperative that you read the sample programs and documentation.  They
  79. are structured carefully to take you gradually from the simplest BTP
  80. structures to the more "advanced".  The best news is that even the advanced
  81. structures are a piece of cake to deal with!  The suggested order for
  82. reviewing the programs is:
  83.  
  84. 1. VERSION: Quite simply, the shortest Btrieve program possible.  Just
  85.             displays a message revealing what Btrieve version is running.
  86. 2. STATS:   Also short, reports stats on any Btrieve file.  Makes a single
  87.             BTP style call, after which you can immediately read the object's
  88.             data fields containing the file's stats.
  89. 3. CLONE:   Short and sweet.  Make one BTP style call, then execute just one
  90.             BTP function to create a clone of the source file!
  91. 4. CREATE:  Example of creating a new file.  Set the values in one BTP data
  92.             type, and call one function!
  93.             Included in this .ZIP file is a file named EXAMPLE.SPC.  This is a
  94.             standard description (spec) file that can be used to create the
  95.             'EXAMPLE' Btrieve file with Btrieve's own BUTIL program.
  96.             EXAMPLE.SPC is provided only to demonstrate that the CreateFile
  97.             function in the BTP product does generate files that are
  98.             byte-for-byte the same as if you used 'BUTIL -create'.
  99. 5. CRUNCH1: Creates a duplicate of a file, effectively "squishing" the file
  100.             to remove dead space.  Opens source file in read-only mode,
  101.             creates the target file and opens it in accelerated mode.  Uses
  102.             non-extended calls exclusively.
  103. 6. CRUNCH2: Performs same functions as CRUNCH1, but uses extended inserts
  104.             to populate target table.
  105. 7. CRUNCH3: Performs same functions as CRUNCH1, but uses step next extended
  106.             and extended inserts.
  107. 8. EXAMPLE1:A simple program using BTP to insert records into a file of names.
  108.             Provided only to illustrate use of BTP and several Btrieve calls.
  109. 9. EXAMPLE2:Another simple program using BTP with extended calls.  Provided
  110.             to illustrate syntax of initializing filter and extractor specs
  111.             for extended calls, and required function overrides.
  112.  
  113. ADDITIONAL BTP FEATURES
  114. =======================
  115. The BTP unit provides an initialization section that checks for presence of
  116. Btrieve in memory before running your main program.  You need never code such
  117. a test yourself again.  Just 'USES' this unit, and you're covered.
  118.  
  119. The universal Btrv function call IS INCLUDED in the BTP unit.  When using
  120. BTP, do NOT include the call from any other source.  It is used internally
  121. by BTP, and is available directly in its 'native' form if needed, exactly as
  122. defined on the Btrieve distribution disks from Novell.
  123.  
  124. Pascal's features have made it a pleasure to code this unit.  The inherent
  125. capabilities of Pascal records, in all their forms, have greatly facilitated
  126. what at first seemed a VERY difficult task.  The encapsulation provided by
  127. object-oriented programming have reduced quick and dirty Btrieve programming
  128. to what it should be...quick (but not dirty!).  Examine the unit's source
  129. code and the example programs carefully.  You should find everything there
  130. you'll ever need.  If it ain't there, let me know and we'll make 'er better!
  131.  
  132.  
  133. ENJOY!  Constructive criticism and suggestions welcome.
  134.  
  135. John C. Leon
  136. October 27, 1991
  137.