home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / database / tara201.zip / TARA.DOC < prev    next >
Text File  |  1987-05-12  |  25KB  |  569 lines

  1.  
  2.               Tara Datafile Utilities, Version 2.0
  3.  
  4.                           USER'S MANUAL
  5.                                by
  6.                          David C. Oshel
  7.  
  8.  
  9.  
  10.  
  11.               Copyright (c) 1987 by David C. Oshel
  12.  
  13.                        ALL RIGHTS RESERVED
  14.  
  15. Private  individuals  are  granted  free  license  to  copy   and 
  16. distribute this complete set of Tara Datafile Utilities, provided 
  17. my  copyright notice is not removed, and provided you  distribute 
  18. both programs and documentation without charge.
  19.  
  20. Corporate  or governmental use requires a license fee of  $25.00.  
  21. Send check or money order payable to:
  22.  
  23.                     MicroConsulting Services
  24.                        1219 Harding Avenue
  25.                          Ames, IA 50010
  26.  
  27.  
  28.  
  29. I.  Introduction
  30.  
  31. These files are included in Tara Datafile Utilities, version 2.0:
  32.  
  33. File             Purpose
  34. -------------------------------------------------------------------------
  35. BROWSE.BAT       demonstration, uses STARS.DAT
  36. CRYPTIC.DOC      (doc)
  37. CRYPTIC.EXE      sophisticated file encipher, decipher
  38. ENTER.DOC        (doc)
  39. ENTER.EXE        data entry for MailMerge-type datafiles
  40. FIELD.DOC        (doc)
  41. FIELD.EXE        selected fields, with format for browse
  42. FNKEY.DOC        (doc)
  43. FNKEY.EXE        assign macro strings to PC function keys
  44. NAMES.FLD        sample field definition file for NAMES.DAT
  45. NSORT.DOC        (doc)
  46. NSORT.EXE        numeric sort on any field or fields
  47. PICK.DOC         (doc)
  48. PICK.EXE         select records on any field or fields
  49. SETNAMES.BAT     define Fn keys for use with NAMES.DAT
  50. SETSTARS.BAT     define Fn keys for use with STARS.DAT
  51. STARS.DAT        demonstration data file, list of bright stars
  52. STARS.FLD        field definition file for STARS.DAT
  53. TARA.DOC         you're reading it
  54. TSORT.DOC        (doc)
  55. TSORT.EXE        text sort on any field or fields
  56.  
  57.  
  58. The  Tara Datafile Utilities are a set of small,  powerful  tools 
  59. which were originally intended just to make life with MailMerge a 
  60. little  easier.  Until now, information retrieval from this  kind 
  61. of data file meant you had to use WordStar's Merge Print facility 
  62. to restrict, select out, and display your data.  If you wanted to 
  63. sort (or resort) your data before using it, you were out of luck. 
  64.  
  65. But with these tools, you now have direct access to your own data 
  66. and you no longer need to fire up WordStar and a printer just  to 
  67. see what's what. 
  68.  
  69. Most of these programs are simple, one-task tools.  They are used 
  70. in  combination with each other and with the MS-DOS command  line 
  71. i/o  redirection facility.  In general, Tara  Datafile  Utilities 
  72. allow you to:
  73.  
  74. a)  restrict  the mass of data you  have to the few  records  and 
  75. fields you actually need to look at, based on the contents of any 
  76. field or combination of fields; 
  77.  
  78. b)  sort  this smaller subset of information in either  ascending 
  79. or descending order, on either text or numeric data, on any field 
  80. or combination of fields;
  81.  
  82. c)  project  the results to another file for use by  WordStar  or 
  83. some other program, or to the screen, where you may view selected 
  84. and/or formatted fields at leisure.
  85.  
  86. Tara Datafile Utilities also include:
  87.  
  88. d) a quick data entry module, using a field definition file which 
  89. you create;
  90.  
  91. e) a sophisticated file encryption program;
  92.  
  93. f) a program which assigns macro strings to PC function keys.
  94.  
  95.  
  96.                                ###
  97.  
  98.  
  99. II.  MS-DOS i/o redirection and pipes
  100.  
  101. You  should  have a firm grasp of what "i/o redirection"  is  all 
  102. about  in  order to use the Tara Datafile Utilities.   (There  is 
  103. also a brief discussion of this issue in your MS-DOS manual.)
  104.  
  105. In  general, "i/o" means INPUT TO and OUTPUT FROM any  particular 
  106. program.  Most commonly, input comes from your computer  keyboard 
  107. and output goes to your computer screen.  
  108.  
  109. Less commonly, input may come from a text file, and the stream of 
  110. characters  from that file is treated exactly as  though  someone 
  111. were rapidly typing on the computer's keyboard.  
  112.  
  113. Similarly, output may be sent to some other destination than  the 
  114. computer screen -- either to a line printer or to a text file.
  115.  
  116. Less commonly still, the OUTPUT from one program can be the INPUT 
  117. to another program!  This is called a "pipe".
  118.  
  119. So,  the three things to be aware of are 1) redirected input,  2) 
  120. redirected output, and 3) pipes.  These three demons are  invoked 
  121. on the MS-DOS command line, and nowhere else.
  122.  
  123. The  DEFAULT input is "<CON:" and the DEFAULT output is  ">CON:".  
  124. You  do  not need to specify the DEFAULT input or output  on  any 
  125. command line.  However...
  126.  
  127. Input from a FILE has the form "<file1.dat" and output to a  file 
  128. has  the  form ">file2.dat".  Output to the  line  printer  would 
  129. typically be written as ">PRN:", but you may also see ">LPT1:" or 
  130. ">LPT2:" in the case of serial printers or modems.
  131.  
  132. A  PIPE  is  specified  with the  vertical  bar  character,  "|", 
  133. surrounded by spaces fore and aft, " | ", between two COMMANDS:
  134.  
  135.                        C>dir | sort | more
  136.  
  137. This example comes entirely from MS-DOS; i.e., "dir", "sort"  and 
  138. "more"  are all MS-DOS commands, and they are discussed  in  your 
  139. MS-DOS manual.
  140.  
  141. Note that MS-DOS sort typically REQUIRES i/o redirection:
  142.  
  143.                   C>sort <inputfile >outputfile
  144.  
  145.  
  146. Note also that the SOURCE file and the DESTINATION file must  NOT 
  147. be the SAME file!  I.e., this is a serious error which  typically 
  148. destroys your source document:
  149.  
  150.            *** DANGER ***  C>sort <abc.dat >abc.dat
  151.  
  152.  
  153.                                ###
  154.  
  155. III.  Features common to all Tara Datafile Utilities
  156.  
  157. A.  Record type is MailMerge-compatible
  158.  
  159. All  Tara Datafile Utilities assume that the data they work  with 
  160. is  compatible  with  MicroPro, Inc.'s  WordStar  program  --  in 
  161. particular with Merge Print (a.k.a. MailMerge in older versions).
  162.  
  163. That means, in general, that records consist of a single line  of 
  164. characters  terminated  with  a carriage  return/line  feed  pair 
  165. ("newline"), and that fields within each record are delimited  by 
  166. commas, except for the last field.  If a field contains a  comma, 
  167. the  field  is enclosed in double quotation marks.   If  a  field 
  168. contains  both  a  comma and quotes, the  field  is  enclosed  in 
  169. apostrophes.   If neither of these quotation schemes is  adequate 
  170. to  mark off the fields in the record, the  delimiting  character 
  171. can be changed from comma to something else.
  172.  
  173. For example:
  174.  
  175.     "Oshel, Ph.D.",David,C.,1219 Harding,Ames,IA,50010,,,yes
  176.  
  177. There  are  THREE  fields following the zip code  comma  in  this 
  178. example.   The last field is terminated by the same newline  pair 
  179. that terminates the record.  The first field contains a comma, so 
  180. that field is quoted.
  181.  
  182. Tara Datafile Utilities refer to the fields in a record by  FIELD 
  183. NUMBER.  The nth field in each record is to the immediate left of 
  184. the nth comma (or chosen delimiting character).  In the  example, 
  185. the  word  "Harding" lies in the fourth field, there is  no  home 
  186. phone number in the eighth field, and the word "yes" occupies the 
  187. last, tenth field.  The ENTER program provides field numbers  for 
  188. ready  reference -- you don't HAVE to count your commas!  You  do 
  189. have to refer to fields by the numbers.
  190.  
  191. There is NO DISTINCTION between upper or lower case in any of the 
  192. Tara Datafile Utilities.  This applies generally and  everywhere.  
  193. However, upper and lower case IN DATA are preserved when data  is 
  194. written to a new file or to the screen.
  195.  
  196. All of these utilities STRIP THE HIGH BIT out of characters  when 
  197. writing data to standard output.  This does not alter the  source 
  198. data, but does produce a file which contains no "negative  ASCII" 
  199. characters -- on IBM PC's, these are the letters with diacritical 
  200. marks, box characters, greek letters, etc.  WordStar uses them to 
  201. hide formatting information in DOCUMENT MODE text.
  202.  
  203. This  fixup allows PICK, TSORT and NSORT to work with  data  that 
  204. was  inadvertently  edited in WordStar document  mode.   You  can 
  205. detect  "funny  letters" in your data by using  the  MS-DOS  TYPE 
  206. command  to examine your file.  Negative ASCII  characters  would 
  207. prevent  the  pattern-matching utilities from  finding  "obvious" 
  208. matches.  Tara Datafile Utilities do not alter your source  data, 
  209. unless you write it back to the original file through a pipe.
  210.  
  211. Notice that MailMerge-type datafiles are somewhat  idiosyncratic.  
  212. Another useful definition of an "ASCII data file" is that  fields 
  213. with  text data are quoted, fields containing quotes  double  the 
  214. quotation character (e.g., """" defines a field which contains  a 
  215. single  "  character!),  but numeric data is  not  quoted.   Some 
  216. programs  that support some version of this other definition  are 
  217. BASIC and R:Base 5000.  The difference lies in how to handle  the 
  218. ambiguity caused by quoting the quote character.  WordStar  tries 
  219. to duck the issue by adding ' as another quote character.
  220.  
  221. However, there is no hard and fast rule or widely held  standard.  
  222. These  other formats are chiefly used only to import  and  export 
  223. data  to and from expensive data base management programs,  which 
  224. do not themselves use the format internally.  "MailMerge  format" 
  225. is extremely and immediately useful (to WordStar as well as other 
  226. programs) so that is the format chosen here.  Data imported  from 
  227. R:Base  5000  or dBase III ("DELIMITED BY ,")  will  probably  be 
  228. acceptable to Tara Datafile Utilities, and probably acceptable to 
  229. WordStar  Merge  Print, but you may need to do  some  preliminary 
  230. fixing  up.   (If  you,  like me, have  either  of  those  pricey 
  231. database programs you're probably using Tara for the same  reason 
  232. I  do  -- Tara is quick and dirty and easy to live with.   But  I 
  233. wouldn't do a fancy job with just these simple tools.  Yet...!)
  234.  
  235. This kind of record has one distinct advantage -- it is  variable 
  236. length -- and one obvious disadvantage -- it takes longer to  get 
  237. information out of the file (especially numeric information).  In 
  238. general, MailMerge-type data files should not contain more than a 
  239. a  few hundred records, or processing time will be tedious.   But 
  240. you can always PICK a smaller set of data from a larger file.
  241.  
  242. The  largest record Tara Datafile Utilities can  handle  contains 
  243. 4095 characters (with any number of fields within that limit).
  244.  
  245.                                ###
  246.  
  247. B.  Switches
  248.  
  249. The "-H" or "/H" switch always invokes a help screen for each  of 
  250. the utilities.
  251.  
  252. Examples:     C>enter -h
  253.               C>pick /h
  254.               C>fnkey -h 
  255.  
  256. The  "-F"  or "/F" switch changes the field  delimiter  character 
  257. from comma to something else, in those utilities that read data.
  258.  
  259. Examples:     C>pick -f\ <abc.dat 1 has aardvark
  260.               C>field <temp /f* /s. 1 12 3 8: | more
  261.               C>nsort "-f|" 16 d
  262.  
  263. But:          C>fnkey -f9 "pick -f\ <abc.dat"
  264.  
  265. The "-S" or "/S" switch only occurs in FIELD.EXE, and is used  to 
  266. change  the  fill  character from BLANK to  something  else  when 
  267. right- or left-justifying formatted output.
  268.  
  269. The "-E" or "/E", and "-D" or "/D", switches are used in  CRYPTIC 
  270. and nowhere else, to indicate mode:  encipher or decipher.
  271.  
  272. All program switches begin with either hyphen or slash.  Switches 
  273. alter  the usual behavior of the utility in some way.  There  are 
  274. only one or two switches at most for each utility, in addition to 
  275. the help switch.
  276.  
  277. Undefined switches usually, but not always, invoke the  utility's 
  278. help  message.  FNKEY will not try to interpret any switches  but 
  279. its own, viz., -H and the first instance of -F.  Negative  number 
  280. arguments are never interpreted as switches.
  281.  
  282. Note that a switch which contains <, |, or > must be QUOTED.
  283.  
  284.  
  285.                                ###
  286.  
  287. C. Standard Output
  288.  
  289. All of the utilities support redirected i/o using standard  input 
  290. and standard output.  This feature is not especially useful  with 
  291. ENTER or FNKEY but it's there if you can figure out a use for it.
  292.  
  293. ("Standard input" and "standard output" refer to the method which 
  294. a  program uses to receive or transmit data.  The "standard"  way 
  295. to  do  things supports MS-DOS i/o redirection  and  pipes.   The 
  296. various  non-standard i/o schemes used by almost  all  commercial 
  297. programs are much faster ... and also much less flexible.) 
  298.  
  299.                                ###
  300.  
  301. D.  ANSI.SYS, only for FNKEY.EXE
  302.  
  303. None  of these utilities need to have ANSI.SYS installed on  your 
  304. system  -- except for FNKEY, a program that assigns  meanings  to 
  305. your PC's function keys.  See your MS-DOS manual for instructions 
  306. on installing ANSI.SYS.  What you need to do is place the command 
  307. DEVICE=ANSI.SYS into the CONFIG.SYS file on your startup disk.
  308.  
  309.  
  310.                                ###
  311.  
  312. E.  Numeric and dollar data types
  313.  
  314. Utilities  that recognize numeric data will  correctly  recognize 
  315. the  dollar format, e.g., $123,456.78.  A minus sign  may  appear 
  316. anywhere in its proper scan field.  All numeric data is converted 
  317. to floating point for purposes of comparison.  Scientific formats 
  318. like "1.3e-2" are supported, but "2e" is not considered a  number 
  319. (because  there is no digit following the E); the  exponentiation 
  320. operator  may be either E or D.  Scientific and dollar  notations 
  321. are  mutually incompatible in the same field.  The FIELD  utility 
  322. relaxes the strict interpretation of what is a number, and allows 
  323. multiple hyphens, parentheses and slash -- this allows data  like 
  324. social  security numbers and phone numbers to be  right-justified 
  325. in formatted output.  All non-numeric data is Text.
  326.  
  327.  
  328.                                ###
  329.  
  330.  
  331. IV.  The CRYPTIC Program
  332.  
  333. Usage:  C>cryptic { -D | -E } password <inputfile >outputfile
  334.  
  335. Examples:   C>cryptic absinthe <myfile.dat >coded.dat
  336.             C>cryptic -D absinthe <coded.dat | more
  337.  
  338. The  -D  switch  selects Decipher Mode.  The  -E  switch  selects 
  339. Encipher Mode, and is the default mode.  You must supply the same 
  340. password each time you use Cryptic with a particular file.  
  341.  
  342.          *** WARNING:  Do NOT forget your password! ***
  343.  
  344. This  is a simple "filter" which scrambles the contents  of  text 
  345. files.   Coded  files  are indecipherable by  normal  means.   To 
  346. decode  the  scrambled file, run it through  CRYPTIC  once  again 
  347. using the same password as before.
  348.  
  349. If  you  forget  your  own password, you're  out  of  luck.   The 
  350. password  is  not recoverable.  Remember it!  You should  keep  a 
  351. backup copy of any data file you use, in your possession and  off 
  352. the  premises.  This anticipates the problem that  someone  might 
  353. maliciously encrypt your data for you. 
  354.  
  355. This  utility provides a first level of data security  only.   It 
  356. will prevent unauthorized access by average persons, but will not 
  357. withstand expert analysis.  
  358.  
  359. Be  advised  that your physical disk medium probably  retains  an 
  360. image  of some part of your plain text, even if you  have  erased 
  361. the file, unless you reformat the disk (after copying your  coded 
  362. data to another disk, of course!).
  363.  
  364. Using  a PIPE with plain text in it will also leave  a  transient 
  365. image  on physical disk media!  If security is crucial, use  your 
  366. floppy  drive and be sure to format the working diskette after  a 
  367. session.  This physical data image, not associated with any file, 
  368. can be viewed (and security compromised!) by any number of garden 
  369. variety programs including Norton Utilities and PC-Tools.
  370.  
  371. The encryption algorithm used here is more sophisticated than the 
  372. usual "xor" type of scramble.  In its day, this cipher could  not 
  373. be  cracked,  but no doubt things have changed a  bit  since  the 
  374. Crimean War.
  375.  
  376. To  illustrate the potential difficulty of cracking this  cipher, 
  377. Tables 1 and 2 compare the frequency of occurrence of  characters 
  378. found  in a plain-text data file, against the frequency found  in 
  379. an especially cryptic version of the same data.
  380.  
  381. The enciphered data file was run through Cryptic four times using 
  382. a different password each time.  Ciphered data has "smeared" over 
  383. the range of all printable characters, while the gap between most 
  384. and least frequent characters is far less than in the plain text.
  385.  
  386. Both the plain text and the ciphered data contain 117 records and 
  387. a total of 8,602 printing characters.  Tables follow.
  388.  
  389.  
  390. Table  1.   Frequencies of 79 characters found in  a  plain  text           
  391.             data file delimited by commas.  
  392.  
  393.         , = 1088, 12.6482%             R = 48,   0.5580%   
  394.           = 563,   6.5450%             k = 46,   0.5348%   
  395.         e = 532,   6.1846%             v = 46,   0.5348%   
  396.         r = 339,   3.9409%             P = 41,   0.4766%   
  397.         o = 335,   3.8944%             H = 40,   0.4650%   
  398.         a = 314,   3.6503%             f = 40,   0.4650%   
  399.         0 = 302,   3.5108%             O = 40,   0.4650%   
  400.         n = 275,   3.1969%             ) = 37,   0.4301%   
  401.         s = 268,   3.1156%             ( = 37,   0.4301%   
  402.         t = 260,   3.0226%             b = 34,   0.3953%   
  403.         2 = 251,   2.9179%             * = 32,   0.3720%   
  404.         i = 241,   2.8017%             L = 30,   0.3488%   
  405.         1 = 207,   2.4064%             U = 28,   0.3255%   
  406.         A = 204,   2.3715%             W = 27,   0.3139%   
  407.         l = 173,   2.0112%             J = 24,   0.2790%   
  408.         5 = 170,   1.9763%             G = 23,   0.2674%   
  409.         3 = 168,   1.9530%             N = 23,   0.2674%   
  410.         m = 139,   1.6159%             E = 22,   0.2558%   
  411.         C = 138,   1.6043%             & = 20,   0.2325%   
  412.         d = 129,   1.4997%             T = 19,   0.2209%   
  413.         4 = 122,   1.4183%             x = 17,   0.1976%   
  414.         - = 119,   1.3834%             F = 16,   0.1860%   
  415.         I = 118,   1.3718%             ? = 16,   0.1860%   
  416.         S = 110,   1.2788%             / = 14,   0.1628%   
  417.         9 = 104,   1.2090%             K = 12,   0.1395%   
  418.         8 = 104,   1.2090%             V = 11,   0.1279%   
  419.         c = 101,   1.1741%             Y = 10,   0.1163%   
  420.         u = 100,   1.1625%             # = 7,    0.0814%    
  421.         h = 94,    1.0928%             z = 6,    0.0698%    
  422.         6 = 92,    1.0695%             ; = 4,    0.0465%    
  423.         7 = 88,    1.0230%             : = 2,    0.0233%    
  424.         p = 79,    0.9184%             ' = 2,    0.0233%    
  425.         M = 69,    0.8021%             X = 1,    0.0116%    
  426.         . = 66,    0.7673%             ! = 1,    0.0116%    
  427.         y = 66,    0.7673%             Z = 1,    0.0116%    
  428.         D = 62,    0.7208%             j = 1,    0.0116%    
  429.         " = 62,    0.7208%             q = 1,    0.0116%    
  430.         B = 58,    0.6743%             \ = 1,    0.0116%    
  431.         g = 58,    0.6743%             Q = 1,    0.0116%    
  432.         w = 53,    0.6161%
  433.  
  434. Table 2.  Frequencies of 95 characters found in a 4-ply cipher of           
  435.           the same data.  
  436.  
  437.         0 = 155,   1.8019%             p = 90,   1.0463%
  438.         . = 131,   1.5229%             K = 89,   1.0346%
  439.         6 = 129,   1.4997%             m = 88,   1.0230%
  440.         , = 127,   1.4764%             w = 88,   1.0230%
  441.         % = 123,   1.4299%             D = 87,   1.0114%
  442.         ' = 123,   1.4299%             H = 87,   1.0114%
  443.         # = 122,   1.4183%             e = 86,   0.9998%
  444.         2 = 121,   1.4066%             g = 86,   0.9998%
  445.         * = 121,   1.4066%             5 = 85,   0.9881%
  446.         + = 119,   1.3834%             o = 84,   0.9765%
  447.         v = 118,   1.3718%             M = 83,   0.9649%
  448.         x = 117,   1.3601%             ^ = 83,   0.9649%
  449.         ( = 116,   1.3485%             G = 83,   0.9649%
  450.         | = 116,   1.3485%             n = 81,   0.9416%
  451.         8 = 115,   1.3369%             > = 81,   0.9416%
  452.         3 = 114,   1.3253%             ; = 80,   0.9300%
  453.         4 = 113,   1.3136%             { = 79,   0.9184%
  454.         ! = 113,   1.3136%             J = 79,   0.9184%
  455.         ~ = 112,   1.3020%             Q = 78,   0.9068%
  456.         } = 111,   1.2904%             N = 76,   0.8835%
  457.         " = 110,   1.2788%             X = 76,   0.8835%
  458.         = = 109,   1.2671%             a = 75,   0.8719%
  459.         r = 109,   1.2671%             f = 75,   0.8719%
  460.         z = 109,   1.2671%             l = 73,   0.8486%
  461.         C = 107,   1.2439%             ` = 72,   0.8370%
  462.         ) = 106,   1.2323%             F = 71,   0.8254%
  463.         u = 106,   1.2323%             Z = 71,   0.8254%
  464.         A = 105,   1.2206%             j = 70,   0.8138%
  465.         & = 104,   1.2090%             h = 69,   0.8021%
  466.         < = 103,   1.1974%             \ = 69,   0.8021%
  467.         ? = 101,   1.1741%             k = 67,   0.7789%
  468.         E = 101,   1.1741%             c = 67,   0.7789%
  469.         / = 100,   1.1625%             V = 66,   0.7673%
  470.         9 = 100,   1.1625%             T = 65,   0.7556%
  471.         : = 97,    1.1276%             d = 64,   0.7440%
  472.         $ = 96,    1.1160%             L = 64,   0.7440%
  473.         y = 95,    1.1044%             O = 64,   0.7440%
  474.         i = 94,    1.0928%             U = 63,   0.7324%
  475.         1 = 92,    1.0695%             [ = 61,   0.7091%
  476.         t = 92,    1.0695%             R = 60,   0.6975%
  477.         @ = 92,    1.0695%             S = 59,   0.6859%
  478.           = 92,    1.0695%             W = 56,   0.6510%
  479.         q = 92,    1.0695%             P = 56,   0.6510%
  480.         - = 91,    1.0579%             Y = 55,   0.6394%
  481.         B = 91,    1.0579%             b = 55,   0.6394%
  482.         I = 90,    1.0463%             _ = 54,   0.6278%
  483.         7 = 90,    1.0463%             ] = 52,   0.6045%
  484.         s = 90,    1.0463%
  485.  
  486.                                ###
  487.  
  488. V.  Errors and problems:
  489.  
  490.  
  491. Problem:  Nothing happens, the computer just sits there.
  492.  
  493. You  have  forgotten to name the <input file.  As a  result,  the 
  494. program  is  correctly  (but stupidly) waiting for  you  to  type 
  495. characters on the keyboard.  (Same as <CON:)
  496.  
  497. Solution:  Type Ctrl-C or Ctrl-Break.
  498.            This problem does not occur in Version 2.0.
  499.  
  500.  
  501.  
  502. Problem:  File not found.
  503.  
  504. You  have not spelled the name of your <input file correctly,  or 
  505. you have given an incorrect or incomplete path name.  
  506.  
  507. Solution:  Check the directory for exact spelling.
  508.  
  509.  
  510. Problem:  No result.
  511.  
  512. The first thing that should suggest itself is an empty data file.  
  513. As unlikely as this seems, it might be true.  Your directory will 
  514. indicate  0 bytes for the file size, if this is the case.   (When 
  515. you  see  the  evidence, you will remember  how  you  caused  the 
  516. problem  yourself sometime last week.)  A doctor I  know  created 
  517. this situation by using WordStar to split data into two files; he 
  518. then  DELETED all the records from the original file  instead  of 
  519. erasing  it.  It can take quite a while to diagnose this kind  of 
  520. error, so go "by the book" -- check your file size as a matter of 
  521. course.
  522.  
  523. Secondly, you might be asking for something that does not  exist.  
  524. Either  PICK  cannot  find an exact match in a  field,  or  FIELD 
  525. cannot  find  the 6th field in records that only have  5  fields, 
  526. etc.  
  527.  
  528. Another  possibility,  you want PICK to find the  pattern 150 but  
  529. PICK  thinks 150 is a field number..!  Use PICK 0 HAS 150 instead 
  530. of PICK 150.  Also valid, PICK 0 150.
  531.  
  532. Solution:  Check your directory.  Check your spelling.  
  533.            Try to PICK using the HAS operator instead of EQ.     
  534.  
  535.  
  536. Problem:  Output contains garbage from a help screen.
  537.  
  538. You have run the output from a utility through a pipe into FIELD.  
  539. However, a command early in the chain bombed out and printed  its 
  540. help  message  into  the pipe.  When FIELD got it,  it  tried  to 
  541. format  the  output.   The result is bits and pieces  of  a  help 
  542. screen, possibly TSORT-ed!
  543.  
  544. Solution:  Put complex commands in a batch file.  Use FNKEY.
  545.  
  546.  
  547.  
  548. Problem:  No room on the disk
  549.  
  550. MS-DOS  pipes are actually FILES -- hidden,  system-level  files, 
  551. but  files nonetheless.  Every pipe you create will  demand  disk 
  552. space  until its job is done.  In addition, MS-DOS will  allocate 
  553. at  least  one entire CLUSTER to a file no matter how  small  the 
  554. file  actually  is in byte count.  Compare available  disk  space 
  555. before  and after deleting a very small file.  Are you  surprised 
  556. by  the result?  Erasing one small file will free up at least  8k 
  557. of  disk  space!  So a command chain that uses an input  file,  a 
  558. pipe, and an output file can demand up to THREE TIMES the size of 
  559. the original file by itself.  And the actual amount allocated  by 
  560. MS-DOS  for any fractional part of a cluster is 8k -- that is,  a 
  561. file  with  8,193  actual  bytes takes up  16k  of  space!   Your 
  562. reaction to this bit of news is probably the same as mine was.
  563.  
  564. Solution:  Erase some files and try again.  Get a hard disk.
  565.            Get <input from Drive B, while logged onto Drive A.
  566.  
  567.                                ###
  568.  
  569.