home *** CD-ROM | disk | FTP | other *** search
/ CBM Funet Archive / cbm-funet-archive-2003.iso / cpm / zutils / zdb18c.lbr / ZDB18.HYP / ZDB18.HYP
Text File  |  1992-04-17  |  17KB  |  325 lines

  1. ;
  2.  
  3.                                                 
  4.  
  5.                              ---  z  d  b  ---  
  6.  
  7.                                                 
  8.  
  9.        vERSION 1.8 -- a zcpr3 nAME AND aDDRESS dATABASE fILE mANAGER
  10.  
  11.  
  12.  
  13.                            i -->  iNSTALLATION 
  14.  
  15.                            d -->  dESCRIPTION  
  16.  
  17.                            u -->  uSE          
  18.  
  19.                            a -->    aDD        
  20.  
  21.                            c -->    cALL       
  22.  
  23.                            l -->    dELETE     
  24.  
  25.                            e -->    eDIT       
  26.  
  27.                            f -->    fIND       
  28.  
  29.                            b -->    bROWSING   
  30.  
  31.                            o -->    oUTPUT     
  32.  
  33.                            p -->  pATCHING     
  34.  
  35.                            x -->  iNDEX        
  36.  
  37.                            s -->  sORTING      
  38.  
  39.                            y -->  mISCELLANY   
  40.  
  41. :i
  42.  
  43.  
  44.  
  45.  iNSTALLATION 
  46.  
  47.  
  48.  
  49. iF YOU'RE RUNNING zcpr3.3+, zdb NEEDS NO zcpr3 INSTALLATION, BUT IF YOU'RE 
  50.  
  51. RUNNING zcpr3.0, YOU NEED TO INSTALL zdb IN YOUR USUAL WAY.
  52.  
  53.  
  54.  
  55. bEFORE USING zdb YOU WILL NEED TO PATCH IT WITH YOUR OWN RETURN ADDRESS.  
  56.  
  57. yOU MAY ALSO NEED TO CHANGE THE STANDOUT VIDEO FLAGS OR PRINTER CODES TO 
  58.  
  59. MATCH YOUR TERMINAL OR PRINTER.  sEE zdb.pat FOR MORE INFORMATION.
  60.  
  61. :d
  62.  
  63.  
  64.  
  65.  dESCRIPTION - 1/2 
  66.  
  67.  
  68.  
  69. zdb IS THE z-sYSTEM dATABASE, A NAME AND ADDRESS FILE MANAGER.  wHAT SETS 
  70.  
  71. zdb APART ARE ITS SIZE (UNDER 8k) AND SPEED (WRITTEN IN z80 ASSEMBLER), ITS 
  72.  
  73. USE OF THE z-sYSTEM EXTENDED tcap AND vlib ROUTINES FOR SCREEN GRAPHICS AND 
  74.  
  75. CURSOR MOVEMENT, ITS EASY EDITING MODE, AND ITS USE OF THE INTERNAL CLOCK 
  76.  
  77. TO DATE EACH ENTRY AUTOMATICALLY.  zdb WILL ALSO SEARCH FOR ANY STRING (OR 
  78.  
  79. PART THEREOF) IN ANY RECORD, ANY FIELD.  aN EXPRESS SEARCH FOR LAST NAME OR 
  80.  
  81. ZIPCODE USES AN IN-ram INDEX OF POINTERS FOR BLAZING SPEED.  yOU MAY ALSO 
  82.  
  83. WRITE THE RECORDS TO A NEW FILE IN THE SORTED ORDER OF THE CURRENT INDEX, 
  84.  
  85. REMOVING DELETED RECORDS IN THE PROCESS.  tHE OLD FILE IS RENAMED AND 
  86.  
  87. RETAINED AS A BACKUP.  tHE NEW FILE IS AUTOMATICALLY REOPENED AFTER THE 
  88.  
  89. SORT IS DONE AND THE FIRST RECORD DISPLAYED JUST AS ON STARTUP.  oUTPUT 
  90.  
  91. OPTIONS INCLUDE LABEL AND ENVELOPE PRINTING, AND THE WRITING OF EITHER A 
  92.  
  93. COMMA-DELIMITED FORMAT ascii FILE FOR USE WITH wORDsTAR'S mERGEpRINT OR A 
  94.  
  95. wORDsTAR COMPATIBLE TEXT FILE WHICH CAN THEN BE EDITED AND FORMATTED TO THE 
  96.  
  97. USER'S TASTE.  lABEL PRINTING AND cdf AND wORDsTAR FILE OPTIONS ALLOW THE 
  98.  
  99. SELECTION OF ANY ONE OF FOUR KEYS FOR THE OUTPUT.  aS OF RELEASE 1.6 zdb 
  100.  
  101. WILL DIAL THE TELEPHONE NUMBER IN THE PHONE FIELD OF THE DISPLAYED RECORD.
  102.  
  103.  
  104.  
  105.  dESCRIPTION - 2/2 
  106.  
  107.  
  108.  
  109. zdb IS FULLY z-sYSTEM DEPENDENT.  iF YOU LACK A CLOCK, zdb ALLOWS FOR 
  110.  
  111. MANUAL ENTRY OF THE DATE.  zdb DOES NOT REQUIRE AN rcp OR fcp OR iop TO 
  112.  
  113. WORK.  iT DOES NEED THE EXTENDED tcap WITH THE 13 GRAPHICS CHARACTERS 
  114.  
  115. INTRODUCED IN vlib4d.
  116.  
  117.  
  118.  
  119. zdb'S DATA FILE USES A 256 BYTE RECORD SO THAT EACH ONE IS ON A PAGE 
  120.  
  121. BOUNDARY.  tHERE IS NO HEADER TO THE FILE.  fILE SIZE IS LIMITED TO A MERE 
  122.  
  123. 64k 256 BYTE RECORDS -- DUE TO THE USE OF 16 BIT COUNTERS FOR THE NUMBER OF 
  124.  
  125. RECORDS AND THE FILE POINTER.  dISK CAPACITY IS THE REAL WORLD LIMITER ON 
  126.  
  127. FILE SIZE.  oN A 390k FLOPPY, zdb ITSELF WILL TAKE 8k.  dIVIDE THE 
  128.  
  129. REMAINING 382k BY 2 (YOU NEED TWICE THE SPACE IN ORDER TO DO A SORT) TO GET 
  130.  
  131. MAXIMUM FILE SIZE -- IN THIS CASE 764 RECORDS OF 256 BYTES.  oN A HARD 
  132.  
  133. DISK, OF COURSE, YOU HARDLY NEED TO WORRY ABOUT FILE SIZE.
  134.  
  135.  
  136.  
  137. tHE INDEX REQUIRES 16 BYTES PER RECORD PLUS AN ORDER TABLE EQUAL TO THE 
  138.  
  139. NUMBER OF RECORDS IN THE DATA FILE.  wRITING THE cdf ascii FILE OR THE 
  140.  
  141. wORDsTAR FILE REQUIRES A 16k BUFFER ABOVE THE INDEX AND ORDER TABLE.  a 
  142.  
  143. SYSTEM WITH 45k OR MORE OF tpa SHOULD HANDLE A zdb FILE OF 1400 RECORDS 
  144.  
  145. WITHOUT OVERWRITING THE ccp.  zdb HAS A BUILT-IN MEMORY CHECK TO PREVENT 
  146.  
  147. CRASHES WITH VERY LARGE FILES.
  148.  
  149. :u
  150.  
  151.  
  152.  
  153.  uSE 
  154.  
  155.  
  156.  
  157. eNTERING 'zdb /<CR>' AT THE COMMAND LINE WILL PRODUCE A HELP MESSAGE.  iF 
  158.  
  159. YOU ALSO ENTER A DATA FILE NAME, zdb WILL LOOK FOR IT, CREATE IT IF IT DOES 
  160.  
  161. NOT EXIST, AND DISPLAY EITHER A BLANK RECORD (IF IT'S A NEW FILE) OR THE 
  162.  
  163. FIRST NON-ERASED ONE IN THE FILE.  iF NO FILE NAME IS SPECIFIED, zdb WILL 
  164.  
  165. USE zdb.dta AS THE DEFAULT DATA FILE NAME.
  166.  
  167.  
  168.  
  169. iF YOU DON'T HAVE AN INTERNAL CLOCK (OR HAVE A CLOCK MODULE LOADED), zdb 
  170.  
  171. WILL ASK FOR THE CURRENT DATE.  iF YOU WISH TO QUIT AT THIS POINT, ENTER ^c 
  172.  
  173. AT ANY TIME WHILE ENTERING THE DATE.
  174.  
  175.  
  176.  
  177. tHE zdb COMMANDS ARE DISPLAYED IN A SINGLE MAIN MENU LINE AT THE BOTTOM OF 
  178.  
  179. THE SCREEN.
  180.  
  181. :a
  182.  
  183.  
  184.  
  185.  aDD - 1/2 
  186.  
  187.  
  188.  
  189. 'a' FOR aDD IS THE COMMAND USED TO ENTER NEW RECORDS.  tHE DISPLAY IS 
  190.  
  191. CLEARED AND THE CURSOR PLACED IN THE FIRST FIELD READY FOR YOUR ENTRY.  
  192.  
  193. eACH FIELD IS MARKED OFF WITH ANGLE BRACKETS -- >           < -- SO YOU 
  194.  
  195. KNOW HOW MUCH SPACE YOU HAVE.  iF YOU TRY TO ENTER MORE CHARACTERS THAN 
  196.  
  197. ALLOWED IN ANY FIELD, YOU WILL GET BEEPED AT, BUT YOU CAN BACK UP AND FIX 
  198.  
  199. THINGS.   tHE EDITING AND CURSOR MOVEMENT KEYS ARE:
  200.  
  201.      
  202.  
  203.      ^x, tab, return OR DOWN ARROW MOVES TO THE NEXT FIELD.
  204.  
  205.      ^e OR UP ARROW MOVES TO THE PREVIOUS FIELD.
  206.  
  207.      ^s/^d OR LEFT ARROW/RIGHT ARROW MOVE CURSOR LEFT/RIGHT.
  208.  
  209.      ^a/^f MOVE CURSOR ONE WORD LEFT/RIGHT.  
  210.  
  211.      ^g DELETES THE CHARACTER AT THE CURSOR AND MOVES THE REMAINDER OF 
  212.  
  213.           THE LINE ONE CHARACTER LEFT.  
  214.  
  215.      ^t DELETES THE WORD TO THE RIGHT OF THE CURSOR.
  216.  
  217.      ^y DELETES FROM CURSOR POSITION TO THE END OF LINE.  
  218.  
  219.      ^v TOGGLES THE CHARACTER INSERT MODE, ALLOWING YOU TO INSERT 
  220.  
  221.           CHARACTERS AT THE CURRENT CURSOR POSITION, SHIFTING THE 
  222.  
  223.           REST OF THE LINE TO THE RIGHT.
  224.  
  225.      esc OR ^w AT ANY POINT TO FINISH THE ENTRY.
  226.  
  227.      ^q AT ANY POINT ABORTS THE EDITING.
  228.  
  229.  
  230.  
  231.  aDD - 2/2 
  232.  
  233.  
  234.  
  235. iF YOU GO PAST THE FIRST OR LAST FIELD, YOU ARE GIVEN A CHOICE OF REDOING 
  236.  
  237. THE ENTRY TO CORRECT ANY MISTAKES OR OMISSIONS OR SAVING.  pRESS esc OR ^w 
  238.  
  239. AT ANY POINT TO FINISH THE ENTRY.  eNTERING ^q AT ANY POINT WILL ABORT THE 
  240.  
  241. ENTRY WITHOUT SAVING THE RESULTS.  zdb INTERCEPTS u/d/r/l TERMINAL ARROW 
  242.  
  243. KEYS AND INTERPRETS THEM PROPERLY.  bOXES NEAR THE BOTTOM OF THE SCREEN 
  244.  
  245. DISPLAY EDITING KEYS AND GIVE PROMPTS.  oN COMPLETION OF A NEW ENTRY YOU 
  246.  
  247. ARE GIVEN THE OPTION OF CONTINUING TO ADD NEW RECORDS OR QUITTING.  wHEN 
  248.  
  249. YOU FINISH ENTERING NEW RECORDS, THE INDEX WILL AUTOMATICALLY BE SORTED.
  250.  
  251.  
  252.  
  253. iF YOU WISH TO ENSURE THAT A HEADER RECORD THAT DESCRIBES THE DATA FILE IS 
  254.  
  255. ALWAYS DISPLAYED AS THE FIRST RECORD WHEN THE FILE IS SORTED ON EITHER 
  256.  
  257. INDEX, ENTER SEVERAL SPACES AS THE INITIAL FIRST AND LAST NAME CHARACTERS 
  258.  
  259. AND MAKE SURE THE zip cODE FIELD HAS NO ENTRY.  sEE zdb.dta.
  260.  
  261. :c
  262.  
  263.  
  264.  
  265.  cALL - 1/2 
  266.  
  267.  
  268.  
  269. tHE TELEPHONE DIALER WORKS WITH ANY hAYES-COMPATIBLE MODEM.  tO MAKE A 
  270.  
  271. PHONE CALL PRESS 'c' FROM THE MAIN MENU.  zdb THEN INSTRUCTS YOU TO LIFT 
  272.  
  273. THE RECEIVER, TURN ON YOUR MODEM, AND PRESS return.  iF THE PHONE FIELD OF 
  274.  
  275. THE zdb RECORD IS EMPTY OR THE FIRST BYTE IN THE FIELD IS A SPACE CHAR- 
  276.  
  277. ACTER, NOTHING HAPPENS.  tHE MAIN MENU IS RE-DISPLAYED.  tHE CALLING 
  278.  
  279. ROUTINE WILL DIAL ANY PROPER SEQUENCE AS LONG AS THE NUMBERS START WITH THE 
  280.  
  281. FIRST BYTE OF THE PHONE FIELD.  pUT ANY ACCESS PREFIXES AND AREA CODES IN 
  282.  
  283. THE FIELD, E.G., 1-800-555-2345.  dO NOT SEPARATE PORTIONS OF THE NUMBER 
  284.  
  285. WITH SPACES (1 800 555-2345) BECAUSE zdb REGARDS EITHER A SPACE OR A NULL 
  286.  
  287. AS THE TERMINATION OF THE DIALING STRING.  dO NOT USE LETTERS OF THE 
  288.  
  289. ALPHABET IN THE DIALING STRING.  yOU MAY USE HYPHENS OR NOT:  5551234 AND 
  290.  
  291. 555-1234 WORK EQUALLY WELL.
  292.  
  293.  
  294.  
  295.  cALL 2/2 
  296.  
  297.  
  298.  
  299. bECAUSE zdb'S DIALING ROUTINE HANDLES THE SPACE CHARACTER AS A TERMINATOR, 
  300.  
  301. YOU MAY PUT ANOTHER NUMBER OR OTHER TEXT IN THE FIELD:
  302.  
  303.           555-2345 hOME pHONE=555-5432
  304.  
  305. zdb WILL DIAL ONLY THE FIRST NUMBER.  yOU CAN PUT IN THE hAYES DELAY 
  306.  
  307. CHARACTER (A COMMA) OR SEVERAL OF THEM TO USE WITH CREDIT CARD CALLS AND 
  308.  
  309. THE LIKE.  pUT THE FULL DIALING SEQUENCE IN THE zdb PHONE FIELD:
  310.  
  311.           0-999-555-1234,,,,123-456-7890-4321 -- A TYPICAL CREDIT CARD CALL 
  312.  
  313. WHERE THE COMMAS DELAY SENDING THE CREDIT CARD NUMBER SEVERAL SECONDS.  yOU 
  314.  
  315. MAY NEED TO EXPERIMENT WITH THE NUMBER OF COMMAS.  tHE EXAMPLE WORKS WELL 
  316.  
  317. WITH AN at&t CREDIT CARD.
  318.  
  319. :l
  320.  
  321.  
  322.  
  323.  dELETE 
  324.  
  325.  
  326.  
  327. pRESSING 'd' LETS YOU DELETE A RECORD FROM THE FILE.  yOU ARE GIVEN A 
  328.  
  329. CHANCE TO SAY NO IF YOU MISTAKENLY PRESS THE 'd'.  tHE RECORD IS FILLED 
  330.  
  331. WITH NULLS EXCEPT FOR THE FIRST BYTE WHICH IS 0ffh, MARKING IT AS A DELETED 
  332.  
  333. RECORD.  dELETED RECORDS ARE DROPPED FROM THE NEW FILE WHEN A NEW SORTED 
  334.  
  335. FILE IS WRITTEN.  dELETING A RECORD DOES NOT CHANGE THE RECORD COUNT IN THE 
  336.  
  337. HEADER LINE OF THE SCREEN SINCE THE DELETED RECORD IS STILL IN THE FILE 
  338.  
  339. UNTIL A NEW SORTED FILE IS WRITTEN.  dELETED RECORDS ARE NOT DISPLAYED OR 
  340.  
  341. PRINTED.
  342.  
  343. :e
  344.  
  345.  
  346.  
  347.  eDIT 
  348.  
  349.  
  350.  
  351. 'e' FOR eDIT WORKS EXACTLY LIKE aDD EXCEPT THAT IT IS FOR UPDATING EXISTING 
  352.  
  353. INFORMATION.  yOU CANNOT EDIT THE DATE.  iT IS CHANGED AUTOMATICALLY.  aS 
  354.  
  355. IN aDD, esc OR ^w EXITS THE EDITING SESSION AND SAVES THE EDITED RECORD AND 
  356.  
  357. ^q ABORTS THE EDITING SESSION AND RESTORES THE UNEDITED RECORD.
  358.  
  359. :f
  360.  
  361.  
  362.  
  363.  fIND - 1/2 
  364.  
  365.  
  366.  
  367. tHERE ARE TWO SEARCH ROUTINES IN zdb.  'x' (eXPRESS) fIND SEARCHES THE 
  368.  
  369. INDEX IN MEMORY FOR A MATCH.  bECAUSE THE INDEX IS IN MEMORY, THE eXPRESS 
  370.  
  371. SEARCH IS VERY FAST.  wHEN THE INDEX IS SORTED BY LAST AND FIRST NAMES, 
  372.  
  373. EACH INDEX RECORD IS MADE UP OF THE FIRST 9 CHARACTERS OF THE LAST NAME 
  374.  
  375. AND THE FIRST 5 CHARACTERS OF THE FIRST NAME.  wHEN THE INDEX IS SORTED BY 
  376.  
  377. zip cODE, EACH RECORD CONTAINS 9 CHARACTERS IN THE zip cODE FIELD AND 
  378.  
  379. THE FIRST 5 CHARACTERS IN THE LAST NAME.
  380.  
  381.  
  382.  
  383. tHE OTHER SEARCH WORKS ON ANY FIELD BUT IS SLOWER, AS IT MUST READ EACH 
  384.  
  385. RECORD AND SEARCH IT FOR A MATCH.  pRESS 'f' FOR THIS ONE.
  386.  
  387.  
  388.  
  389.  fIND - 2/2 
  390.  
  391.  
  392.  
  393. yOU MAY ENTER UP TO TEN CHARACTERS IN THE SEARCH STRING.  fIND IS NOT CASE 
  394.  
  395. SENSITIVE AND PARTIAL STRINGS ARE FINE.  eNTERING "JO" TO SEARCH FOR 
  396.  
  397. "jONES" WILL GET THE JOB DONE.  yOU CAN ENTER MORE THAN ONE WORD, E.G., 
  398.  
  399. "sT. pAUL," AS LONG AS THEY ARE IN THE SAME FIELD.  iF THE SEARCH STRING IS 
  400.  
  401. FOUND IN ANY FIELD OF ANY RECORD, THAT RECORD WILL BE DISPLAYED ON THE 
  402.  
  403. SCREEN.  yOU MAY THEN OPT TO END THE SEARCH OR CONTINUE IT.  iF THERE'S NO 
  404.  
  405. MATCH, zdb TELLS YOU SO.  eVEN IN FAIRLY LARGE FILES, fIND WORKS QUICKLY, 
  406.  
  407. BUT eXPRESS fIND IS MUCH FASTER.  eXPRESS sEARCH AND fIND ARE ALSO 
  408.  
  409. AVAILABLE UNDER THE oUTPUT ROUTINE.
  410.  
  411. :b
  412.  
  413.  
  414.  
  415.  bROWSING 
  416.  
  417.  
  418.  
  419. pREVIOUS AND nEXT ARE FOR BROWSING THROUGH THE FILE.  pRESSING '<', OR ',' 
  420.  
  421. BOTH WORK FOR pREVIOUS AND '>', OR '.' BOTH WORK FOR nEXT.  rECORDS ARE 
  422.  
  423. DISPLAYED IN SORTED INDEX ORDER, SO IF THE FILE IS NOT IN SORTED ORDER, THE 
  424.  
  425. RECORD NUMBERS APPEARING IN THE HEADER LINE MAY NOT BE IN SEQUENTIAL ORDER.  
  426.  
  427. rECORDS ARE DISPLAYED IN A CIRCULAR WRAP-AROUND MANNER.  iF YOU ARE GOING 
  428.  
  429. BACKWARDS THROUGH THE FILE AND REACH THE FIRST RECORD, ANOTHER pREVIOUS 
  430.  
  431. COMMAND WILL GO TO THE END OF THE FILE.  "nEXT" ACTS IN A SIMILAR FASHION 
  432.  
  433. WHEN IT REACHES THE END OF THE FILE.  tWO OTHER COMMANDS, NOT ON THE MENU, 
  434.  
  435. ARE 't' (tOP) AND 'b' (bOTTOM).  tHEY QUICKLY TAKE YOU TO THE FIRST OR LAST 
  436.  
  437. RECORD IN THE FILE.
  438.  
  439. :o
  440.  
  441.  
  442.  
  443.  oUTPUT -1/2 
  444.  
  445.  
  446.  
  447. oUTPUT HAS SUBMENUS OFFERING A CHOICE OF PRINTING LABELS AND ENVELOPES, OR 
  448.  
  449. PRODUCING EITHER A COMMA-DELIMITED FORMAT ascii DATAFILE OR A wORDsTAR 
  450.  
  451. COMPATIBLE TEXT FILE.  tHE LABEL OPTION GIVES THE FURTHER CHOICE OF 
  452.  
  453. PRINTING A SINGLE LABEL, THOSE WHICH MATCH A KEY, MULTIPLE COPIES, OR THE 
  454.  
  455. ENTIRE FILE.  bOTH THE LABEL AND ENVELOPE OPTION ALLOW YOU TO USE fIND, 
  456.  
  457. xFIND, OR nEXT BEFORE ISSUING THE PRINT COMMAND.
  458.  
  459.  
  460.  
  461. wHEN YOU SELECT 'kEY', YOU WILL BE ASKED TO SELECT THE CITY, STATE, ZIP 
  462.  
  463. CODE OR COMMENT FIELDS FOR MATCHING THE SPECIFIED KEY.  iF YOU SELECT 'x', 
  464.  
  465. THE SEARCH FOR A MATCH WILL COVER BOTH COMMENT LINES IN THEIR ENTIRETY.  iF 
  466.  
  467. YOU WANT TO MAKE LABELS FOR YOUR PAST DUE SUBSCRIBERS, PUT "PAST DUE" 
  468.  
  469. ANYWHERE IN EITHER COMMENT LINE.  tHERE'S ROOM FOR LOTS OF IMAGINATION IN 
  470.  
  471. THE USE OF THIS FEATURE.  tHE OTHER KEYS -- CITY, STATE, OR ZIP -- ARE 
  472.  
  473. TREATED A LITTLE DIFFERENTLY.  wHEN YOU ENTER A CITY, STATE, OR ZIP KEY, 
  474.  
  475. zdb WILL ONLY MATCH FIELDS THAT begin WITH YOUR KEY.  tHIS AVOIDS INCORRECT 
  476.  
  477. MATCHES THAT WOULD OTHERWISE OCCUR.  fOR EXAMPLE, IF YOU ENTER A SEARCH KEY 
  478.  
  479. FOR CITY OF "ch," zdb WILL MATCH "chEYENNE" OR "chICAGO" BUT NOT 
  480.  
  481. "mASSAchUSETTS" OR "mIchIGAN." iF YOU ENTER "48" AS A ZIP CODE KEY, zdb 
  482.  
  483. WILL SELECT ONLY RECORDS WHICH HAVE ZIP CODE FIELDS WHICH START WITH 48.
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  oUTPUT -2/2 
  490.  
  491.  
  492.  
  493. tHE cdf AND wORDsTAR OPTIONS OFFER A CHOICE OF WRITING THE ENTIRE FILE 
  494.  
  495. (CHOOSE 'aLL' AT THE MENU) OR SELECTED RECORDS (CHOOSE 'k' AT MENU) AND 
  496.  
  497. PICK THE KEY TO USE.
  498.  
  499.  
  500.  
  501. pRINTING OF LABELS (AND WRITING OF THE cdf OR wORDsTAR FILES) IS DONE IN 
  502.  
  503. SORTED INDEX ORDER.  fOR BULK MAILINGS, USE THE zip cODE INDEX FEATURE TO 
  504.  
  505. PRINT LABELS IN SORTED zip cODE ORDER.  pRINTER ESCAPE CODES (ePSON fx-85 
  506.  
  507. COMPATIBLE) ARE NEAR THE BEGINNING OF zdb AND MAY BE PATCHED AS THE USER 
  508.  
  509. WISHES.  a RETURN ADDRESS FOR THE ENVELOPE IS ALSO HARD CODED IN zdb AND 
  510.  
  511. SHOULD BE CHANGED FOR YOUR USE OR ELIMINATED.  sEE zdb.pat FOR MORE 
  512.  
  513. PATCHING INFORMATION.
  514.  
  515.  
  516.  
  517. tHE cdf AND wORDsTAR FILE ROUTINES USE A LARGE OUTPUT BUFFER AND DO THE JOB 
  518.  
  519. VERY QUICKLY.  tHE RESULTING FILES ARE IN THE CURRENTLY LOGGED DIRECTORY.  
  520.  
  521. bOTH FILES CAN BE EDITED WITH wORDsTAR, zde, OR ANY OTHER WORD PROCESSOR.
  522.  
  523. :p
  524.  
  525.  
  526.  
  527.  pATCHING 
  528.  
  529.  
  530.  
  531. zdb HAS A NUMBER OF LOCATIONS NEAR THE BEGINNING OF THE PROGRAM THAT CAN BE 
  532.  
  533. PATCHED USING zp, zpatch, ddt, ETC, TO ALTER THE OPERATION OF THE PROGRAM 
  534.  
  535. TO SUIT THE USER.  zdb.pat MAY ALSO BE RENAMED, ASSEMBLED TO AN OVERLAY 
  536.  
  537. FILE AND OVERLAID ON zdb.com TO CREATE A CUSTOM COPY OF zdb.  zcnfg.com AND 
  538.  
  539. THE CONFIGURATION FILE zdb18.cfg MAY ALSO BE USED TO CHANGE SOME OF 
  540.  
  541. zdb.com'S MORE COMMON USER-CONFIGURABLE SETTINGS.  
  542.  
  543. :x
  544.  
  545.  
  546.  
  547.  iNDEX 
  548.  
  549.  
  550.  
  551. tHE iNDEX COMMAND ALLOWS YOU TO SPECIFY THE FIELD TO USE TO MAKE UP THE 
  552.  
  553. INDEX.  tHE INDEX IS AUTOMATICALLY MAINTAINED IN SORTED ORDER AND 
  554.  
  555. DETERMINES THE ORDER IN WHICH THE RECORDS ARE DISPLAYED OR PRINTED.  tHE 
  556.  
  557. INDEX DISPLAY INFORMS YOU OF THE CURRENT INDEX TYPE.  tHE lAST nAME INDEX 
  558.  
  559. KEY PRODUCES AN INDEX RECORD FOR EACH FILE RECORD CONSISTING OF THE FIRST 
  560.  
  561. 9 CHARACTERS OF THE LAST NAME AND THE FIRST 5 CHARACTERS OF THE FIRST 
  562.  
  563. NAME.  tHE zip cODE INDEX KEY PRODUCES INDEX RECORDS CONSISTING OF 9 zip 
  564.  
  565. cODE FIELD CHARACTERS AND THE FIRST 5 CHARACTERS OF THE LAST NAME.  sINCE 
  566.  
  567. YOU ALWAYS HAVE AT LEAST THE INITIAL 5 LAST NAME CHARACTERS, eXPRESS fINDS 
  568.  
  569. USING UP TO THE FIRST 5 LAST NAME CHARACTERS WILL WORK NO MATTER WHICH 
  570.  
  571. INDEX IS CURRENTLY IN USE.
  572.  
  573. :s
  574.  
  575.  
  576.  
  577.  sORT 
  578.  
  579.  
  580.  
  581. tHE sORT COMMAND (^s) WRITES A NEW FILE IN THE CURRENT DIRECTORY WITH THE 
  582.  
  583. ORIGINAL DATA FILE NAME HAVING ITS RECORDS IN THE ORDER OF THE CURRENT 
  584.  
  585. SORTED INDEX.  tHE OLD FILE IS RETAINED AS A BACKUP WITH THE NAME 
  586.  
  587. backup.dta.  iF A PREVIOUS backup.dta FILE IS PRESENT, IT IS DELETED.  
  588.  
  589. dELETED RECORDS ARE PURGED WHEN sORT WRITES A NEW FILE.
  590.  
  591. :y
  592.  
  593.  
  594.  
  595.  mISCELLANEOUS 
  596.  
  597.  
  598.  
  599. zdb'S DATA FILE USES A 256 BYTE RECORD SO THAT EACH ONE IS ON A PAGE 
  600.  
  601. BOUNDARY.  dISK CAPACITY IS ONE LIMITER ON FILE SIZE.  oN A 390k FLOPPY, 
  602.  
  603. zdb ITSELF WILL TAKE 8k.  dIVIDE THE REMAINING 382k BY 2 (YOU NEED TWICE 
  604.  
  605. THE SPACE IN ORDER TO DO A SORT) TO GET MAXIMUM FILE SIZE -- IN THIS CASE 
  606.  
  607. 764 RECORDS OF 256 BYTES.  oN A HARD DISK, OF COURSE, YOU HARDLY NEED TO 
  608.  
  609. WORRY ABOUT FILE SIZE.
  610.  
  611.  
  612.  
  613. tHE OTHER LIMITER ON FILE SIZE IS ram.  tHE INDEX REQUIRES 16 BYTES PER 
  614.  
  615. RECORD PLUS 2 BYTES PER RECORD FOR AN ORDER TABLE.  wRITING THE cdf ascii 
  616.  
  617. FILE REQUIRES A 16k BUFFER ABOVE THE INDEX AND ORDER TABLE.  a SYSTEM WITH 
  618.  
  619. 50k OR MORE OF tpa CAN HANDLE A zdb FILE OF 1400 RECORDS WITHOUT OVER- 
  620.  
  621. WRITING THE ccp.  iF YOU NEVER NEED A cdf FILE, YOU CAN HANDLE A MUCH 
  622.  
  623. LARGER FILE, AS MUCH AS 2400 RECORDS, DEPENDING ON YOUR tpa.  vERY LARGE 
  624.  
  625. FILES TAKE TIME FOR zdb TO READ THROUGH, INDEX, AND SORT ON STARTUP, A 
  626.  
  627. MINUTE OR LONGER.  wRITING A NEW, SORTED FILE TAKES ABOUT 1 MINUTE PER 100 
  628.  
  629. RECORDS ON A HARD DISK DRIVE SYSTEM, LONGER ON FLOPPIES.  iF YOU HAVE VERY 
  630.  
  631. LARGE FILES, IT MAY MAKE SENSE TO BREAK THEM INTO SMALLER UNITS FOR EASIER 
  632.  
  633. HANDLING BY zdb.  zdb DOES A CHECK OF AVAILABLE MEMORY BEFORE ADDING A 
  634.  
  635. NEW RECORD OR WRITING A cdf FILE AND ABORTS IF THERE'S NOT ENOUGH ram.
  636.  
  637.  
  638.  
  639.  mISCELLANEOUS 
  640.  
  641.  
  642.  
  643. sOMETIMES THE SCREEN DISPLAY MAY GET OUT OF WHACK.  tHE MAIN MENU HAS AN 
  644.  
  645. UNDISPLAYED COMMAND -- ^r (cONTROL-r) -- WHICH REFRESHES THE SCREEN 
  646.  
  647. DISPLAY.
  648.  
  649.