@database FindXXX.guide
/>SETVAR PROGRAM GFindXXX<\/>SETVAR FREQNAME GFINDXXX<\
@node MAIN "GFindXXX"

                                      GFindXXX

                                      A Comprehensive (Gotcha) nodelist 
                                      searching utility.
                                      
                                      Copyright ©1995 Lee Kindness.

                      @{" Introduction " link INTRO} : What does it do?
                      @{" Installation " link INSTALL} : Setting it up.
                      @{"     Usage    " link USAGE} : Using it.
                      @{"    History   " link HIST} : Version History.
                      @{"     Legal    " link LEGAL} : Legal Mumbo.
                      @{"    Contact   " link CONTACT} : How to contact the author.
                      @{"   Try Them   " link OTHER} : Other programs to try.

---

Compiled              />Date from GFindXXX LF="%A %d %B %Y %q:%M:%S"<\
Exe size              />Program NL List GFindXXX LFORMAT=%l<\ bytes
Version               />Version GFindXXX FULL<\
Distribution built    />Date LF="%A %d %B %Y %q:%M:%S"<\

@endnode
@remark &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
@node INTRO "Introduction"
 
 Ever wanted to freq a node but didn't know the number?? Well help is here
 now!
 
 Comprehensive Nodelist searching utility. Can choose to limit the search
 to a certain subrange. Has a powerful LFORMAT (custom output) option. 
 Supports multiple wildcards. Can search on phone number, location, sysop
 name and BBS name.
 
 Uses the Gotcha nodelist.

@endnode
@remark &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
@node INSTALL "Installation"

 To install simply follow the steps below (clicking on the button will 
 automatically do the action!)
 
 1. @{"Copy GFindXXX to MAIL:bin" SYSTEM "Copy GFindXXX TO MAIL:bin"} 
 2. @{"Copy GFindXXX.guide to MAIL:docs" SYSTEM "Copy GFindXXX.guide#? TO MAIL:docs"}
@endnode
@remark &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
@node USAGE "Usage"

 GFindXXX accepts the following argument template:

         @{i}PATTERN/M/A,N=NPAT/K,S=STYPE/K,FULL/S,POINTS/S,
         VERBATIM/S,STRIPDASHES/S,QUIET=NOINFO/S,LFORMAT/K,NODELIST/K@{ui}

 PATTERN --- Wildcard to search the nodelist for. All standard Amiga wildcards
     are supported. The search is case-insensitive. At least one pattern must
     be given but you can supply more.

 NPAT --- Will only search nodelist entries which match this address pattern.
     '?' is used to denote a wildcard. For example 
         2:?/?.?@?
     would search all nodes in zone 2. You can use '*' if the rest of the
     adress is going to be '?', for example i could also have used
         2:*
     in the previous example. Another example:
         ?:?/666
     would search all nodes with address 666. Defaults to '*', ie all
     nodes in the nodelist. You can use N for short to specify this option.

 STYPE --- Type of search. You can search for node names, sysops names, phone
     numbers, locations and fidonet address. Set to one of the follwing:

         system    -- search on node name (default)
         sys       --     "                 "
         node      --     "                 "
         bbs       --     "                 "
         sysop     -- search on sysop's name
         owner     --     "                 "
         place     -- search the location
         city      --     "                 "
         location  --     "                 "
         loc       --     "                 "
         phone     -- search the phone numbers
         telephone --     "                 "
         3d        -- search on the 3d address (eg 1:123/45 format)
         3         --     "                 "
         4d        -- search on the 4d address (eg 1:123/45.0 format)
         4         --     "                 "
         address   --     "                 "
         addr      --     "                 "
         adr       --     "                 "
         5d        -- search on the 5d address (eg 1:123/45.0@fidonet format)
         5         --     "                 "
         domain    --     "                 "
         flags     -- search on the node flags
         flag      --     "                 "

     You can use S for short to specify this option.
 
 FULL --- Specifies the output mode. If this switch is not specified then for
     each node found only 1 line of information is display. However if it
     is specified then more data is displayed.

 POINTS --- If specified then points are included in the search.

 VARBATIM --- Entries will not be subject to conversion before searching,
     in particular the phone number will not be parsed for the %P and %m
     LFORMAT options.

 STRIPDASHES --- Remove dashes from phonenumber before searching. Only used
     if STYPE=phone is also used.

 QUIET, NOINFO --- Will not print the "# " information lines

 LFORMAT --- The most powerful option. This allows you to use a custom
     output format. It is similar to the LFORMAT option of List. The argument
     is a string which can contain the following formatting codes:

         %% -- %
         %n -- newline
         %t -- tab
         %r -- return
         %v -- vertical tab
         %q -- " (quote character)
         %a -- BEL (alert/beep character)
         %b -- backspace character
         %C -- output an asterix "*", useful for escaping the shell formatting
               codes.
         %S -- system name
         %A -- system address (short for "%z:%e/%N.%p@%d")
         %3 -- 3D system address (short for "%z:%e/%N")
         %4 -- 4D system address (short for "%z:%e/%N.%p")
         %5 -- 5D system address (short for "%z:%e/%N.%p@%d")
         %u -- 3D adress if system is a node, 4D address if it is a point.
         %l -- system location
         %s -- sysop's name
         %F -- sysop's first name
         %x -- sysop's name in the form firstname.lastname
         %g -- Gated email constructor, For example for the node 2:259/15
               it would return "mike.henderson@f15.n259.z2". So to build
               up the default email address of a fidonet system 
               "%g.fidonet.org" could be used.
         %T -- type of system, one of "Point", "Zone", "Host" (for a net),
               "Region", "Node" or "Pvt" (private system).
         %P -- phone number
         %o -- Untranslated phone number. Always untranslated, not dependent
               on the VERBATIM switch
         %m -- The nodes BBS phone number, or "MAIL ONLY" if it does not
               run a BBS
         %O -- Untranslated nodes BBS phone number, or "MAIL ONLY" if it
               does not run a BBS. Always untranslated, not dependent on the
               VERBATIM switch
         %M -- ouputs "MAIL ONLY" if this node does not accept BBS callers
         %B -- baudrate
         %c -- accounting information
         %f -- nodelist flags
         %i -- Outputs the times that the system is online, "24hr", "ZMH Only"
               or the time range (using the Txx nodelist flag)
         %w -- password
         %z -- zone number
         %e -- net number
         %N -- node number
         %D -- node number, padded with 0's so that it is 4 characters wide
         %p -- point number
         %d -- domain
         %R -- region
         %h -- hub
         %L -- nodelist line

     If this option is not given then 

         "%u %S, %l, %s, %P"

     is used unless the FULL option is specified, then

         "Node %A, %q%S%q is in %l%n
          System is listed as %T%n
          Operated by %s%n
          Region %R, Hub %h%n
          Phone %P, Cost %c%n
          Flags %f%n
          Password %w%n"

     is used.

 NODELIST --- @{b}Directory@{ub} where the nodelist files are kept. Defaults to
     "NodeList:". gotcha.library is used to access this nodelist.


 Examples:
 
>GFindXXX n 2:* s sysop LFORMAT "%3%n  %S%n  %s" #?wilbert#?

 Search all nodes in zone 2 for a sysop whose name conatains "Wilbert",
 output the system address (3d), name and the full sysop name. An
 example of output for a matching node:

2:2802/207
  Pandarve
  Wilbert van der Zandt


>GFindXXX n 2:* s 3d LFORMAT "%3" 2:#?/666

 Search all zone 2 nodes for a node 666 in any net, output the address.
 Example of output:

2:235/666


>GFindXXX #?chaos#? lformat "%u is cHa0t|c!!!"

 Search the whole nodelist for systems with "Chaos" in their name. Example
 of output:

2:259/15 is cHa0t|c!!!


>GFindXXX n 2:250/366 FULL #?

 Output 'full' details for 2:250/366, very similar to getnode. Example of
 output:

Node 2:250/366.0@fidonet, "Frost Free BBS" is in Huddersfield
Operated by Dave Naylor
Region 25, Hub 3000
Phone 01484-842341, Cost 0.00
Flags XX,CM,V32B,H16,V32T,VFC,V34
Password ITELLLIES

 In my user-startup i have the following alian defined:

alias getnode "GFindXXX n [] #? FULL QUIET"

 In practise it is an almost 100% replacement for traplist's getnode (and
 Gotcha's getinfo). Benefits being that it can handle simple node patterns,
 for example "GetNode 2:259/*" would printout all nodes in net 259 if this
 alias was used.


 For a more comprehensive example look at the script @{"make259" link make259/main} in the,
 distribution. I use GFindXXX via this script to build up the WWW homepage
 for net 2:259. It basically translates the 2:259 nodelist segment into
 HTML. If you're interested the page is:

http://www.scms.rgu.ac.uk/students/cs_yr94/lk/fido259.html
@endnode
@remark &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
@node HIST "Version History"

16.12.95 : 1.11
         - Initial version based on FindXXX 1.67

17.03.96 : 1.34
         - Added "QUIET=NOINFO/S" command line option
         - Added:
              %3 -- 3D address
              %4 -- 4D address
              %5 -- 5D address
              %u -- 3D address if node, 4D if point
              %x -- firstname.lastname
              %g -- firstname.lastname@pX.fX.nX.zX
              %m -- BBS phone number
              %M -- Mail only?
              %i -- Online time
           LFORMAT options

29.03.96 : 1.38
         - Bug Fix, was not correctly displaying the number of matched
           nodes. Bug introduced when "QUIET=NOINFO/S" option was added.
         - Added:
              %o -- Untranslated phone number
              %O -- Untranslated nodes BBS phone number
           LFORMAT options

21.04.96 : 1.52
         - Added the address (3, 4 and 5 d) and flag search types
         - Implemented the %T LFORMAT option, previously it inserted just
           "unknown"
         - Added aliases for all the search types.
         - Added examples to the guide plus the make259 script.

22.04.96 : 1.55
         - Added:
              %C -- Output an asterix "*"
              %F -- sysop's first name
           LFORMAT options
         - System type now output when FULL is specified. Therefor output
           is exactly the same as getnode now when FULL option is used.

25.04.96 : 1.56
         - Added:
              %D -- node number, padded with 0's so that it is 4 
                    characters wide
           LFORMAT option.

09.06.96 : 1.60
         - Fixed POINTS option.
         - Added "Pvt" (private) to the list of system types returned
           by the %T LFORMAT option.

16.09.96 : 1.68
         - Added:
              %L -- Nodelist name
           LFORMAT option
@endnode
@remark &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
@node LEGAL "Disclaimer, Distribution and Copyright"
/>Insert S:Legal<\
@endnode
@remark &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
@node CONTACT "Contact"
/>Insert S:allcontact<\
@endnode
@remark &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
@node OTHER "Other programs"
/>Insert S:Programs<\
@endnode
 
