home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / dbase / btfl132.zip / SAMPLE.BTB < prev    next >
Text File  |  1992-03-26  |  5KB  |  156 lines

  1. #
  2. #   This line (and all lines beginning with '#') are COMMENTS.
  3. #
  4. #   This is a sample BTrieve Build (BTB) file.  It allows for the
  5. #   creation of Btrieve files in BTFILER.  It does the same thing
  6. #   as the BUTIL -CREATE function, but with one significant
  7. #   difference:  Error diagnostics are clearer.  This removes (I
  8. #   think) the most significant problem with the BUTIL -CREATE
  9. #   process.  Someday an interactive create utility will be part
  10. #   of BTFILER, but until then, this will have to do...
  11. #
  12. #   Case is not important, and some fields are optional (as
  13. #   noted in comments).
  14. #
  15. #   These are the fields possible listed in order of appearance
  16. #   in the file level settings section:
  17. #
  18. #      RECORD LEN=n
  19. #      PAGE SIZE=n, multiple of 512
  20. #      VARIABLE=<YES or NO>
  21. #      BLANK TRUNCATION=<YES or NO>        OPTIONAL!
  22. #      DATA COMPRESSION=<YES or NO>
  23. #      FREE SPACE THRESHOLD=<0, 10, 20 or 30>
  24. #      PREALLOCATE=<YES or NO>             OPTIONAL!
  25. #      ALTERNATE FILE=<filename>           OPTIONAL if no alternate key
  26. #      INCLUDE DATA=<YES or NO>            OPTIONAL!
  27. #      NUMBER OF KEYS=n
  28. #
  29. #
  30. # These are file level settings, with more details...
  31. #
  32. RECORD LEN=131
  33. #
  34. # In the Help menu, see "Calculate Page Size" to find optimal size.
  35. #
  36. PAGE SIZE=1536
  37. VARIABLE=NO
  38. #
  39. # BLANK TRUNCATION is only meaningful with variable length
  40. #   records, so this BLANK TRUNCATION= line is optional.
  41. #
  42. BLANK TRUNCATION=NO
  43. DATA COMPRESSION=NO
  44. #
  45. # FREE SPACE THRESHOLD=n, where 'n' is 10, 20 or 30 ONLY!
  46. #
  47. FREE SPACE THRESHOLD=20
  48. #
  49. #  ALTERNATE FILE=fname, where fname is the name of a file like
  50. #     UPPER.ALT.  This line is optional IF no ALTERNATE=YES
  51. #     key segments exist.
  52. #
  53. ALTERNATE FILE=UPPER.ALT
  54. #
  55. #  INCLUDE DATA=<Y or N> is used to determine if the file is key only
  56. #     Data only, or key and data.  INCLUDE DATA= line is OPTIONAL!
  57. #
  58. #  For KEY ONLY:   INCLUDE DATA=NO
  59. #                  NUMBER OF KEYS=1
  60. #  and key length is == to record length.
  61. #
  62. #  For DATA ONLY:  INCLUDE DATA=YES
  63. #                  NUMBER OF KEYS=0
  64. #
  65. INCLUDE DATA=Yes
  66. #
  67. #  NUMBER OF KEYS= is used as a cross check of the segments
  68. #     passed below.  In case of a conflict, the option is given
  69. #     to accept the key count reflected in the segments, or
  70. #     abandoning creation of the file.
  71. #
  72. NUMBER OF KEYS=2
  73. #
  74. #  END OF FILE LEVEL SETTINGS!
  75. #
  76. #  This marks the beginning of key segment level information.
  77. #     If I were you, and I were creating BTB files, I would
  78. #     place a large comment band between each key segment
  79. #     to remind myself what I think I am doing.  Just a
  80. #     thought...
  81. #
  82. #  The lines for each key segment are in the following order:
  83. #
  84. #     START=n, where 'n' is the starting position of the key
  85. #     LEN=n, where 'n' is the length of the key
  86. #     MODIFIABLE=s, where 's' is Y or N (or YES or NO or Yes or...)
  87. #                      Allows Modifications to be made to the key?
  88. #     DUPLICATES=s, ditto above...Allows Duplicate keys?
  89. #     ALTERNATE=s, where 's' is as above.  Alternate Collating Sequence?
  90. #     DESCENDING=s, like above.  Sorts Hi to Lo?
  91. #     MANUAL=s, where 's' is as above.  Manual Key?  (optional)
  92. #     TYPE=t, where 't' is EXACTLY one (case difference OK) of the following:
  93. #
  94. #                           "String",
  95. #                           "Integer",
  96. #                           "Float",
  97. #                           "Date",
  98. #                           "Time",
  99. #                           "Decimal",
  100. #                           "Money",
  101. #                           "Logical",
  102. #                           "Numeric",
  103. #                           "Bfloat",
  104. #                           "Lstring",
  105. #                           "Zstring",
  106. #                           "Unsigned Binary",
  107. #                           "Autoincrement",
  108. #
  109. #     NULL=n, where 'n' is the decimal NULL value (commonly 0 or 32) OR
  110. #                NULL=N/A to explicitly state no NULL value.
  111. #                NULL= is OPTIONAL.
  112. #
  113. #     SEGMENT=s, where 's' is Y or N (or Yes or N0...).  The number of
  114. #                segments with a SEGMENT=No value should be the same
  115. #                as the number of keys you declare.
  116. #
  117. #
  118. #  Key 0/Segment 1
  119. #
  120. START=1
  121. LEN=11
  122. MODIFIABLE=n
  123. DUPLICATES=n
  124. ALTERNATE=n
  125. DESCENDING=n
  126. TYPE=STRING
  127. NULL=N/A
  128. SEGMENT=NO
  129. #
  130. #  key 1/segment 1
  131. #
  132. START=12
  133. LEN=30
  134. MODIFIABLE=y
  135. DUPLICATES=y
  136. ALTERNATE=y
  137. DESCENDING=n
  138. TYPE=STRING
  139. NULL=N/A
  140. SEGMENT=YES
  141. #
  142. #  key 1/segment 2
  143. #
  144. START=1
  145. LEN=11
  146. MODIFIABLE=y
  147. DUPLICATES=y
  148. ALTERNATE=y
  149. DESCENDING=n
  150. TYPE=STRING
  151. NULL=N/A
  152. SEGMENT=NO
  153. #
  154. #  That's all, folks!
  155. #
  156.