------------ Sam Spade, the Visual Basic runtime debugger ------------
                             version 1.0

1995 KnowledgeWorks

Contents:
   About Sam Spade
   Requirements
   Usage
   Disclosure
   Copyright
   Shareware
   Also from KnowledgeWorks

About Sam Spade:
   Sam Spade is used to diagnose Visual Basic runtime errors.

   It writes to a log file if the application's command line argument(s)
   contain "DEBUG" or "PAUSE". It pauses the application and shows a
   dialog box if the command line argument(s) contain "PAUSE" (case is
   insignificant).

   The dialog box displays system information and the current values of
   up to 10 variables. The values of these variables can be reset.

   Sam Spade adds about 18K to your application.

   Sam Spade was written using Visual Basic for Windows 3.0. The .BAS and
   .FRM files are in binary format. SPADEBAS.TXT, SPADEFRM.TXT and
   SAMSPADE.FRX are the same files in text format.

Requirements:
   SAMSPADE.BAS
   SAMSPADE.FRM
   BFVBHLPR.DLL
   VBRUN300.DLL

Usage:
   Add the required files to a project and the following code to a
   subroutine or function:
'     ~ Sam Spade, The VBasic Runtime Debugger ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      If CONST_SPADE$ = "You Bet" Then
        L1$ = "Variable1$": P1$ = Variable1$: L2$ = "Variable2$": P2$ = Variable2$
        L3$ = "Variable3$": P3$ = Variable3$: L4$ = "Variable4$": P4$ = Variable4$
        L5$ = "Variable5$": P5$ = Variable5$: L6$ = "Variable6$": P6$ = Variable6$
        L7$ = "Variable7$": P7$ = Variable7$: L8$ = "Variable8$": P8$ = Variable8$
        L9$ = "Variable9$": P9$ = Variable9$: L10$ = "Variable10$": P10$ = Variable10$
        SpadeResult% = DebugLog%(theLogFileName$, themarkIt%, theApp$, theRoutine$, theProcess$, theHD1Label$, theHD2Label$, theIter%)
        Variable1$ = P1$: Variable2$ = P2$
        Variable3$ = P3$: Variable4$ = P4$
        Variable5$ = P5$: Variable6$ = P6$
        Variable7$ = P7$: Variable8$ = P8$
        Variable9$ = P9$: Variable10$ = P10$
        L1$ = "": L2$ = "": L3$ = "": L4$ = "": L5$ = "": L6$ = "": L7$ = "": L8$ = "": L9$ = "": L10$ = ""
        P1$ = "": P2$ = "": P3$ = "": P4$ = "": P5$ = "": P6$ = "": P7$ = "": P8$ = "": P9$ = "": P10$ = ""
      End If
'     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   where:
      L1$ through L10$   labels, usually the names of variables
      P1$ through P10$   values
                         * use only the number of labels and values
                           required!
      LogFileName$       the full path and name of the log file
      markIt%            1 to put a line of dashes across the log as a
                         demarcation, 0 to not mark
      App$               name of the application being tested
      Routine$           name of the function or subroutine being tested
      Process$           name of the process being tested (ie. "getting
                         data")
      HD1Label$          the first drive whose free space to measure
                         (ie. "C:")
      HD2Label$          the second drive whose free space to measure
                         (ie. "D:")
      Iter%              the current iteration (useful if a loop is
                         being tested)

   Each use of the DebugLog% function makes an entry in the log. The
   function can be used as many times as is necessary.

   * You will need to remark out the SpadeResult% = DebugLog% line in
     your code if you remove the SAMSPADE.* files from your project.
     This can be done with a search and replace (ie. replace
     SpadeResult% = DebugLog% with 'SpadeResult% = DebugLog%)

   example:
'     ~ Sam Spade, The VBasic Runtime Debugger ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      If CONST_SPADE$ = "You Bet" Then
        L1$ = "Err": P1$ = Str$(Err): L2$ = "Fname$": P2$ = Fname$
        SpadeResult% = DebugLog%(TedDir$ & "TED.LOG", 0, "Topic Editor Tools", "Collect", "collectFileErr", "c", Left$(Fname$, 1), 0)
        Err = Val(P1$): Fname$ = P2$
        L1$ = "": L2$ = ""
        P1$ = "": P2$ = ""
      End If
'     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Disclosure:
   KnowledgeWorks provides this product as is without any
   representation or warranty, including but not limited to the
   warranty of merchantability or fitness for a particular purpose.

   BFVBHLPR.DLL was written by Brian Fry, who distributes it for free
   as BFVBDL.ZIP on Compuserve.

Copyright:
   You may use this product any way you like. Distribute it freely,
   either in this form or compiled into your applications. No royalties
   or fees are required, except as specified below:


Shareware:
   If you like Sam Spade, consider doing one or more of the following:

 - Send $10 to

       KnowledgeWorks
       620 Rosal Way
       San Rafael, CA  94903-2926

   This will help fund other useful shareware thingys and also
   generate Very Good Karma. Send along your Email address and specify
   if you want to be notified of any new products.

 - Send encouraging Email to
        
       KnowledgeWorks
       72310.2614@compuserve.com

 - Send $10 to

       Children's Defense Fund
       21 E Street, NW
       Washington, DC  20001

   or your favorite non-profit organization.

 - Stop working right now, leave your computer, find your nearest loved
   one, tell him or her that you felt like taking a break, and ask how
   his or her day is going.


Also from KnowledgeWorks:

Topic Editor Tools

   Topic Editor Tools (AKA Ted) makes it easier to author hypermedia
   documents for applications such as Microsoft Multimedia Viewer,
   Windows Help and the World Wide Web.

   Topic Editor Tools can be used with any authoring tool, such as
   Microsoft Word, Help Author, MMViewer PTK, Visual Help, and so on.
   It manages the codes, footnotes or tags used in these documents,
   making them easily accessible. Topic Editor Tools can read RTF and
   HTML documents, copying footnotes and tags to it's databases.
   Codes, footnotes and tags can then be used with a quick click of the
   mouse. Databases are in text format and can used by virtually any
   other application.

   Topic Editor Tools was designed to help you work the way you already
   work, only faster and more accurately.

   Topic Editor Tools comes with macros for several applications, such as
   Microsoft Word for Windows. These macros interface with the Topic
   Editor Tools application, making it easy to use Topic Editor Tools
   functions. Topic Editor Tools functions are also available to any
   application that can shell to a command line or use DDE.

   To receive the Topic Editor Tools Electronic Brochure, send Email to:
       KnowledgeWorks
       72310.2614@compuserve.com
