SP Linking with SuperLib

 Linking with either RTLINK or BLINKER is fairly
 painless. (OR EXOSPACE FOR 5.3)

 For RTLINK I use:

     RTLINK FI <file> LIB SUPER35

 For BLINKER I use

     BLINKER FI <file> ALLOCATE SUPER35

 For EXOSPACE (5.3) I use

     EXOSPACE FI <file> LIB SUPER35

 Of course you may also use a link file.

 

SP Changing SuperLib

 If you wish to change the source code to certain
 SUPER.Lib modules and replace them in the SUPER.LIB file,
 you will need access to a library manager.

 The most popular and accessible is LIB.EXE, from
 Microsoft, which comes with many Microsoft compilers.
 You will need version 3.11 or above of LIB.EXE.

 To update the library, do the following:

   1. Change and test the .PRG, .C  or .ASM module.

      for Clipper (PRG) modules, I use:

          CLIPPER <file>  -n  -w

      for  C  (C) modules, I use:  (MSC 5.0)

          CL /c  /AL  /Zl  /Oalt /FPa  /Gs  /Fo<file>.obj <file>.c

      for Assembly (ASM) modules, I use: (MASM 5.10)

          MASM   <file>;

   2. After testing, use the following to replace the module in
      the library with the new .OBJ file:

            LIB SUP??? -+<objectfilename> ;

              or

            LIB SUP???  -+<objectfilename1>+<objectfilename2>;

 The semicolon is important.

 Further documentation will be found in the LIB.EXE
 reference manual.

 

SP Internal Datafile Structures

SCROLLER.DBF

  SMODULE        C       8    Calling Proc
  SFIELD         C       10   Calling variable
  SDESCR         C       25   Description/box title
  SSTRING        C       160  Display expression
  SRETURN        C       75   Return expression
  SDBFILE        C       8    DBF file
  SIND           C       8    Index file

HELP.DBF

  H_MOD          C       10   Calling Proc
  H_VAR          C       10   Calling variable
  H_MEMO         M       10   Help text
  HW_T           N       2    Window top
  HW_L           N       2    Window Left
  HW_B           N       2    Window Bottom
  HW_R           N       2    Window right

PLIST.DBF

  DESC           C      45    Description of list
  LIST           C      200   Delimited string of list

FORM.DBF

  DESCRIPT       C       50   Description of the form
  MEMO_ORIG      M       10   Form letter


TODO.DBF

  CATEGORY       C       10   Category of item
  ITEM           C       60   Item description
  PRIORITY       C       2    Priority of item
  DOBY           D       8    Do by date
  DONE           L       1    Done marker
  LONG_DESC      C       231  Long description

QUERIES.DBF

  DBF            C      12    DBF query built for
  DES            C      30    Description of query
  FQUERY         C      220   Query expression


SFREPORT.DBF

  SF_DBF         C   8    Dbf name
  SF_NDXKEY      C   60   Sort key(index)
  SF_MAJKEY      C   60   Major sort key
  SF_MINKEY      C   60   Minor sort key
  SF_TITLE       C   35   Report name
  SF_MAJTEXT     C   25   Major key text
  SF_MINTEXT     C   25   Minor key text
  SF_WIDTH       N   3    Pg width chrs
  SF_LENGTH      N   3    Pg length lines
  SF_LEFTM       N   2    Left margin
  SF_TOPM        N   2    Top margin
  SF_SPACE       N   1    Line spacing
  SF_PAUSE       L   1    Pause between
  SF_NPLINES     N   1    Lines left
  SF_EJB4        L   1    Eject b4 report
  SF_EJAFT       L   1    Eject aftreport
  SF_EJMAJOR     L   1    Eject on Major
  SF_EJMINOR     L   1    Eject on Minor
  SF_EJGRAND     L   1    Eject b4 Grand
  SF_UNTOTAL     L   1    Underline ttals
  SF_MAJCHR      C   1    Major underline char
  SF_MINCHR      C   1    Minor underline char
  SF_NHEAD       N   1    # header lines
  SF_NFOOT       N   1    # footer lines
  SF_NTITL       N   1    # title lines
  SF_TSEP        C   1    Title separation char
  SF_COLSEP      C   1    Col sep char
  SF_CSEPWID     N   1    Col sep width
  SF_LINESEP     C   1    Line sep char
  SF_NCOLS       N   2    # columns
  SF_FEET        M   10   Footer contents
  SF_HEADS       M   10   Header contents
  SF_STDHEAD     L   1    Use standard header
  SF_DETAILS     M   10   Detail contents
  SF_QUERY       C   100  Last used query
  SF_FULLSUM     C   1    Full / summary
  SF_PRNCODE     C   50   Printer code pre-report
  SF_AFTCODE     C   50   Printer code post-report

CLABEL.DBF

  DESCRIPT       C   60      Description
  WIDTH          N   2       Label width
  SPACESBETW     N   2       Spaces between labels
  LINESBETW      N   2       Lines between labels
  ACROSS         N   2       Labels across
  LMARGIN        N   2       Left margin
  HEIGHT         N   2       Label height (lines)
  SETUPCODE      C   60      Pre print setup code
  EXITCODE       C   60      Post print code
  CONTENTS       M   10      Label contents
  PRNPORT        C   10      Printer port
  SHEETS         L   1       Using hand-fed sheets?
  LBLSPAGE       N   3       Labels per page
  TOPMARG        N   2       Top margin (lines)
  PAUSE          L   1       Pause between pages
  EJECT          L   1       Eject each page
  DBFNAME        C   8       DBF name
COLORS.DBF

  SETNAME        C  40    Set name
  DMAINCOL       C  40    SLS_NORMCOL() setting
  DMAINMENU      C  40    SLS_NORMMENU() setting
  DPOPCOL        C  40    SLS_POPCOL() setting
  DPOPMENU       C  40    SLS_POPMENU() setting
  DFRAME         C  40    SLS_FRAME() setting
  DSHADATT       N   3    SLS_SHADATT() setting
  DSHADPOS       N   1    SLS_SHADPOS() setting
  DEXPLODE       L   1    SLS_XPLODE()  setting

APPOINT.DBF

  DATE           C   8   Appointment date
  TIME           C   5   Appointment time
  DESC           C  65   Description

 

SLOLDS.DBF

  TOPIC C 35
  KEYS  M
  TEXT  M

 

SP Internal Datafiles

 SuperLib uses a number of internal datafiles to store

 such things as queries, reports and colors.

 All of these files have default names - for instance
 queries are stored in QUERIES.DBF by default. SuperLib 3.x
 provides a series of functions to determine internal file names
 and locations.

 All of these functions start with SLSF_ (Super Lib System File )

 Function                 Purpose                Default

 SLSF_REPORT([cNew])      Stored reports         SFREPORT
 SLSF_QUERY([cNew])       Stored queries         QUERIES
 SLSF_FORM([cNew])        FORMLETR() forms       FORM
 SLSF_HELP([cNew])        Help records           HELP
 SLSF_LIST([cNew])        LISTER() definitions   PLIST
 SLSF_SCROLL([cNew])      Lookup definitions     SCROLLER
 SLSF_COLOR([cNew])       Color sets             COLORS
 SLSF_TODO([cNew])        TODOLIST() dbf         TODO
 SLSF_TDN1([cNew])        TODOLIST 1st index     TODO
 SLSF_TDN2([cNew])        TODOLIST 2nd  index    TODOP
 SLSF_TDN3([cNew])        TODOLIST 3rd  index    TODOD
 SLSF_APPT([cNew])        Appointments           APPOINT
 SLSF_LABEL([cNew])       Labels database        CLABELS
 SLSF_OLD([cNew])         O.L.D. doc database    SLOLDS

 Where [cNew] optionally sets the path and/or filename.
 If [cNew] is passed, this is the value returned as
 well.

 For example, to change the default file and place
 where reports are stored when using REPORTER(),

   SLSF_REPORT("c:\hidden\MYREPORT")
              // sets the report file
              // to MYREPORT.DBF in
              // c:\HIDDEN

 These take the place of the following public
 variables in earlier versions of SuperLib:

     _REPORTS   = "SFREPORT"   (for reports)
     _FORMS     = "FORM"       (for form letters)
     _QUERIES   = "QUERIES"    (for queries)
     _LISTER    = "PLIST"      (for lister)
     _TODODBF   = "TODO"       (for todo list)
     _TODONTX1  = "TODO"       (TODO category INDEX)
     _TODONTX2  = "TODOP"      (TODO priority INDEX)
     _TODONTX3  = "TODOD"      (TODO do by INDEX)
     _HELP      = "HELP"       (for help)
     _SCROLLER  = "SCROLLER"   (for scroller)
     _COLORS    = "COLORS"     (for colors)

 COLORS are now stored in a DBF file, rather than a
 .MEM file.