home *** CD-ROM | disk | FTP | other *** search
/ synchro.net / synchro.net.tar / synchro.net / main / BBS / D32_01.ZIP / DOOR32.DOC < prev    next >
Encoding:
Text File  |  2000-07-25  |  12.4 KB  |  345 lines

  1.   =========================================================================
  2.   ABOUT THE DOOR32 LIBRARY
  3.   =========================================================================
  4.  
  5.   Features:
  6.      
  7.      o Compiles native DOS, Win32, and OS/2 doors from the same source code
  8.      o <other stuff here>
  9.  
  10.   DOOR32 has been tested with the following compilers...
  11.  
  12.   <blah blah blah>
  13.  
  14.   NOTE: THIS LIBRARY IS INCOMPLETE.  ITS FUNCTIONAL BUT THE DOCUMENTATION
  15.   AND MANY FEATURES ARE NOT COMPLETE (such as Free Pascal support, OS/2,
  16.   support, Linux support, and arrow key (lightbar) support).
  17.  
  18.   See SAMPLE.PAS for a sample door that will compile for DOS and Door32
  19.   under Turbo Pascal 7.0 / Virtual Pascal 2.0.
  20.  
  21.   With D32's redefinable events (functions), D32 becomes one of the most
  22.   flexible door programming libraries in existance.  It will compile
  23.   DOS and Windows Door32 doors from the same source code - and will
  24.   eventually support OS/2 and Linux as well as Free Pascal!  And if that
  25.   isn't enough, Door32 will always be free with source code available!
  26.  
  27.   =========================================================================
  28.   FUNCTION AND PROCEDURE REFERENCE
  29.   =========================================================================
  30.  
  31.   OPENDOOR
  32.   -------------------------------------------------------------------------
  33.   Function OpenDoor (DF : String) : Byte;
  34.  
  35.   This procedure should always be ran before calling other procedures in
  36.   the library.  This function will read the drop file, and initialize all
  37.   internal functionality of the library.
  38.  
  39.   The DF variable should be contain the path / file name of any drop file
  40.   which is supported by the DOOR32 library.  DOOR32 will automatically
  41.   determine which type of drop file is passed and read the data
  42.   appropriately.
  43.  
  44.   The following drop files are supported by the DOS version of DOOR32:
  45.  
  46.       DORINFOx.DEF
  47.       DOOR.SYS
  48.       CHAIN.TXT
  49.  
  50.   The following drop files are supported by the WIN32 and OS/2 versions:
  51.  
  52.       DOOR32.SYS
  53.  
  54.   The function returns a byte value error code which can be used to check
  55.   if the OpenDoor function was successful:
  56.  
  57.       0 = OpenDoor successful
  58.       1 = Drop file not found
  59.       2 = Error reading drop file
  60.       3 = Invalid drop file type
  61.       4 = Unable to open communication driver (com port)
  62.  
  63.  
  64.   CLOSEDOOR
  65.   -------------------------------------------------------------------------
  66.   Procedure CloseDoor;
  67.  
  68.   This procedure should be called before the door exits back to the
  69.   operating system.  This procedure will dispose of all used memory as well
  70.   as prepare the communication driver to return back to the BBS system.
  71.  
  72.  
  73.   OUT
  74.   --------------------------------------------------------------------------
  75.   Procedure Out (S : String);
  76.  
  77.   This procedure will send a line of text to both the local and remote user
  78.   screens.
  79.  
  80.  
  81.   OUTLN
  82.   --------------------------------------------------------------------------
  83.   Procedure OutLn (S : String);
  84.  
  85.   This procedure will send a line of text to both the local and remote user
  86.   screens.  This function will also send a carrage return and line feed
  87.   afterwards to move the cursor down to the next line.
  88.  
  89.  
  90.   SEND
  91.   --------------------------------------------------------------------------
  92.   Procedure Send (S : String);
  93.  
  94.   This procedure will send a line of text to both the local and remote user
  95.   screens.  This function is identical to the OUT procedure with the
  96.   exception that it will accept pipe color codes as part of the text.
  97.  
  98.   The following pipe codes can be used to change the FOREGROUND color:
  99.  
  100.           |01 - Blue            |02 - Green         |03 - Cyan
  101.           |04 - Red             |05 - Magenta       |06 - Brown
  102.           |07 - Lt Grey         |08 - Grey          |09 - Lt Blue
  103.           |10 - Lt Green        |11 - Lt Cyan       |12 - Lt Red
  104.           |13 - Lt Magenta      |14 - Yellow        |15 - White
  105.  
  106.   The following pipe codes can be used to change the BACKGROUND color:
  107.  
  108.           |16 - Black           |17 - Blue
  109.           |18 - Green           |19 - Cyan
  110.           |20 - Red             |21 - Magenta
  111.           |22 - Brown           |23 - Grey
  112.  
  113.   The following pipe codes are also supported:
  114.  
  115.           |CR - Sends a carrage return (moves to the next line)
  116.           |CL - Clears the screen
  117.  
  118.  
  119.   SENDLN
  120.   --------------------------------------------------------------------------
  121.   Procedure SendLn (S : String);
  122.  
  123.   This procedure sends text to the screen and filters out pipe codes just
  124.   like the SEND procedure.  This procedure will additionally add a carrage
  125.   return after the text is sent so the cursor will move to the next line.
  126.  
  127.  
  128.   SENDCLS
  129.   --------------------------------------------------------------------------
  130.   Procedure SendCLS;
  131.  
  132.   This procedure will clear the screen
  133.  
  134.  
  135.   SENDBS
  136.   --------------------------------------------------------------------------
  137.   Procedure SendBS (N : Byte);
  138.  
  139.   This procedure will send a backspace sequence "N" number of times, which
  140.   will back the cursor up over already displayed characters.
  141.  
  142.  
  143.   SENDFILE
  144.   --------------------------------------------------------------------------
  145.   Procedure SendFile (FN : String; Pause: Boolean);
  146.  
  147.   This procedure will display a text file to the screen.  The FN variable
  148.   should hold the file name of the file to be displayed.  If the file
  149.   extention is not supplied, SENDFILE will attempt to add the appropriate
  150.   extention according to the user's terminal settings: .ANS for ANSI or
  151.   .ASC for ASCII.
  152.  
  153.   If the PAUSE variable is set to true, SENDFILE will pause after each
  154.   screenful giving the user the option to continue or abort displaying
  155.   the file.  The pause procedure can optionally be replaced by
  156.   redefining the procedure.  See the section on "redefinable procedures"
  157.   for more information.
  158.  
  159.   If a call to SENDFILE is made and the supplied file name does not exist,
  160.   the ISNOFILE variable will be set to TRUE and the function will be
  161.   aborted.
  162.  
  163.  
  164.   ANSI_COLOR
  165.   --------------------------------------------------------------------------
  166.   Procedure ansi_Color (FG, BG : Byte);
  167.  
  168.   This procedure will set the current foreground and background colors if
  169.   the user supports ANSI graphics.  The following colors are available:
  170.  
  171.   FOREGROUND COLORS:
  172.  
  173.           01 - Blue            02 - Green         03 - Cyan
  174.           04 - Red             05 - Magenta       06 - Brown
  175.           07 - Lt Grey         08 - Grey          09 - Lt Blue
  176.           10 - Lt Green        11 - Lt Cyan       12 - Lt Red
  177.           13 - Lt Magenta      14 - Yellow        15 - White
  178.  
  179.   BACKGROUND COLORS:
  180.  
  181.           16 - Black           17 - Blue
  182.           18 - Green           19 - Cyan
  183.           20 - Red             21 - Magenta
  184.           22 - Brown           23 - Grey
  185.  
  186.  
  187.   ANSI_GOTOXY
  188.   -------------------------------------------------------------------------
  189.   Procedure ansi_GotoXY (X, Y : Byte);
  190.  
  191.   This procedure will move the cursor to the passed X and Y coordinate on
  192.   the screen.  The user must support ANSI graphics for this function to
  193.   work.
  194.  
  195.  
  196.   ANSI_CLREOL
  197.   -------------------------------------------------------------------------
  198.   Procedure ansi_ClrEOL;
  199.  
  200.   This procedure will clear all text from the current cursor location to
  201.   the end of the line.  The cursor location will return to it's original
  202.   position after the text has been cleared.
  203.  
  204.   This function requires ANSI graphics emulation.  If the user does not
  205.   support ANSI graphics, calls to this function will be ignored.
  206.  
  207.  
  208.   KEYWAITING
  209.   -------------------------------------------------------------------------
  210.   Function KeyWaiting : Boolean;
  211.  
  212.   This function will return TRUE if there is a key waiting in the local or
  213.   remote user's key buffer.
  214.  
  215.  
  216.   GETKEY
  217.   -------------------------------------------------------------------------
  218.   Function GetKey : Char;
  219.  
  220.   This function will read a single key from the keyboard buffer.  If there
  221.   is no key waiting in the buffer, GETKEY will wait until a key is pressed
  222.   and return that key.
  223.  
  224.   If the key returned was entered from the local keyboard, the boolean
  225.   variable ISLOCALKEY will be set to TRUE.  If the key was entered from the
  226.   remote user's keyboard, ISLOCALKEY will be set to a FALSE value.
  227.  
  228.  
  229.   ONEKEY
  230.   -------------------------------------------------------------------------
  231.   Function OneKey (S : String; Echo: Boolean);
  232.  
  233.   This function will wait for a single valid key to be entered.  The S
  234.   variable contains a string of valid characters.  If the ECHO variable is
  235.   passed as TRUE, ONEKEY will echo the character to the screen when it is
  236.   entered by the user.
  237.  
  238.  
  239.   INPUT
  240.   -------------------------------------------------------------------------
  241.   Function Input (Mode: Byte; MaxLen: Byte; Valid, Default: String) : String;
  242.  
  243.   This function reads a series of characters from the user and returns them
  244.   in a string variable.
  245.  
  246.   The MODE variable is used to specify how INPUT will handle each character
  247.   when it is entered.  Valid options are:
  248.  
  249.      0 = As typed
  250.      1 = Convert all characters to uppercase letters
  251.      2 = Convert all characters to lowercase letters
  252.      3 = Convert the first letter in each word to uppercase letters
  253.  
  254.   The MAXLEN variable is used to specify the maximum length of characters
  255.   that INPUT will allow.
  256.  
  257.   The VALID variable is a string of characters which specify which keys
  258.   input will accept.  DOOR32 has already pre-defined several possible
  259.   valid input strings, as listed below - but any series of characters
  260.   can be supplied if none of the following defaults will do:
  261.      
  262.      inNormal   = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV' +
  263.                   'WXYZ1234567890~!@#$%^&*()-+\[]{};:`''".,/<> =_?|';
  264.  
  265.      inAny      = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV' +
  266.                   'WXYZ1234567890~!@#$%^&*()-+\[]{};:`''".,/<> =_?|' +
  267.                   'ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«' +
  268.                   '»░▒▓│┤╡╢║╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐' +
  269.                   '▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■';
  270.  
  271.      inNumber   = '1234567890-';
  272.  
  273.      inFileName = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV' +
  274.                   'WXYZ1234567890~!@#$%^&()-_{}.';
  275.  
  276.      inFileSpec = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV' +
  277.                   'WXYZ1234567890~!@#$%^&()-_{}.?*';
  278.  
  279.      inFilePath = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV' +
  280.                   'WXYZ1234567890~!@#$%^&()-_{}.?*:\';
  281.  
  282.   The DEFAULT variable is a string variable which holds the default value
  283.   of the input.  When a non-blank value is passed to INPUT, it will
  284.   automatically put the string into the keyboard buffer as if the user had
  285.   just typed it.
  286.  
  287.  
  288.   SETTIMELEFT
  289.   -------------------------------------------------------------------------
  290.   Procedure SetTimeLeft (Time : Integer);
  291.  
  292.   This function sets the amount of time (in minutes) that the user has
  293.   remaining online.
  294.  
  295.  
  296.   GETTIMELEFT
  297.   -------------------------------------------------------------------------
  298.   Function GetTimeLeft : Integer;
  299.  
  300.   This function returns the amount of time (in minutes) that the user has
  301.   remaining online.
  302.  
  303.  
  304.   TIMERMIN
  305.   -------------------------------------------------------------------------
  306.   Function TimerMin : Integer;
  307.  
  308.   This function returns the number of minutes that have passed in the day
  309.   since midnight.  This function is used internally by the library, but it
  310.   may come in handy for some door authors.
  311.  
  312.  
  313.   TIMERSEC
  314.   -------------------------------------------------------------------------
  315.   Function TimerSec : LongInt;
  316.  
  317.   This function works similar to the TIMERMIN function, except it will
  318.   return the number of seconds since midnight.
  319.  
  320.  
  321.   =========================================================================
  322.   REDEFINABLE FUNCTIONS AND PROCEDURES
  323.   =========================================================================
  324.  
  325.   dOnNoCarrier
  326.   dOnTimeOut
  327.   dOnStatusUpdate
  328.   dOnChatMode
  329.   dOnLowTime
  330.   dOnNoTime
  331.   dOnKickUser
  332.   dOnFilePause
  333.   dOnOsShell
  334.  
  335.   =========================================================================
  336.   CREDITS
  337.   =========================================================================
  338.  
  339.   =========================================================================
  340.   CONTACTING THE AUTHORS
  341.   =========================================================================
  342.  
  343.   Official Door32 web site:
  344.      http://www.mysticbbs.com/door32
  345.