home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / dbase / btfl13.arj / SAMPLE.BTB < prev    next >
Text File  |  1992-02-18  |  5KB  |  154 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=<10, 20 or 30>
  24. #      ALTERNATE FILE=<filename>           OPTIONAL if no alternate key
  25. #      INCLUDE DATA=<YES or NO>            OPTIONAL!
  26. #      NUMBER OF KEYS=n
  27. #
  28. #
  29. # These are file level settings, with more details...
  30. #
  31. RECORD LEN=131
  32. #
  33. # In the Help menu, see "Calculate Page Size" to find optimal size.
  34. #
  35. PAGE SIZE=1536
  36. VARIABLE=NO
  37. #
  38. # BLANK TRUNCATION is only meaningful with variable length
  39. #   records, so this BLANK TRUNCATION= line is optional.
  40. #
  41. BLANK TRUNCATION=NO
  42. DATA COMPRESSION=NO
  43. #
  44. # FREE SPACE THRESHOLD=n, where 'n' is 10, 20 or 30 ONLY!
  45. #
  46. FREE SPACE THRESHOLD=20
  47. #
  48. #  ALTERNATE FILE=fname, where fname is the name of a file like
  49. #     UPPER.ALT.  This line is optional IF no ALTERNATE=YES
  50. #     key segments exist.
  51. #
  52. ALTERNATE FILE=UPPER.ALT
  53. #
  54. #  INCLUDE DATA=<Y or N> is used to determine if the file is key only
  55. #     Data only, or key and data.  INCLUDE DATA= line is OPTIONAL!
  56. #
  57. #  For KEY ONLY:   INCLUDE DATA=NO
  58. #                  NUMBER OF KEYS=1
  59. #  and key length is == to record length.
  60. #
  61. #  For DATA ONLY:  INCLUDE DATA=YES
  62. #                  NUMBER OF KEYS=0
  63. #
  64. INCLUDE DATA=Yes
  65. #
  66. #  NUMBER OF KEYS= is used as a cross check of the segments
  67. #     passed below.  In case of a conflict, the option is given
  68. #     to accept the key count reflected in the segments, or
  69. #     abandoning creation of the file.
  70. #
  71. NUMBER OF KEYS=2
  72. #
  73. #  END OF FILE LEVEL SETTINGS!
  74. #
  75. #  This marks the beginning of key segment level information.
  76. #     If I were you, and I were creating BTB files, I would
  77. #     place a large comment band between each key segment
  78. #     to remind myself what I think I am doing.  Just a
  79. #     thought...
  80. #
  81. #  The lines for each key segment are in the following order:
  82. #
  83. #     START=n, where 'n' is the starting position of the key
  84. #     LEN=n, where 'n' is the length of the key
  85. #     MODIFIABLE=s, where 's' is Y or N (or YES or NO or Yes or...)
  86. #                      Allows Modifications to be made to the key?
  87. #     DUPLICATES=s, ditto above...Allows Duplicate keys?
  88. #     ALTERNATE=s, where 's' is as above.  Alternate Collating Sequence?
  89. #     DESCENDING=s, like above.  Sorts Hi to Lo?
  90. #     MANUAL=s, like above, Manual Key?  (optional)
  91. #     TYPE=t, where 't' is EXACTLY one (case difference OK) of the following:
  92. #
  93. #                           "String",
  94. #                           "Integer",
  95. #                           "Float",
  96. #                           "Date",
  97. #                           "Time",
  98. #                           "Decimal",
  99. #                           "Money",
  100. #                           "Logical",
  101. #                           "Numeric",
  102. #                           "Bfloat",
  103. #                           "Lstring",
  104. #                           "Zstring",
  105. #                           "Unsigned Binary",
  106. #                           "Autoincrement",
  107. #
  108. #     NULL=n, where 'n' is the decimal NULL value (commonly 0 or 32) OR
  109. #                NULL=N/A to explicitly state no NULL value.
  110. #                NULL= is OPTIONAL.
  111. #     SEGMENT=s, where 's' is Y or N (or Yes or N0...).  The number of
  112. #                segments with a SEGMENT=No value should be the same
  113. #                as the number of keys you declare.
  114. #
  115. #
  116. #  Key 0/Segment 1
  117. #
  118. START=1
  119. LEN=11
  120. MODIFIABLE=n
  121. DUPLICATES=n
  122. ALTERNATE=n
  123. DESCENDING=n
  124. TYPE=STRING
  125. NULL=N/A
  126. SEGMENT=NO
  127. #
  128. #  key 1/segment 1
  129. #
  130. START=12
  131. LEN=30
  132. MODIFIABLE=y
  133. DUPLICATES=y
  134. ALTERNATE=y
  135. DESCENDING=n
  136. TYPE=STRING
  137. NULL=N/A
  138. SEGMENT=YES
  139. #
  140. #  key 1/segment 2
  141. #
  142. START=1
  143. LEN=11
  144. MODIFIABLE=y
  145. DUPLICATES=y
  146. ALTERNATE=y
  147. DESCENDING=n
  148. TYPE=STRING
  149. NULL=N/A
  150. SEGMENT=NO
  151. #
  152. #  That's all, folks!
  153. #
  154.