home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Hacker Chronicles 2
/
HACKER2.BIN
/
438.NET.DOC
< prev
next >
Wrap
Text File
|
1989-09-09
|
15KB
|
317 lines
GENERAL INFO AND PROGRAM USE
NET provides the Amateur Radio Net Control Station operator with a real-
time tool to assist him or her in managing the net activities. A single screen
with multiple windows is used to allow rapid entry, search, and display of all
stations calling-in to the net. All function keys and operator prompts are
contained on this single screen. The operator is thus able to concentrate on
the net activity and not not on the program operation.
PROGRAM EXECUTION
Invoke NET by either
drv:>NET or
drv:>NET roster
where roster is a standard DOS filename.ext with or without directory
specification, and specifies the file containing the net roster.
WINDOW DEFINITIONS & FUNCTION KEYS
The screen is divided into three windows. The long vertical window is the
sequential Log-In-List. This window has full scrolling capability using the
numeric keyboard keys. The NUM LOCK should be disabled. The callsign contained
within the > < pointers is referred to as the current. As each call is logged
in the CALLSIGN, NAME, NET #, and LOG-TIME is added to this sequential list. If
the end of the sequential list is on the screen, the name will appear when
entered. If the end of the sequential list is out of the window range, it is
added but not visible --- DO NOT be concerned if you do not see the added call
immediately.
A sample of the screen display for the Cape May County Amateur Radio Club
net is shown on the next page. Note that the filename, and total number of
calls in the active list are shown at the top of the Log-In-List. A few sample
calls are shown in the Log-In-List. The number of calls presently in the Log-
In-List and the call-in number of the current call are shown just below the Log-
In-List.
SAMPLE PROGRAM SCREEN FOR NET
╔════════════════════════════╗╔══════╦══════════╤══════════════╤═══════╤═══════╗
║File [CMCARC.NET] New [ 89]║║SUFFIX║ <ESC>ape │ <RET> select │ lft │ rt ║
╠══════╤══════════╤════╤═════╣╠══════╤══════╤══════╤══════╤══════╤══════╤══════╣
║ CALL │ NAME │ ## │TIME ║║ │ │ │ │ │ │ ║
╟──────┼──────────┼────┼─────╢╟──────┼──────┼──────┼──────┼──────┼──────┼──────╢
║ │ │ │ ║║ │ │ │ │ │ │ ║
║ │ │ │ ║╠══════╧══════╧══════╧══════╧══════╧══════╧══════╣
║KA2YLV│Barry │ 30 │20:00║║ ║
╚ AE2Y│Mary │ 1 │20:02╝║ ║
> W1KHJ│Dave │ 22 │20:04<║ ║
╔ KB2FJ│Roger │ 43 │20:05╗║ ║
║ │ │ │ ║║ ║
║ │ │ │ ║║ ║
║ │ │ │ ║║ ║
║ │ │ │ ║║ ║
║ │ │ │ ║║ ║
║ │ │ │ ║╚════════════════════════════════════════════════╝
║ │ │ │ ║╔══════╤═════╤═════╤═════╦═══════╤═══════╤═══════╗
║ │ │ │ ║║ HOM │ │PG UP│ - ║ F1 │ F5 │ F10 ║
║ │ │ │ ║║ top │ up │gto 1│mrk 1║ HELP │ Delete│ Status║
║ │ │ │ ║╟──────┼─────┼─────┼─────╫───────┴───────┼───────╢
║ │ │ │ ║║ END │ │PG DN│ + ║ <alt> F1 │ CTRL ║
║ │ │ │ ║║ end │ dwn │gto 2│mrk 2║ Edit DataBase │ END ║
╚══════╧══════════╧════╧═════╝╚══════╧═════╧═════╧═════╩═══════════════╧═══════╝
*** # 3 of 4 NET 1.10 Courtesy of W1HKJ 01/25/88 20:06:00 ***
CONTROL FUNCTIONS:
The following functions are provided :
HOME - Top of List moved to current position
END - End of list moved to current position
UP ARROW - Current moved up one entry in list
DOWN ARROW - Current moved down one entry in list
PG UP - Current moved to marker (1)
PG DWN - Current moved to marker (2)
GREY - - Current marked as (1)
GREY + - Current marked as (2)
CTL-END - Exit From NET *** this is the only allowable exit ***
F1 - Invoke Help screen
F5 - Delete the 'current' entry from the log-in list
NOTE : This DOES NOT delete callsign from the roster file
F10 - Change status attribute of 'current' log-in list entry.
<alt> F1 - Edit the data for the callsign shown in the current active
window. Defaults to first entry in database if no callsign
selected.
The attribute indicator of entries in the log-in list is an overlay symbol
which takes the place of the colon ( : ) in the LOG-TIME portion of the window.
The attribute indicator can appear as:
: - Normal attribute
- Entry marked by marker (1)
- Entry marked by marker (2)
- - Logged out indicator (or whatever) used by the net
control operator to flag particular log-in entries.
F10 toggles this attribute.
The rectangular window in the upper right of the screen is the Log-In-Entry
window. The <Retrn> key moves the operator from the Log-In-List to the Log-In-
Entry mode. Upon pressing <Retrn> the contents of this window are cleared and
the cursor moved to the SUFFIX entry area. The program expects the control
operator to enter ONLY the suffix of the station being logged, completing the
entry with <Retrn>. A binary search is made of the roster and the list of new
calls for all prefix-suffix pairs (callsigns) containing the entered suffix.
These callsigns are displayed in the six callsign sub-windows to the right of
the suffix entry, and in the seven sub-windows just below if necessary. The
operator then selects the appropriate callsign using the right/left arrow keys
and the <Retrn> key. A new callsign may be added by moving the highlight area
back to the suffix entry and pressing <Retrn>. The operator is then prompted to
enter the new prefix. If the suffix is not in the roster then the prompt for
the prefix is immediately requested. During most net operations the usual
practice is to accept several call-ins almost simultaneously. Therefore the
program returns to the SUFFIX entry area after each caller is logged in. The
scrolling Log-In-List is returned to by simply pressing <Retrn> or <ESC>. The
<ESC>ape key may be pressed to abort any operation during the log-in process.
For example a wrong suffix is entered that does not appear in the existing net
roster. The operator is prompted to enter a prefix. Press <ESC> and you are
returned to the new log-in process with the cursor in the SUFFIX window. If a
wrong suffix is entered and one or more matching calls are found in the roster,
you may press <ESC>ape to reject all matches. As each caller is logged in the
callsign is displayed in a descending list in the blackboard area below the
seven small windows used for callsign selection. It is also added to the Log-
In-List and displayed in the vertical window if the bottom of the Log-In-List is
within the bounds of that window. NET can accomodate up to 13 calls with
identical suffix.
NET MEMBERSHIP FILE
The program uses a roster file (the default is LOG.DBF) which is 100%
dBase III+ compatible. It uses index files which are peculiar to the TOPAZ
units.
NET ACTIVITY FILE
As a part of the termination process NET will write a file to disk with
current date used as the file name; with the extension LOG appended, ie:
03_12_87.LOG
This file will contain a replica of the sequential Log-In-List.
PROGRAM PERFORMANCE
NET has been used as the primary logging program on the ROOSTER net for
over 12 months with no bugs reported. This net meets each day at 0600 EST/EDT
and has over 650 active members with a total roster of nearly 1100. Listen in
some day and you will hear the net control operator able to call in several
stations in sequence. Some members are only occasional check-ins, and even
though the last check-in may have been months or even years ago, the net control
immediately recognizes the call and the members name. During Beta tests, the
program was tested with 8192 entries in the roster file. The time required to
find and display all matching SUFFIX entries in the roster was under 1/2 second.
So fast that it appears instantaneous to the operator.
This speed is attributed to the use of a binary search to locate the
stored callsign. A search/replace/edit of any entry in storage never requires
more than log base 2 of the number of entries to locate a specified entry (or
come up empty). For the case of 8192 entries, this means no more than 13 tests.
And for the default case of 1024, only 10 tries are required.
NET uses the "heap" for all list maintenance. The "heap" is Pascal's way
of referring to all memory outside of the 64K block assigned for normal data
sets. In a very loose sense, this means all the rest of your PC's RAM. NET can
manage a maximum of 8192 calls in a PC with 512K of memory and no other memory
resident software on line.
The program will use a set of defaults for screen attributes and list size
unless a file named NET.CFG is present on the default disk drive/directory.
These defaults will suffice for a netlist of 1024 entries and provide a black
and white screen presentation compatible with a Color Graphics Adapter and a
monochrome monitor.
If your net list becomes so large as to exceed the maximum of allowed by
your computer memory then the program will allow you to save the excess in a
temporary file called TEMP.NET.
CONFIGURATION FILES
Copy either NETSETUP.B&W or NETSETUP.CLR to NET.CFG to enable screen colors
other than the default. You may modify these files using any editor.
The distribution copy of NETSETUP.CLR contains the following:
line 1 |# records...2000
line 2 |aux_b ...... 2
line 3 |aux_f ...... 15
line 4 |brite_b .... 4
line 5 |brite_f .... 15
line 6 |border_b ... 0
line 7 |border_f ... 14
line 8 |status_f ... 12
line 9 |norm_b ..... 0
line 10 |norm_f ..... 10
line 11 |first ...... 1
line 12 |
line 13 |0 black 8 gray
line 14 |1 blue 9 light blue
line 15 |2 green 10 light green
line 16 |3 cyan 11 light cyan
line 17 |4 red 12 light red
line 18 |5 magenta 13 light magenta
line 19 |6 brown 14 yellow
line 20 |7 white 15 bright white
Lines 1-11 are required, lines 12-20 are only reminders.
Line 1 entry will be rounded up to the next binary value. In the example
the 2000 entry will result in an internal net list of 2024 during program
execution.
Line 11 value can be 0 or 1. A 0 will cause the cursor to rest on the new
log-in entry during log-in procedures. A 1 will cause the cursor to rest on
the first call-sign match. This is a matter of operator preference.
The default is 0.
DATABASE FILES
NET maintains an external database from which the roster information is obtained.
This database is completely compatible with dBase III+ and FoxPlus. The struc-
ture of the database is :
Name Type Length
PREFIX C 2
AREA C 1
SUFFIX C 3
NAME C 10
NETNBR N 4
LOGDATE C 10
NBRLOGINS N 4
STATUS C 1
CROWED C 9
FNAME C 10
LNAME C 20
ADDR C 30
CITY C 25
STATE C 2
ZIP C 5
PHONE C 12
BIRTHDATE D 8
SPOUSE C 10
SPBIRTH C 5
COMMENT1 C 40
COMMENT2 C 40
The file structure must not be modified by external access using MODI STRU in
dBase of FoxPlus. Modification will cause NET.EXE to fail during data access.
The data entry form which appears on entry of command <alt> F1 is:
┌──────────────────────────────────────────────────────┐
│ Prefix Area Suffix Nickname Net # Joined │
│ │
│ │
│ Last Login Total Logins Status │
│ │
│ Name │
│ Address │
│ │
│ │
│ Phone Birthday │
│ │
│ Spouse name Birthday │
│ │
│ Comments │
│ │
└──────────────────────────────────────────────────────┘
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>
<F1> = Help
Context sensitive help is available by pressing the F1 key. Prompt help is
also provided during the E)dit mode of operation. The form duplicates the
type of action one expects from the SAYGET function available in dBase III+.
SOURCE CODE
NET is written in Turbo PASCAL and has been successfully compiled under
versions 3, 4 and 5 of the Turbo PASCAL compiler. Some of the system calls
available under the 4.x version do not appear in the 3.x compiler. Therefore I
have chosen to retain the system interface in the include file NETDOS.PAS.
My usual technique for developing screen intensive programs is to design
the screen presentation separately using a word processing program. The
shareware program PC-WRITE has performed admirably for me in this regard. The
ASCII files thus designed are then converted into screen images and placed in an
image file (xxxx.IMG). The program MAKIMAGE.PAS performs this service. Upon
execution, the operational program reads the xxxx.IMG file and adjusts the
attribute bits for the desired color effects. This allows me to create screen
overlay windows that can be rapidly swapped.
If you make any improvements to the program, please let me know. I do
maintain my source code and will release new versions after Beta Tests of any
changes.
Have fun and good DX. 73's Dave ... W1HKJ