home *** CD-ROM | disk | FTP | other *** search
/ Hacker Chronicles 2 / HACKER2.BIN / 438.NET.DOC < prev    next >
Text File  |  1989-09-09  |  15KB  |  317 lines

  1. GENERAL INFO AND PROGRAM USE
  2.  
  3.      NET provides the Amateur Radio Net Control Station operator with a real-
  4. time tool to assist him or her in managing the net activities.  A single screen
  5. with multiple windows is used to allow rapid entry, search, and display of all
  6. stations calling-in to the net.  All function keys and operator prompts are
  7. contained on this single screen.  The operator is thus able to concentrate on
  8. the net activity and not not on the program operation.
  9.  
  10. PROGRAM EXECUTION
  11.  
  12. Invoke NET by either
  13.  
  14.      drv:>NET            or
  15.      drv:>NET roster
  16.  
  17.   where  roster is a standard DOS filename.ext with or without directory
  18. specification, and specifies the file containing the net roster.
  19.  
  20. WINDOW DEFINITIONS & FUNCTION KEYS
  21.  
  22.      The screen is divided into three windows.  The long vertical window is the
  23. sequential Log-In-List.  This window has full scrolling capability using the
  24. numeric keyboard keys.  The NUM LOCK should be disabled.  The callsign contained
  25. within the >   < pointers is referred to as the current.  As each call is logged
  26. in the CALLSIGN, NAME, NET #, and LOG-TIME is added to this sequential list.  If
  27. the end of the sequential list is on the screen, the name will appear when
  28. entered.  If the end of the sequential list is out of the window range, it is
  29. added but not visible --- DO NOT be concerned if you do not see the added call
  30. immediately.
  31.  
  32.      A sample of the screen display for the Cape May County Amateur Radio Club
  33. net is shown on the next page.  Note that the filename, and total number of
  34. calls in the active list are shown at the top of the Log-In-List.  A few sample
  35. calls are shown in the Log-In-List.  The number of calls presently in the Log-
  36. In-List and the call-in number of the current call are shown just below the Log-
  37. In-List.
  38. 
  39.  
  40.                           SAMPLE PROGRAM SCREEN FOR NET
  41.  
  42. ╔════════════════════════════╗╔══════╦══════════╤══════════════╤═══════╤═══════╗
  43. ║File [CMCARC.NET]  New [ 89]║║SUFFIX║ <ESC>ape │ <RET> select │   lft │   rt  ║
  44. ╠══════╤══════════╤════╤═════╣╠══════╤══════╤══════╤══════╤══════╤══════╤══════╣
  45. ║ CALL │   NAME   │ ## │TIME ║║      │      │      │      │      │      │      ║
  46. ╟──────┼──────────┼────┼─────╢╟──────┼──────┼──────┼──────┼──────┼──────┼──────╢
  47. ║      │          │    │     ║║      │      │      │      │      │      │      ║
  48. ║      │          │    │     ║╠══════╧══════╧══════╧══════╧══════╧══════╧══════╣
  49. ║KA2YLV│Barry     │ 30 │20:00║║                                                ║
  50. ╚  AE2Y│Mary      │  1 │20:02╝║                                                ║
  51. > W1KHJ│Dave      │ 22 │20:04<║                                                ║
  52. ╔ KB2FJ│Roger     │ 43 │20:05╗║                                                ║
  53. ║      │          │    │     ║║                                                ║
  54. ║      │          │    │     ║║                                                ║
  55. ║      │          │    │     ║║                                                ║
  56. ║      │          │    │     ║║                                                ║
  57. ║      │          │    │     ║║                                                ║
  58. ║      │          │    │     ║╚════════════════════════════════════════════════╝
  59. ║      │          │    │     ║╔══════╤═════╤═════╤═════╦═══════╤═══════╤═══════╗
  60. ║      │          │    │     ║║  HOM │    │PG UP│  -  ║   F1  │  F5   │  F10  ║
  61. ║      │          │    │     ║║  top │  up │gto 1│mrk 1║  HELP │ Delete│ Status║
  62. ║      │          │    │     ║╟──────┼─────┼─────┼─────╫───────┴───────┼───────╢
  63. ║      │          │    │     ║║  END │    │PG DN│  +  ║   <alt> F1    │ CTRL  ║
  64. ║      │          │    │     ║║  end │ dwn │gto 2│mrk 2║ Edit DataBase │  END  ║
  65. ╚══════╧══════════╧════╧═════╝╚══════╧═════╧═════╧═════╩═══════════════╧═══════╝
  66.  *** #   3  of    4      NET 1.10  Courtesy of W1HKJ      01/25/88 20:06:00 ***
  67.  
  68.  
  69. CONTROL FUNCTIONS:
  70.  
  71. The following functions are provided :
  72.  
  73.         HOME   -   Top of List moved to current position
  74.  
  75.          END   -   End of list moved to current position
  76.  
  77.     UP ARROW   -   Current moved up one entry in list
  78.  
  79.   DOWN ARROW   -   Current moved down one entry in list
  80.  
  81.        PG UP   -   Current moved to marker (1)
  82.  
  83.       PG DWN   -   Current moved to marker (2)
  84.  
  85.       GREY -   -   Current marked as (1)
  86.  
  87.       GREY +   -   Current marked as (2)
  88.  
  89.      CTL-END   -   Exit From NET *** this is the only allowable exit ***
  90.  
  91.           F1   -   Invoke Help screen
  92.  
  93.           F5   -   Delete the 'current' entry from the log-in list
  94.                    NOTE : This DOES NOT delete callsign from the roster file
  95.  
  96.          F10   -   Change status attribute of 'current' log-in list entry.
  97.  
  98.      <alt> F1  -   Edit the data for the callsign shown in the current active
  99.                    window.  Defaults to first entry in database if no callsign
  100.                    selected.
  101.  
  102.      The attribute indicator of entries in the log-in list is an overlay symbol
  103. which takes the place of the colon ( : ) in the LOG-TIME portion of the window.
  104. The attribute indicator can appear as:
  105.  
  106.            :   -   Normal attribute
  107.  
  108.                -   Entry marked by marker (1)
  109.  
  110.                -   Entry marked by marker (2)
  111.  
  112.            -   -   Logged out indicator (or whatever) used by the net
  113.                    control operator to flag particular log-in entries.
  114.                    F10 toggles this attribute.
  115.  
  116.      The rectangular window in the upper right of the screen is the Log-In-Entry
  117. window.  The <Retrn> key moves the operator from the Log-In-List to the Log-In-
  118. Entry mode.  Upon pressing <Retrn> the contents of this window are cleared and
  119. the cursor moved to the SUFFIX entry area.  The program expects the control
  120. operator to enter ONLY the suffix of the station being logged, completing the
  121. entry with <Retrn>.  A binary search is made of the roster and the list of new
  122. calls for all prefix-suffix pairs (callsigns) containing the entered suffix.
  123. These callsigns are displayed in the six callsign sub-windows to the right of
  124. the suffix entry, and in the seven sub-windows just below if necessary.  The
  125. operator then selects the appropriate callsign using the right/left arrow keys
  126. and the <Retrn> key.  A new callsign may be added by moving the highlight area
  127. back to the suffix entry and pressing <Retrn>.  The operator is then prompted to
  128. enter the new prefix.  If the suffix is not in the roster then the prompt for
  129. the prefix is immediately requested.  During most net operations the usual
  130. practice is to accept several call-ins almost simultaneously.  Therefore the
  131. program returns to the SUFFIX entry area after each caller is logged in.  The
  132. scrolling Log-In-List is returned to by simply pressing <Retrn> or <ESC>.  The
  133. <ESC>ape key may be pressed to abort any operation during the log-in process.
  134. For example a wrong suffix is entered that does not appear in the existing net
  135. roster.  The operator is prompted to enter a prefix.  Press <ESC> and you are
  136. returned to the new log-in process with the cursor in the SUFFIX window.  If a
  137. wrong suffix is entered and one or more matching calls are found in the roster,
  138. you may press <ESC>ape to reject all matches. As each caller is logged in the
  139. callsign is displayed in a descending list in the blackboard area below the
  140. seven small windows used for callsign selection.  It is also added to the Log-
  141. In-List and displayed in the vertical window if the bottom of the Log-In-List is
  142. within the bounds of that window.  NET can accomodate up to 13 calls with
  143. identical suffix.
  144.  
  145. NET MEMBERSHIP FILE
  146.  
  147.      The program uses a roster file (the default is LOG.DBF) which is 100%
  148. dBase III+ compatible.  It uses index files which are peculiar to the TOPAZ
  149. units.
  150.  
  151.  
  152. NET ACTIVITY FILE
  153.  
  154.      As a part of the termination process NET will write a file to disk with
  155. current date used as the file name; with the extension LOG appended, ie:
  156.  
  157.      03_12_87.LOG
  158.  
  159. This file will contain a replica of the sequential Log-In-List.
  160.  
  161. PROGRAM PERFORMANCE
  162.  
  163.      NET has been used as the primary logging program on the ROOSTER net for
  164. over 12 months with no bugs reported.  This net meets each day at 0600 EST/EDT
  165. and has over 650 active members with a total roster of nearly 1100.  Listen in
  166. some day and you will hear the net control operator able to call in several
  167. stations in sequence.  Some members are only occasional check-ins, and even
  168. though the last check-in may have been months or even years ago, the net control
  169. immediately recognizes the call and the members name.  During Beta tests, the
  170. program was tested with 8192 entries in the roster file.  The time required to
  171. find and display all matching SUFFIX entries in the roster was under 1/2 second.
  172. So fast that it appears instantaneous to the operator.
  173.  
  174.      This speed is attributed to the use of a binary search to locate the
  175. stored callsign.  A search/replace/edit of any entry in storage never requires
  176. more than log base 2 of the number of entries to locate a specified entry (or
  177. come up empty). For the case of 8192 entries, this means no more than 13 tests.
  178. And for the default case of 1024, only 10 tries are required.
  179.  
  180.      NET uses the "heap" for all list maintenance.  The "heap" is Pascal's way
  181. of referring to all memory outside of the 64K block assigned for normal data
  182. sets.  In a very loose sense, this means all the rest of your PC's RAM.  NET can
  183. manage a maximum of 8192 calls in a PC with 512K of memory and no other memory
  184. resident software on line.
  185.  
  186.      The program will use a set of defaults for screen attributes and list size
  187. unless a file named NET.CFG is present on the default disk drive/directory.
  188. These defaults will suffice for a netlist of 1024 entries and provide a black
  189. and white screen presentation compatible with a Color Graphics Adapter and a
  190. monochrome monitor.
  191.  
  192.      If your net list becomes so large as to exceed the maximum of allowed by
  193. your computer memory then the program will allow you to save the excess in a
  194. temporary file called TEMP.NET.
  195. 
  196. CONFIGURATION FILES
  197.  
  198. Copy either NETSETUP.B&W or NETSETUP.CLR to NET.CFG to enable screen colors
  199. other than the default.  You may modify these files using any editor.
  200.  
  201. The distribution copy of NETSETUP.CLR contains the following:
  202.  
  203. line  1 |# records...2000
  204. line  2 |aux_b ......  2
  205. line  3 |aux_f ...... 15
  206. line  4 |brite_b ....  4
  207. line  5 |brite_f .... 15
  208. line  6 |border_b ...  0
  209. line  7 |border_f ... 14
  210. line  8 |status_f ... 12
  211. line  9 |norm_b .....  0
  212. line 10 |norm_f ..... 10
  213. line 11 |first ......  1
  214. line 12 |
  215. line 13 |0 black          8  gray
  216. line 14 |1 blue           9  light blue
  217. line 15 |2 green          10 light green
  218. line 16 |3 cyan           11 light cyan
  219. line 17 |4 red            12 light red
  220. line 18 |5 magenta        13 light magenta
  221. line 19 |6 brown          14 yellow
  222. line 20 |7 white          15 bright white
  223.  
  224. Lines 1-11 are required, lines 12-20 are only reminders.
  225.  
  226. Line 1 entry will be rounded up to the next binary value.  In the example
  227. the 2000 entry will result in an internal net list of 2024 during program
  228. execution.
  229.  
  230. Line 11 value can be 0 or 1.  A 0 will cause the cursor to rest on the new
  231. log-in entry during log-in procedures.  A 1 will cause the cursor to rest on
  232. the first call-sign match.  This is a matter of operator preference.
  233. The default is 0.
  234.  
  235.  
  236. DATABASE FILES
  237.  
  238. NET maintains an external database from which the roster information is obtained.
  239. This database is completely compatible with dBase III+ and FoxPlus.  The struc-
  240. ture of the database is :
  241.  
  242.       Name       Type     Length
  243.  
  244.       PREFIX     C        2
  245.       AREA       C        1
  246.       SUFFIX     C        3
  247.       NAME       C        10
  248.       NETNBR     N        4
  249.       LOGDATE    C        10
  250.       NBRLOGINS  N        4
  251.       STATUS     C        1
  252.       CROWED     C        9
  253.       FNAME      C        10
  254.       LNAME      C        20
  255.       ADDR       C        30
  256.       CITY       C        25
  257.       STATE      C        2
  258.       ZIP        C        5
  259.       PHONE      C        12
  260.       BIRTHDATE  D        8
  261.       SPOUSE     C        10
  262.       SPBIRTH    C        5
  263.       COMMENT1   C        40
  264.       COMMENT2   C        40
  265.  
  266. The file structure must not be modified by external access using MODI STRU in
  267. dBase of FoxPlus.  Modification will cause NET.EXE to fail during data access.
  268.  
  269. The data entry form which appears on entry of command <alt> F1 is:
  270.  
  271.  
  272.            ┌──────────────────────────────────────────────────────┐
  273.            │  Prefix Area Suffix  Nickname     Net #      Joined  │
  274.            │                                                      │
  275.            │                                                      │
  276.            │  Last Login             Total Logins       Status    │
  277.            │                                                      │
  278.            │  Name                                                │
  279.            │  Address                                             │
  280.            │                                                      │
  281.            │                                                      │
  282.            │  Phone                          Birthday             │
  283.            │                                                      │
  284.            │  Spouse name                    Birthday             │
  285.            │                                                      │
  286.            │  Comments                                            │
  287.            │                                                      │
  288.            └──────────────────────────────────────────────────────┘
  289.    N)ext P)rev T)op B(O)t G)o S)rch F)ind E)dit A)dd D)el B)row Pa(C)k <ESC>
  290.                                  <F1> = Help
  291.  
  292. Context sensitive help is available by pressing the F1 key.  Prompt help is
  293. also provided during the E)dit mode of operation.  The form duplicates the
  294. type of action one expects from the SAYGET function available in dBase III+.
  295. SOURCE CODE
  296.  
  297.      NET is written in Turbo PASCAL and has been successfully compiled under
  298. versions 3, 4 and 5 of the Turbo PASCAL compiler.  Some of the system calls
  299. available under the 4.x version do not appear in the 3.x compiler.  Therefore I
  300. have chosen to retain the system interface in the include file NETDOS.PAS.
  301.  
  302.      My usual technique for developing screen intensive programs is to design
  303. the screen presentation separately using a word processing program.  The
  304. shareware program PC-WRITE has performed admirably for me in this regard.  The
  305. ASCII files thus designed are then converted into screen images and placed in an
  306. image file (xxxx.IMG).  The program MAKIMAGE.PAS performs this service.  Upon
  307. execution, the operational program reads the xxxx.IMG file and adjusts the
  308. attribute bits for the desired color effects.  This allows me to create screen
  309. overlay windows that can be rapidly swapped.
  310.  
  311.      If you make any improvements to the program, please let me know.  I do
  312. maintain my source code and will release new versions after Beta Tests of any
  313. changes.
  314.  
  315.      Have fun and good DX.  73's  Dave  ... W1HKJ
  316.  
  317.