home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / editors / dartht.arj / DART.#1 < prev    next >
Text File  |  1992-02-20  |  39KB  |  1,217 lines

  1. :PREFACE
  2.  
  3. The following text fully describes Dart's navigation
  4. features. But to get you started, here are some quick
  5. hints.
  6.  
  7. ■Press (`PgDn`) and (`PgUp`) to scroll through the text.
  8.  
  9. ■Asterisks* mark references to other parts of the text.
  10.  
  11. ·Press (`Tab`) or (`Shift-Tab`) to move to an asterisk.
  12. ·Press (`Enter`) to view the referenced text.
  13. ·Afterwards, press (`BackSpace`) to return.
  14.  
  15. ■Press (`F8`) to use the Table of Contents.
  16.  
  17. ■Mouse users can click the left button to select
  18.  hotwords, buttons, items in menus, lists, and dialogs.
  19.  A mouse can also be used to scroll text using the bars
  20.  displayed alongside each window.
  21.  
  22. :INTRODUCTION
  23.  
  24. Dart is a hypertext* file viewer and program launcher.
  25. It is designed for people wishing to publish material
  26. on-disk, for personal or commercial use. Dart can  view
  27. any text file or run any DOS program, memory permitting.
  28. Special features are available to people formatting
  29. texts for Dart, but no type of "programming" is
  30. required.
  31.  
  32. Applications ideal for Dart include distribution of
  33.  
  34. ■Articles.     ■Catalogs.  ■Magazines.   ■Manuals.
  35. ■Newsletters.  ■Novels.    ■References.  ■Textbooks.
  36.  
  37. :Desktop_environment
  38.  
  39. Dart offers a modern "desktop" environment featuring
  40.  
  41. ■Multiple, overlapping windows, limited only by
  42.  available memory.
  43.  
  44. ■Mouse support, menus, dialogs, input boxes.
  45.  
  46. ■Online hints for menu selections.
  47.  
  48. ■Complete save and restore of desktop.
  49.  
  50. :Navigation_features
  51.  
  52. Dart's navigation features include
  53.  
  54. ■Scroll forward or backward by line, screen, or label.
  55.  
  56. ■Scrollbars showing relative location in file.
  57.  
  58. ■Conventional and one-pass global text search*.
  59.  
  60. ■Global screen* history, with manual override.
  61.  
  62. ■Hypertext* table and index of contents*.
  63.  
  64. ■Hotkeys* for navigation features.
  65.  
  66. ■Online printing by screen, label, or file.
  67.  
  68. ■Built-in editor for notetaking.
  69.  
  70. ■Black & white mode for LCD monitors.
  71.  
  72. ■43/50 line mode for EGA/VGA monitors.
  73.  
  74. :Authoring_features
  75.  
  76. Dart's features for authors include
  77.  
  78. ■Conventional ASCII format.
  79.  
  80. ■No special programming or indexing: type and go.
  81.  
  82. ■Many existing texts can be distributed as-is.
  83.  
  84. ■Automatic sizing of desktop windows.
  85.  
  86. ■Automatic generation of table and index of contents*
  87.  (if your text is formatted with labels*).
  88.  
  89. ■In-line linking*, both within and among files.
  90.  
  91. ■Hard_spaces* for multi-word labels and links.
  92.  
  93. ■Optional "bold" and "underscore" text_attributes*.
  94.  
  95. ■Menu_boxes* of hyperlinks using line-draw characters.
  96.  
  97. ■Optional, one-way text compression to secure your data
  98.  and save disk-space. (See Compress*.)
  99.  
  100. ■Registered version customized with your name (or other
  101.  information) embedded into the program.
  102.  
  103. ■Royalty-free distribution of Dart with your text.
  104.  
  105. ■Compatibility with most any IBM-type PC, with or
  106.  without graphics monitor or hard disk.
  107.  
  108.  
  109. :HYPERTEXT
  110.  
  111. So what is hypertext? In its simplest form, hypertext
  112. lets readers jump from one place to another place by
  113. selecting a hotword. Generally, this is called linking*.
  114.  
  115. :Linking
  116.  
  117. To form a link, all a hypertext really needs is a
  118. hotword and a place to jump. Dart lets authors indicate
  119. "places to jump" by using "labels". Dart defines a label
  120. as any line that begins with a colon (:) -- just like a
  121. DOS Batch file. When Dart prints a label on the screen,
  122. it will appear in bold attributes, and without the
  123. colon. (This is so they look nice.)
  124.  
  125. To keep it simple, Dart considers every word a potential
  126. hotword. You can use the cursor keys, or mouse, to move
  127. the cursor to any word on the screen. When you press
  128. (`Enter`), or click the left mouse button, Dart reads
  129. the word at the cursor. If the word is a label, Dart
  130. jumps to that label.
  131.  
  132. :Asterisks
  133.  
  134. To point-out which words are the names of hotwords,
  135. authors can type an asterisk (`*`) after a label or file
  136. name. The reader can then move between asterisks using
  137. (`Tab`) and (`Shift-Tab`), and select one by pressing
  138. (`Enter`). After making a hypertext jump, readers can
  139. press (`Backspace`) to return.
  140.  
  141. For example introduction*, hypertext*, linking*, and
  142. asterisks* are all hotwords that a reader can quickly
  143. select by pressing (`Tab`) and  then (`Enter`). To move
  144. to a previous asterisk, press (`Shift-Tab`) instead.
  145.  
  146. Note that if the selected hotword is a numeral, Dart
  147. will assume that it's a page number, rather than a
  148. label, and goto that page instead. Dart uses the ASCII
  149. form-feed character (`^L`) to separate pages, and will
  150. draw a line of hyphens across the screen to mark page
  151. breaks. One such page break follows ..
  152.  
  153. :READING_TEXT_WITH_DART
  154.  
  155. Besides the point-and-shoot hypertext features described
  156. in the Introduction*, Dart provides other features to
  157. make reading text more convenient.
  158.  
  159. The following overviews the major features on Dart's
  160. Menubar. To select any item from within Dart, press
  161. (`F10`), use the cursor keys to hilite the appropriate
  162. item, and press (`Enter`) when ready.
  163.  
  164. :Files
  165.  
  166. Dart's "Files" menu lets you select files to view, drop
  167. to DOS, or exit the program altogether.
  168.  
  169. The `Open` item displays a dialog with three lists:
  170. Files, Directories, and Drives.
  171.  
  172. Each of these is a sorted list. Entries can be selected
  173. by using the (`Arrow`) keys, or by typing the first
  174. letters of the entry. When the appropriate entry is
  175. hilited, press (`Enter`). To move from one list to
  176. another, press (`Tab`).
  177.  
  178. The Open `Files` list displays files in the current
  179. directory. To view a file, select its name from the
  180. list. If a program -- rather than a text file -- is
  181. selected, the program is launched.
  182.  
  183.  To change the current file mask, press (`Tab`) to move
  184.  to the `Directories` list and select the ".  <current>"
  185.  entry.
  186.  
  187.  The Open `Directories` list displays subdirectories. To
  188.  change to a subdirectory, select its name from the list.
  189.  
  190.  The Open `Drives` list displays available drives. To
  191.  change to another drive, select its letter.
  192.  
  193.  By hiliting a file and selecting the [`E`dit] button you
  194.  can make changes to a selected text file. Note that some
  195.  files distributed with Dart may be readonly, and cannot
  196.  be edited this way.
  197.  
  198.  To create a file, or edit a file you are already
  199.  viewing, choose the [`N`ew] button, and Dart will prompt
  200.  you for a file name.
  201.  
  202.  The built-in editor is intended only as a convenience.
  203.  To write your hypertext files, use a good ASCII text
  204.  editor, like MicroStar*, or export text from your word
  205.  processor.
  206.  
  207. The `Dos Shell` item temporarily returns you to the
  208. operating system without exiting Dart.
  209.  
  210. The `Exit` item closes the Dart program, and returns you
  211. to DOS.
  212.  
  213. When you exit from Dart, the program will automatically
  214. save the current Desktop to a file named DART.DSK.
  215. Later, when you run the program again, DART will look
  216. for this file, and if found, reload your Desktop. It
  217. will appear as though you had never left.
  218.  
  219. The actual name of the DART.DSK file may vary if the
  220. USER command line option has been used. (See
  221. Command_Line_Options* for details.)
  222.  
  223. :Contents
  224.  
  225. Dart's "Contents" menu will display labels found in a
  226. text in two different ways.
  227.  
  228. ■The `Table` of Contents lists the labels sequentially.
  229.  
  230.  This menu will also hilite the name of the passage
  231.  currently in view, lending a "you are here" affect.
  232.  
  233. ■The `Index` of Contents lists the labels sorted alpha-
  234.  betically.
  235.  
  236.  The index does not "autoseek" the current passage, but
  237.  remains at the label selected when it was last used.
  238.  
  239. To return to a previous screen after using either menu,
  240. press (`Backspace`), or (`Shift`)(`F9`) for the screen*
  241. History.
  242.  
  243. :Navigate
  244.  
  245. The Navigate item leads to three submenus, Goto*,
  246. Jump*, and Screen*.
  247.  
  248. :Goto
  249.  
  250. Dart's `Goto` menu is a hyper fastlane; instead of
  251. bothering with lists, readers can input label or file
  252. names, or page or row numbers directly. This is handy
  253. for the reader (or author) who already knows the text
  254. well.
  255.  
  256. Goto `File` can also be used to launch external programs
  257. that need command line arguments. Just type the name of
  258. the program (including the .EXE or .COM extension)
  259. followed by the parameters as you would use them at a
  260. DOS prompt.
  261.  
  262. :Jump
  263.  
  264. Jump `Label` assumes the cursor is on or next to the
  265. name of a label. Pressing (`Enter`) is another way to
  266. make this type of jump. The Jump `File` item assumes the
  267. cursor is on or next to the name of a file: just as if
  268. the words were "quoted". See Linking* and
  269. Multiple_Files* for more about jumping. The `Next_star`
  270. and `Prev_star` items move the cursor to the next or
  271. previous asterisk.
  272.  
  273. :Screen
  274.  
  275. Screen `History` lists the last line the cursor was on
  276. for the last 128 screens viewed. To return to a prior
  277. screen, simply select a line from the `History` list. If
  278. the file is not already loaded, Dart will try to load it
  279. for you.
  280.  
  281. Screen `Insert` adds the current line to the `History`
  282. list, just as if you had jumped or scrolled from it.
  283. Screen `Insert` is Dart's answer to bookmarks.
  284.  
  285. The `Back_track` and `Retrack` items allow you to move
  286. quickly along the screen History. After you have back
  287. tracked to review a screen, you can use Retrack to
  288. resume your reading. The screen History list works like
  289. an infinite loop: if you Backtrack or Retrack long
  290. enough, you will always return to where you began.
  291.  
  292. :Search
  293.  
  294. Dart's Search menu provides for two types of search. The
  295. first, called `Find text`, is the conventional type of
  296. search used by most any text viewer or editor: input a
  297. text string, press (`Enter`), and Dart jumps to the next
  298. occurrence of that string in the file.
  299.  
  300. Additionally, Dart also offers a `Global` search. This
  301. feature will quickly find every occurrence of the given
  302. string in a file, compile a `Hit List` of the lines
  303. containing that string, and then display the list.
  304.  
  305. You can then scan the `Hit List` for the lines you want,
  306. and jump to them on demand. The `Hit List` remains
  307. available until the next `Global` search, so you can
  308. jump back and forth between finds as needed.
  309.  
  310. When searching for text, Dart uses the same upper/lower
  311. case matching used by WordPerfect(tm). UPPERCASE letters
  312. only match other UPPERCASE letters, while lower- case
  313. letters match UpperCase and lowercase letters.
  314.  
  315. To search for a whole word, type a space before and
  316. after the word. A single leading or trailing space can
  317. also be used to find a prefix or suffix.
  318.  
  319. :About
  320.  
  321. The `Dart` item on the About menu displays an
  322. information box. Included is information about the
  323. registered user (if any), and how to contact UserWare.
  324.  
  325. The only way to have your own name, address, or other
  326. information displayed here is to register the program
  327. with UserWare. (See Registering_Dart*.)
  328.  
  329. The `Blank_screen` item blanks the screen until a key is
  330. pressed. You can also press (`Ctrl`)(`PrtSc`) to do
  331. this.
  332.  
  333. :Compress
  334.  
  335. The `Compress` item on the About menu will compress the
  336. text in the current window. Compression saves disk
  337. space, and makes your text "edit-proof."
  338.  
  339. Disk-savings are often 50% or more. This means that, by
  340. using Compress, authors can distribute 500K of text --
  341. and the Dart software -- on a single 360K disk.
  342.  
  343. When loading files, Dart will automatically recognize
  344. the compressed format. Decompression is "transparent",
  345. and occurs entirely within memory. Your readers will
  346. notice no difference between loading a compressed file
  347. and loading a plain text file.
  348.  
  349. Before using Compress, it's recommended that you first
  350. name your files using the Dart convention: The first
  351. character of the file's extension is the pound-sign
  352. (`#`). Here are some examples:
  353.  
  354.  `TEXT.#01   DICT-A.#01   DART.#1   MYTEXT1.#`
  355.  
  356. When you use Compress, Dart will remind you to make a
  357. backup of your file first, and give you a chance to
  358. cancel the compression. If you continue, Dart will
  359. rename any existing disk file with an exclamation mark
  360. (`!`) as the first character of the extension. If this
  361. extra backup file exists, Dart will give you a chance to
  362. cancel the task before the file is overwritten. Dart
  363. will then write a new text file, with the same name as
  364. the old one, but in the compressed format.
  365.  
  366. Incidentally, the SoftCopy appendix files have all been
  367. compressed (see "SoftCopy.#"* on your distribution
  368. disk).
  369.  
  370. :Decompressing_files
  371.  
  372. Compression is a one-way process. The only way to
  373. decompress a file is to view it using Dart, in which
  374. case decompression is transparent and automatic.
  375.  
  376. You should always make an extra backup copy of your text
  377. before using Compress*. But, as an additional
  378. precaution, Compress will try to backup your original
  379. text file by renaming it with an exclamation mark (`!`)
  380. instead of the (`#`). So after using Compress, your
  381. original text files would be stored as
  382.  
  383.  `MYTEXT.!01   DICT-A.!01   DART.!01   MYTEXT1.!`
  384.  
  385. To recover your original text, refer to your own backup
  386. file, or, in an extreme emergency, ~carefully~ use the
  387. DOS command:
  388.  
  389.  `>COPY MYTEXT.!01 MYTEXT.#01`
  390.  
  391. where MYTEXT.#01 is the name of the file you want to
  392. restore.
  393.  
  394. Again, it is ~strongly recommended~ that you make an
  395. extra backup copy of your text before using Compress*,
  396. and ~not rely~ on the backup text files it leaves.
  397.  
  398. :WRITING_TEXT_FOR_DART
  399.  
  400. Dart was designed to make authoring a snap. Dart can
  401. read most any ASCII text file, without modification. Any
  402. registered user of Dart may distribute a copy of the
  403. program along with their text, without paying any type
  404. of royalty to UserWare.
  405.  
  406. Any ASCII text editor can be used to create and edit
  407. files for use with Dart. Examples include Galaxy*,
  408. Qedit*, WP_Editor*, and Microstar*. "SoftCopy.#P"
  409. includes some descriptions of text editors, and other
  410. tools of interest to hypertext authors.
  411.  
  412. The following sections overview how an author can tweak
  413. their text to take better advantage of the special
  414. features Dart provides.
  415.  
  416. :Filenaming
  417.  
  418. When possible, authors should follow Dart's filenaming
  419. convention: Use the pound-sign (`#`) as the first
  420. character of a file's extension.
  421.  
  422. Here are some examples:
  423.  
  424.   `MYTEXT.#01   DICT-A.#01     DART.#1   MYTEXT1.#
  425.   MYTEXT.#02   DICT-R.#01     DART.#2   MYTEXT2.#
  426.   MYTEXT.#03   DICT-R.#02     DART.#B   MYTEXT3.#
  427.   MYTEXT.#99   DICT-XYZ.#01   DART.#R   MYTEXT4.#`
  428.  
  429. By default, Dart's `Open` Files menu will display
  430. filenames which match this pattern (*.`#`*). Also,
  431. Dart's compression feature, Compress*, expects files to
  432. be named this way.
  433.  
  434. Naming files this way is ~not~ a requirement, only a
  435. convention that authors should follow when possible.
  436.  
  437. :Labels
  438.  
  439. Labels serve two purposes. First, they allow hypertext
  440. linking*, and, second, they provide a ready-made Table
  441. of Contents*. Dart doesn't need labels to display a
  442. file, but they can be of great help to author and reader
  443. alike.
  444.  
  445. When naming labels, authors can use any character that
  446. could be used in a DOS filename. To represent spaces in
  447. a label name, authors can instead type underscores (aka
  448. hard_spaces*). When displayed on-screen, the underscores
  449. will appear as blanks.
  450.  
  451. A good convention to follow when typing your labels is
  452. to type the "major" sections in all uppercase letters,
  453. and the "minor" sections in upper and lower case
  454. letters. If you call up the Table of Contents (press
  455. (`F8`)), you'll see we've followed this convention here.
  456.  
  457. Labels can be any convenient length, so long as the full
  458. name fits into the Table of Contents window. Right now,
  459. that means 45 characters.
  460.  
  461. :Hard_spaces
  462.  
  463. Hard_spaces are very helpful when using longer label
  464. names. Hard_spaces look like blanks on the screen, but
  465. are an entirely different character from Dart's
  466. viewpoint.
  467.  
  468. Whenever Dart reads a file into memory, it converts all
  469. the underscore characters into hard_spaces (ASCII #255).
  470. This conversion does not affect the text stored on disk,
  471. only the text Dart copies into memory.
  472.  
  473. Of course, if you use underscores to name a label, you
  474. must also use them when typing the label into your text.
  475.  
  476. :Text_Attributes
  477.  
  478. To help prettify your text, Dart treats the tilde
  479. character and the back-apostrophe character as control
  480. codes.
  481.  
  482. To underscore text, place the text between a pair of
  483. ~tildes~. To bold text, place the text between a pair of
  484. `back-apostrophes`. To use underscore and bold, use
  485. ~`both`~.
  486.  
  487. Dart "clears" the text attributes at the beginning of
  488. each label, so any use of the text attributes must begin
  489. and end within the text of the same label.
  490.  
  491. Dart will display the text a little differently
  492. depending on the type of monitor a reader is using.
  493. Attribute mapping is automatic, so authors need not
  494. worry about it.
  495.  
  496. To be compatible with various text editors, Dart also
  497. uses the following control characters to toggle
  498. underscore, bold, or both (italics).
  499.  
  500.   Underscore:  ^T ^U
  501.         Bold:  ^[ ^\ ^B
  502.      Italics:  ^E ^R ^S
  503.  
  504. Which also means that these characters cannot be used as
  505. ordinary text.
  506.  
  507. One good use of text_attributes is to hilite the labels
  508. or asterisks placed in your text, so they stand out. You
  509. could even use the various combinations of attributes to
  510. classify hotwords according to `use`, ~meaning~, or
  511. `~importance~`. The choice is yours.
  512.  
  513. :Multiple_Files
  514.  
  515. Often, it's convenient to break a text up into more than
  516. one file. Dart makes this task easier by treating
  517. hotwords surrounded by double quote marks specially. If
  518. a hotword is placed in double quotes, like this:
  519.  
  520.   "mytext.#01"*
  521.  
  522. Dart will consider the hotword to be the name of a file,
  523. and load that file into a new window on the desktop (or
  524. switch to it if it has already been loaded). If the
  525. "quoted" hotword contains more than one word,
  526.  
  527.   "mytext.#01 hello_world!"*
  528.  
  529. Dart will assume that the second word is a label, and
  530. goto it once the file is loaded.
  531.  
  532. If the specified file is a DOS program, Dart will launch
  533. the program instead of displaying it as a text file. Any
  534. text following the program name (within the double
  535. quotes) is passed to the program like parameters typed
  536. at the DOS command line.
  537.  
  538. :Menu_Boxes
  539.  
  540. Sometimes an author might want to set up a small menu
  541. box of items. Rather than force you to mark every word
  542. in the menu with an asterisk, Dart lets you draw a box
  543. around the list of items, and mark only one. Once the
  544. reader (`Tab`)s into the box, following (`Tab`)s move
  545. the asterisk to the next selection in the box. Here's an
  546. example:
  547.  
  548. To review, press (Tab) to select a label.
  549.  
  550.     ┌─────────────────┐
  551.     │*Labels          │  Signposts for readers.
  552.     │ Text_Attributes │  Prettifying your text.
  553.     │ Multiple_Files  │  Baskets for your eggs.
  554.     │ Menu_Boxes      │  <- You are here.
  555.     └─────────────────┘
  556.  
  557. Alternatively, you can leave the text outside of the
  558. box, and simply draw a vertical path for the asterisk.
  559.  
  560.     ┌─┐
  561.     │ │ Labels           Signposts for readers.
  562.     │ │ Text_Attributes  Prettifying your text.
  563.     │*│ Multiple_Files   Baskets for your eggs.
  564.     │ │ Menu_Boxes       <- You are here.
  565.     └─┘
  566.  
  567. The only restriction with either of these boxes is that
  568. text cannot appear left of the asterisk, only blank
  569. spaces and other characters than cannot be used in label
  570. names.
  571.  
  572. If you would like to have text on both sides of a menu
  573. box, draw an asterisk box right of the labels, like
  574. this:
  575.  
  576.                            ┌─┐
  577. To review,  `Labels`         │ │ Signposts for readers.
  578. press (Tab) `Text_Attributes`│ │ Prettifying your text.
  579. to select a `Multiple_Files` │ │ Baskets for your eggs.
  580. a label.    `Menu_Boxes`     │*│ <- You are here.
  581.                            └─┘
  582.  
  583. If your editor doesn't have a linedraw feature, most
  584. editors, including Dart's built-in editor, allow you 
  585. to input these by holding down the (Alt) key, and 
  586. typing in some "magic" numbers on your numeric keypad.  
  587. Here are the magic linedraw numbers:
  588.  
  589.            196
  590.      218 ┌  ─  ┐ 191
  591.  
  592.      179 │     │ 179
  593.  
  594.      192 └  ─  ┘ 217
  595.            196
  596.            
  597. Remember that Dart will only recognize the single-
  598. line characters, like those shown.
  599.  
  600. :PACKAGING_TEXT_FOR_DART
  601.  
  602. We ~want~ you to use Dart to distribute your text, so
  603. there are no hard-and-fast packaging requirements. If it
  604. works, you're doing it right.
  605.  
  606. But to be helpful, here are some hints and guidelines
  607. that authors might follow.
  608.  
  609. :Files_needed_for_distribution
  610.  
  611. When distributing your text with Dart, it is only
  612. necessary to include the Dart.EXE ~and~ Dart.RCS files. 
  613. You may include any of the Dart documentation files, 
  614. or cut-and-paste text from them, if you wish, but 
  615. this is not required.
  616.  
  617. Generally, it's a good idea to include a "MYTEXT.BAT" or
  618. "GO.BAT" file with your text, which would load the Dart
  619. program together with the first part of your text. For
  620. example:
  621.  
  622.  `REM MYTEXT -- COPYRIGHT 1991 IMA AUTHOR
  623.  ECHO "LOADING VIEWING SOFTWARE .."
  624.  DART MYTEXT.#01
  625.  ECHO "THANK YOU FOR VIEWING MYTEXT"`
  626.  
  627. It is also a good idea to provide a directory of the
  628. files that are supposed to be on your distribution disk.
  629. For example, a file named MYTEXT.DIR might read:
  630.  
  631.  `DART.EXE   -- program file used to view text.
  632.  DART.RCS   -- program utility file.
  633.  MYTEXT.#01 -- first part of text.
  634.  MYTEXT.#02 -- second part of text.
  635.  README     -- last minute changes and notes (if any).
  636.  REGISTER   -- registration information.`
  637.  
  638. An easy way to do this is to "pipe" the DOS DIR list to
  639. a file, and then edit the output with a text editor:
  640.  
  641.  DIR *.*>MYTEXT.DIR
  642.  
  643. Note the use of the (`>`) character, which tells DOS to
  644. send the output of the DIR command to a disk file.
  645.  
  646. Finally, it is a `very` excellent idea to include a
  647. sample description of your book, like those found in
  648. "SoftCopy.#"*. The idea is that it should be something
  649. that a User Group or Shareware librarian could edit into
  650. a catalog description. The README file would be one
  651. place to put such a description. A sample description is
  652. doubly important if you compress* your text!
  653.  
  654. :Files_to_omit_for_distribution
  655.  
  656. You should also be careful that the distribution disk
  657. does not include a DART.DSK, DART.CFG, or DART.SYS file.
  658. While there are creative ways that these files could be
  659. used on a distribution disk, it is ~strongly
  660. recommended~ that they be reserved for the exclusive use
  661. of readers.
  662.  
  663. Also, if you decide to compress* your files, copy only
  664. the (*.`#`*) files to your distribution disk. Be sure to
  665. omit the (*.`!`*) backup files.
  666.  
  667. :INSTALLING_DART
  668.  
  669. Dart requires no real installation. It can be run on
  670. almost any IBM-type personal computer. You can copy the
  671. Dart files to any subdirectory on a hard-disk, or simply
  672. run them from a floppy disk.
  673.  
  674. :Memory_requirements
  675.  
  676. Dart will be able to load if at least 196 kilobytes of
  677. memory is available. How many files Dart can keep open
  678. at once, though, depend on available memory and the size
  679. of the files. If you run out of memory, Dart will say
  680. so, and you can free up additional memory by closing
  681. unneeded windows.
  682.  
  683. :Video_requirements
  684.  
  685. Dart can be run using any monochrome, color, or LCD
  686. monitor. It will autodetect the proper video attributes
  687. for the current monitor. The video attributes used
  688. cannot be changed beyond selecting among the three
  689. alternatives.
  690.  
  691. You can force Dart to use black&white attributes by
  692. using the command_line_option `/BW` (See
  693. Command_Line_Options*). Alternatively, use the DOS
  694. command `MODE BW80` before running Dart.
  695.  
  696. :Floppy_disks
  697.  
  698. While running, Dart may need to refer back to the
  699. original program file now and again. If run from a
  700. floppy drive, it is important to keep the Dart program
  701. disk inserted while the program is running.
  702.  
  703. :DOS_2.x
  704.  
  705. When run under DOS 2.x, the drive or directory on which
  706. the Dart program is found must be either
  707.  
  708.  ■ the current default directory, or
  709.  ■ a directory on your DOS PATH.
  710.  
  711. If neither of these conditions are met (under DOS 2.x),
  712. Dart will issue a reminder message when it is run, and
  713. terminate gracefully.
  714.  
  715. :DOS_3.x
  716.  
  717. Under DOS 3.0 or better, Dart can find its original
  718. program file no matter where it is stored. `However,`
  719. the program file must still remain available while the
  720. program is running.
  721.  
  722. :COMMAND_LINE_OPTIONS
  723.  
  724. Dart understands a number of command-line options to
  725. modify its default options. Most can also be set using
  726. the `Options`* Video menu.
  727.  
  728.  `/BW=YES`       Force black&white attributes.
  729.  `/HIRES=YES`    Use 43/50 line mode on EGA/VGA screens.
  730.  `/HOME=d:\path` Directory for configuration files.
  731.  `/MARKERS=NO`   Don't display ">markers<" in dialogs.
  732.  `/SNOW=YES`     Wait for retrace on older CGA monitors.
  733.  `/USER=xxx`     Use DART-xxx.DSK as desktop save file.
  734.                xxx can be any DOS filename characters.
  735.  
  736. Anything that isn't a valid option is considered a
  737. filename to load into the desktop, or a label to jump to 
  738. when the file is loaded. To specify a label, type it 
  739. after the filename and with a colon:
  740.  
  741.  `>DART  MYBOOK.# :MYLABEL  MYBOOK.#2 :MYOTHERLABEL`
  742.  
  743. Command line options can be loaded from three places:
  744.  
  745.  ■ DOS_environment_variables*,
  746.  ■ Configuration_files*, or
  747.  ■ The command line when the program is run.
  748.  
  749. Dart will look for, and load if found, any options found
  750. in any of these places, in this order, each time it is
  751. run. The loading order is important, since a command
  752. line option, for example, will "override" an option set
  753. in a CFG file.
  754.  
  755. :DOS_environment_variables
  756.  
  757. Command_line_options* found in the DOS environment work
  758. just like those typed in at the command line. DOS
  759. environment variables are created using the `SET`
  760. command. Here's an example:
  761.  
  762.  `C>SET DART=/BW /HIRES`
  763.  
  764. These tell Dart to use the black & white palette in
  765. the 43/54 line mode (when available).
  766.  
  767. Before checking for a DART environment variable, the
  768. program first checks for a DART.SYS variable. Network
  769. administrators can use the DART.SYS variable to setup
  770. Dart for the network generally, and the DART variable to
  771. setup Dart for individual users.
  772.  
  773. For example, the system login script could include the
  774. DOS Command
  775.  
  776.   'SET DART.SYS=/HOME-F:\HOME\DART'
  777.  
  778. and an individual user's login script might include
  779.  
  780.   'SET DART=/USER-USR'
  781.  
  782. Together, these variables tell Dart to look for its
  783. setup files in the F:\HOME\DART directory, and to look
  784. there for files named DART`-`USR.CFG, DART`-`USR.SYS,
  785. and DART`-`USR.DSK.
  786.  
  787. Note that the hyphen (`-`) can be used in place of the
  788. equal sign (`=`) here. (The DOS SET command does not
  789. allow use of equal signs within variables).
  790.  
  791. :Configuration_files
  792.  
  793. After checking for Environment_variables*, DART looks
  794. for the Dart.SYS and Dart.CFG files in the current
  795. directory, or the directory where DART.EXE is found.
  796.  
  797. Dart uses two configuration files, Dart.SYS and
  798. Dart.CFG. Dart.SYS* are meant for Dart's own use.
  799.  
  800. The Dart.CFG is simply an ASCII text file with one
  801. option per line, like so:
  802.  
  803.   /BW
  804.   /HIRES
  805.  
  806. :Command_line
  807.  
  808. Lastly, Dart examines the command line for any options
  809. or filenames.  If no files have been loaded by now, Dart
  810. will look for a Dart.DSK* file, and load the previous
  811. desktop if found.
  812.  
  813. :Dart.DSK
  814. :Dart.SYS
  815.  
  816. Dart rewrites the Dart.SYS file at the end of the
  817. session whenever changes are made to the factory
  818. defaults. Dart also writes the Dart.DSK file at the end
  819. of the session, which contains the names, positions, and
  820. sizes of the files and windows on the desktop.
  821.  
  822. :Networks
  823.  
  824. Dart's /HOME and /USER parameters make it easy to use
  825. the program on a network.
  826.  
  827. The USER parameter appends an extra three characters to
  828. the name of the .DSK, .SYS, and .CFG files. For example
  829.  
  830.   DART-`TNH`.CFG  DART-`USR`.CFG  DART-`JWH`.CFG
  831.   DART-`TNH`.DSK  DART-`USR`.DSK  DART-`JWH`.DSK
  832.   DART-`TNH`.SYS  DART-`USR`.SYS  DART-`JWH`.SYS
  833.  
  834. This allows you to store the setup files for more than
  835. one user in the same directory.
  836.  
  837. Alternatively, the HOME parameter tells Dart where to
  838. look for these files. This lets you store setup files
  839. for different users in their "personal" or home
  840. directories.
  841.  
  842. See Command_Line_Options* for more on the various ways
  843. you can feed Dart these and other parameters.
  844.  
  845. :REGISTERING_DART
  846.  
  847. Registered users of Dart receive a copy of the program
  848. with their own name, or other information, embedded in
  849. the Dart|About screen. Registered users also receive a
  850. free copy of the Microstar text editor.
  851.  
  852. If you did not receive a copy of the registration file,
  853. "DART.#R"*, send $29 US to USERWARE, 4 FALCON LA E,
  854. FAIRPORT NY 14450, with the following information.
  855.  
  856. ■Name of person, corporation, or institution registering
  857.  the program.
  858.  
  859. ■Shipping address. Phone and fax numbers are optional,
  860.  but can be helpful when included.
  861.  
  862. ■Text to appear in Dart|About screen. Up to 4 lines of
  863.  40 characters each (i.e. your name and address).
  864.  
  865. ■The name of the library, individual, magazine article,
  866.  et cetera, from which you learned of us. (Important!)
  867.  
  868. ■"Site" licenses for larger institutions are not
  869.  required, but individual authors or departments may
  870.  wish to purchase their own registered copy.
  871.  
  872. International or Priority Mail orders add $2 special
  873. handling. Funds must be in US dollars drawn on a US
  874. Bank. Travelers checks accepted. Those wishing 3-1/2
  875. disks should add $2 and so state. We accept purchase
  876. orders from accredited institutions in return for a $2
  877. special handling fee.
  878.  
  879. Availability, pricing, and the programs or files 
  880. included on the registration disk are subject to change 
  881. without notice. All UserWare products carry a 60-day 
  882. money-back guarantee.
  883.  
  884. :Questions
  885.  
  886. Feel free to submit any questions or comments to:
  887.  
  888.  ATTN Ted Husted
  889.  USERWARE
  890.  4 FALCON LA E
  891.  FAIRPORT NY 14450-3312 USA
  892.  
  893.  716 425-3463 (Voice)
  894.  71540,3660   (CIS)
  895.  
  896. Here are some answers to commonly-asked questions:
  897.  
  898.  `How many labels and files can be used with Dart?`
  899.    In theory, more than 16,000, but in practice it's a
  900.    matter of available memory. The more you got, the
  901.    more you can use.
  902.  
  903.  `Can Dart read files larger than 64k?`
  904.    Yes, up to available memory.
  905.  
  906.  `How long can label names be?`
  907.    Labels should be short-enough to fit in the
  908.    Contents* dialogs. Right now, that means 45
  909.    characters.
  910.  
  911.  `Is a special utility or extra disk space needed to
  912.  decompress files.`
  913.   No, everything is automatic.
  914.  
  915.  `How are page and row numbers put into the text?`
  916.    Dart uses the ASCII form feed character (^L) to
  917.    separate pages, and the standard ASCII line feed,
  918.    carriage return characters (^M^J) to separate lines.
  919.    The first line is row 1, page 1.
  920.  
  921.  `Why is the Dart documentation window so narrow?`
  922.    Dart "auto-sizes" windows to reflect the actual size
  923.    of the text being read. The DART.#1 window is narrow
  924.    because we used a shorter line-length.
  925.  
  926.  `Why doesn't Dart hilite the hotwords or asterisks.`
  927.    We decided to leave that decision to individual
  928.    authors. Feel free to use ~text_attributes~`*` to
  929.    hilite hotwords or asterisks any way you please.
  930.    
  931.  `After viewing a file, I tried to edit it, but Dart
  932.  said the file could not be opened. What happened?`
  933.    Once a file has been compressed, Dart considers
  934.    it readonly, and won't load it into the editor.
  935.  
  936.  `Can I use the built-in editor to modify a file in one
  937.  window and view it in another.`
  938.    Yes. First, open it using the View button. Then,
  939.    go back to the Open Files dialog, choose the New
  940.    button, and input the name of the file. Dart will
  941.    load it into a second, Edit window instead of
  942.    switching to the original View window.
  943.  
  944.  `Do I need to use Dart's editor to create my files?`
  945.    NO! In fact, we recommend that Dart's editor
  946.    be used only for short notes and quick fix-ups.
  947.    If you don't have a good ASCII text editor, try
  948.    the MicroStar* editor bundled with Dart.
  949.  
  950.  `Sometimes when I backup, the screen isn't lined up
  951.  exactly as before, why is that?`
  952.    Since windows can be resized, Dart saves a line's
  953.    "relative" position on the screen rather than its
  954.    exact position.  Sometimes "rounding errors" cause
  955.    it to display a line or two higher or lower than
  956.    it originally happened to be.
  957.  
  958.  `Sometimes I have to press (`PgDn`) or (`PgUp`) twice
  959.  before anything seems to happen.`
  960.    The first press may move the cursor to the extreme
  961.    edge of the window. This to help you move quickly
  962.    around a screen full of hotwords, et cetera.
  963.  
  964.  `Does Dart support graphics?`
  965.    No. The MS DOS platform is graphics-hostile. While it 
  966.    is possible for an MS DOS program to support graphics 
  967.    without Windows, it comes at a great cost in terms of 
  968.    program complexity, size, and speed.
  969.  
  970.    Since Dart is also a program launcher, one fix is to  
  971.    distribute a separate "graphics slide-show" program 
  972.    with Dart, and call it as needed.
  973.  
  974.    We are hoping to offer optional support for .PCX 
  975.    graphics displayed on VGA monitors late in 1992, but 
  976.    only if we can do it without penalizing text-only 
  977.    users. This would only mean building a small 
  978.    slide-show utility into the Dart software. There are 
  979.    no plans to implement a true graphical interface this 
  980.    side of Windows.
  981.  
  982.  `Are you planning a Windows version?`
  983.    Not in 1992. Maybe late 1993.
  984.  
  985.  `Why is Dart so much easier to use than similar
  986.  programs.`
  987.    One reason is that Dart uses "soft" links, rather
  988.    than the "hard" link approach similar programs use.
  989.  
  990.    Rather than "embedding" the address of the target
  991.    link (label) into your text, Dart simply looks at
  992.    the word nearest the cursor, and checks to see if
  993.    it's a label. The rest follows naturally.
  994.  
  995.  `Why is Dart so inexpensive?`
  996.    Because we don't offer a printed manual or
  997.    sell thru retail outlets. Most of the money you 
  998.    pay for software often goes to people other than 
  999.    the software developers: printers, retailers, 
  1000.    advertising executives. Here, the money goes 
  1001.    directly to us, no middlemen. 
  1002.    
  1003.    We also believe that the hypertext marketplace 
  1004.    needs reasonable software at a reasonable price. 
  1005.    Dart is targeted to fill that need.
  1006.  
  1007. :SEE ALSOS
  1008.  
  1009. The following passages serve as a supplemental index.
  1010.  
  1011. :Arguments
  1012. :Options
  1013. :Parameters
  1014.  
  1015.  When loading Dart: see Command_Line_Options*.
  1016.  
  1017.  When readers launch programs: see Goto* file.
  1018.  When authors launch programs: see Multiple_Files*.
  1019.  
  1020. :Backtracking
  1021.  
  1022.  See screen* History.
  1023.  
  1024. :Backup_files
  1025.  
  1026.  See Files_to_omit_for_distribution*, or
  1027.      Decompressing_files*.
  1028.  
  1029. :Bold
  1030. :Underline
  1031.  
  1032.  See Text_Attributes*.
  1033.  
  1034. :Bookmarks
  1035.  
  1036.  See screen* Insert.
  1037.  
  1038. :BW
  1039. :HIRES
  1040. :MARKERS
  1041. :SNOW
  1042. :USER
  1043.  
  1044.  See Command_Line_Options*.
  1045.  
  1046. :Closing_files
  1047.  
  1048.  See Windows* Close.
  1049.  
  1050. :Dart_distribution_disk
  1051.  
  1052.  Dart is a shareware program distributed by most major
  1053.  shareware libraries. A current copy of this disk can
  1054.  be obtained by calling 716 425-3463 and leaving your
  1055.  name and address, or by mailing same to 4 Falcon La E,
  1056.  Fairport NY 14450-3312. Just ask for a copy of the
  1057.  Dart distribution disk.
  1058.  
  1059.  See Registering_Dart* for obtaining a registered copy
  1060.  of the program.
  1061.  
  1062. :Encrypting_files
  1063. :File_Compression
  1064. :Locking_files
  1065. :Protecting_files
  1066.  
  1067.  See Compress*.
  1068.  
  1069. :Extracting_files
  1070.  
  1071.  See Decompressing_files*.
  1072.  
  1073. :Finding_Text
  1074.  
  1075.  See Search*.
  1076.  
  1077. :Hotkeys
  1078.  
  1079.  The following overviews hotkeys and the commands they
  1080.  execute:
  1081.                         (Shift)+
  1082.                         (F2) Compress file
  1083.  (F3) Open
  1084.  (F4) Goto label        (F4) Goto page
  1085.  (F5) Zoom window
  1086.  (F6) Next window       (F6) Previous window
  1087.  (F7) Find_Text         (F7) Global hit list
  1088.  (F8) Contents          (F8) Index
  1089.  (F9) Jump              (F9) screen History
  1090.  
  1091.  (Ctrl)+                (Alt)+
  1092.                         (F3) Close window
  1093.  (F4) Goto file         (F4) Goto row
  1094.  (F5) Size/move window  (F5) Tile window
  1095.  (F7) Global search     (F7) Search again
  1096.  (F9) Jump to file      (F9) Add to history
  1097.  
  1098.         (Enter)  Jump
  1099.  (Ctrl)+(Enter)  Jump to file
  1100.  
  1101.           (Tab)  Find next asterisk (hotword)
  1102.   (Shift)+(Tab)  Find previous asterisk (hotword)
  1103.  
  1104.  (Ctrl)+(Right)  Find next asterisk (hotword)
  1105.   (Ctrl)+(Left)  Find previous asterisk (hotword)
  1106.  
  1107.          (BkSp)  Scroll backward thru Jump History
  1108.   (Ctrl)+(BkSp)  Scroll forward thru Jump History
  1109.  
  1110.  (Ctrl)+(PrtSc)  Blank Screen
  1111.  
  1112. :Hotwords
  1113. :Links
  1114.  
  1115.  See Asterisks*.
  1116.  
  1117. :Index
  1118. :Table_of_Contents
  1119.  
  1120.  See Contents*.
  1121.  
  1122. :Launching
  1123. :Program_Launching
  1124.  
  1125.  See Files* Open, or Goto* Files.
  1126.  
  1127. :Monitors
  1128.  
  1129.  See Options* Video or Video_Requirements*.
  1130.  
  1131. :Opening_files
  1132.  
  1133.  See Files* Open.
  1134.  
  1135. :Underscore
  1136.  
  1137.  Underscore character, see Hard_Spaces*
  1138.  
  1139.  Underscoring, see Text_Attributes*.
  1140.  
  1141. :Shareware
  1142.  
  1143.  Shareware is a marketing arrangement whereby people
  1144.  write software that can be freely copied and "shared"
  1145.  among interested parties. People who choose to use
  1146.  the software regularly may then register directly with
  1147.  the author. Shareware authors offer various benefits
  1148.  for registration, including telephone support, program
  1149.  updates, printed manuals, and newsletters.
  1150.  
  1151.  The Association of Shareware Professionals (ASP) is an
  1152.  organization serving shareware authors, users, and
  1153.  libraries. ASP provides guidelines for authors and
  1154.  libraries, and support intervention should a user have
  1155.  difficulty dealing with an author.
  1156.  
  1157. :Programs_Mentioned
  1158.  
  1159.  See "SoftCopy.#"* on the Dart_distribution_disk* for
  1160.  other programs of interest.
  1161.  
  1162. :Galaxy
  1163.  
  1164.  A fast, RAM-based text editor distributed by
  1165.  OmniVerse, PO Box 2974, Renton WA 98056-0961, 206
  1166.  228-7627; 24 Hour BBS: (206) 235-8760. Available as
  1167.  shareware thru most major libraries.
  1168.  
  1169. :PC-Write
  1170.  
  1171.  A very popular, mostly ASCII, word processor
  1172.  distributed by Quicksoft, 219 First Ave N #224,
  1173.  Seattle WA 98109. Available as shareware through most
  1174.  major libraries.
  1175.  
  1176. :Microstar
  1177.  
  1178.  Microstar is a simple but powerful text editor
  1179.  bundled with the registered version of Dart.
  1180.  Microstar was created by Borland International, and
  1181.  licensed for use by UserWare.
  1182.  
  1183. :QEdit
  1184.  
  1185.  QEdit is a powerful text editor distributed by SemWare
  1186.  of 730 Elk Cove Ct, Kennesa GA 30144, 404 428-6416.
  1187.  Available as shareware thru most major libraries.
  1188.  
  1189. :Turbo_Pascal
  1190. :Turbo_Vision
  1191.  
  1192.  Dart was written using Turbo Pascal 6 with Turbo
  1193.  Vision by Borland International.
  1194.  
  1195. :WP_Editor
  1196.  
  1197.  The text editor of choice for anyone used to the
  1198.  WordPerfect keyboard assignments. Available separately
  1199.  or as part of the WP_Office* package.
  1200.  
  1201. :WordPerfect
  1202.  
  1203.  A popular word processing program distributed by
  1204.  WordPerfect Corporation, 1555 N Technology Way,
  1205.  Orem Utah 85057-9971.
  1206.  
  1207. :WP_Office
  1208.  
  1209.  A potpourri of related applications, including a
  1210.  menuing and task-switching shell, a text editor, file
  1211.  manager, appointment calendar, and e-mail package,
  1212.  distributed by WordPerfect* Corporation.
  1213.  
  1214. ────────────────────────────────────────────────────────
  1215. DART.#01 is Copyright (c) 1989-92 UserWare.
  1216. Version 1c dated 20 Feb'92
  1217.