home *** CD-ROM | disk | FTP | other *** search
/ Windoware / WINDOWARE_1_6.iso / powerbbs / pbbsw155 / powrdoor.exe / POWRDOOR.DOC < prev    next >
Text File  |  1991-08-20  |  10KB  |  211 lines

  1.        PowerBBS's PowerDOOR - A Programmers Door Interface to PowerBBS
  2.  
  3.                (c) 1991 by Russell E. Frey; All Rights Reserved
  4.  
  5.                           Support Line (516) 822-7396
  6.  
  7. To use PowerDOOR, you will need a copy of Turbo Pascal for Windows (tm).
  8.  
  9. No code produced with PowerDOOR may be sold commercially.  You may produce
  10. doors for your own use, or issue the doors into public domain or shareware.
  11. If you want to produce commercial code, then please contact Russell Frey,
  12. for a prior contract and licensing agreement.
  13.  
  14. Doors produced under the SHAREWARE concept may be distributed, so long
  15. as there are no limitations to the registered version (and must be
  16. shareware as according to the Association of Shareware Professionals).
  17.  
  18. To produce a door with PowerDOOR, the following requirements are held:
  19.  
  20.  1) You must place powrwin and powrdoor in your uses
  21.     statement.
  22.  
  23.  2) You must always begin your program with (begin_live_program(name);) and
  24.     end your program with (end_live_program;)
  25.  
  26. An example program, blackjack, is included in this package (black.pas).  As
  27. with any PowerBBS Live Program, to set up the live door, you will place the
  28. following in your live.dat:
  29. c:\wsource\black.exe c:\powrbbs\powrwin.dat,10,
  30. All windows live programs must contain the .exe, and path to the data file.
  31.  
  32. If you write a door, or code that you would like to distribute, please
  33. upload your programs to the support bbs (516) 822-7396.  The existence
  34. of programs using PowerDoor, will give me an incentive to continue
  35. supporting the programming community.
  36.  
  37. The following procedures/functions/structures are currently available for
  38. your use:
  39.  
  40. --> procedure begin_live_program(name_of_prog: string);
  41. Use to open PowerDOOR.  Name of Prog variable, is the name of your program.
  42.  
  43. --> procedure end_live_program;
  44. Needed to close PowerDoor.
  45.  
  46. --> procedure write_com(msg: string);
  47. Writes a string to the user.  If user is remote, information is sent
  48. to the com port, etc.
  49.  
  50. --> procedure writeln_com(msg: string);
  51. Same as write_com, except a return is entered at the end of output.
  52.  
  53. --> function infotext(pline: string): string;
  54. Will interpret |MACROS|.  For example, you can do:
  55. writeln_com(infotext('Welcome |NAME|'));
  56.  
  57. --> function drop_carrier: boolean;
  58. If user is not online, then this function is set to TRUE.  You should always
  59. use this in any loop structure, such as:
  60.  Repeat
  61.   delay(50);
  62.  Until (drop_carrier) or (your statements);
  63.  
  64. --> procedure get_a_return;
  65. Tells the user to press return (or enter), and will wait till it is pressed.
  66.  
  67. --> procedure activity(stringtowrite: string);
  68. Writes the information to the activity_log file.
  69.  
  70. --> procedure clearscreen;
  71. Clears the screen, including the users screen, if ANSI is turned on.
  72.  
  73. --> procedure type_file(file: string);
  74. Types a file to the user. If you use type_file('wel'), then the file
  75. wel, will be displayed.  If welc is available, and the user has ANSI
  76. capability, then it will be displayed.  (Notice c for color)
  77.  
  78. --> procedure ask_user(input_string: string;
  79.                    max_input_length: integer);
  80. This procedure should be used to get input from the user, such as a
  81. Readln(string), statement.  Notice that max_input_length, is the
  82. maximum length the string input is permitted to be.
  83.  
  84. --> function input_char: char;
  85. This function will receive one character from the user.
  86.  
  87. --> function get_hotkey_yn: boolean;
  88. This procedure will wait until the keys y or n are pressed.  It will display
  89. Yes or No, and a return after the key has been pressed.
  90. get_hotkey_yn is TRUE if yes is pressed.
  91.  
  92. --> procedure writelncom;
  93. This procedure will return a blank return to the screen.  You could
  94. do the same thing with writeln_com('');
  95.  
  96. --> procedure save_userinfo;
  97. This program will save the USERINFO record.  Use this only if you want
  98. to save updated information.
  99.  
  100. --> function asc_to_int(temps: string): integer;
  101. Converts an ascii string to an integer
  102.  
  103. --> function int_to_asc(tempint: integer): string;
  104. Converts an integer to a string
  105.  
  106. --> procedure upper_string(var tempstring: string);
  107. Converts all letters to capital in a string
  108.  
  109. --> procedure delete_after_spaces(var tempstring: string);
  110. Removes any spaces at the end of a string
  111.  
  112. --> procedure delete_before_spaces(var tempstring: string);
  113. Removes any spaces at the beginning of a string
  114.  
  115. --> procedure delay(time_ms: longint);
  116. Delays and yields control, for the specified milliseconds.
  117. Delay(1000) = delay and yield control for 1 full second.
  118. You should enter this if you have a repeat -- until, to yeild control
  119. to other applications.
  120.  
  121. --> function SENDRED:     string;  Sends ANSI foreground RED
  122. --> function SENDGREEN:   string;  Sends ANSI foreground GREEN
  123. --> function SENDYELLOW:  string;  Sends ANSI foreground YELLOW
  124. --> function SENDBLUE:    string;  Sends ANSI foreground BLUE
  125. --> function SENDMAGENTA: string;  Sends ANSI foreground MAGENTA
  126. --> function SENDCYAN:    string;  Sends ANSI foreground CYAN
  127. --> function SENDWHITE:   string;  Sends ANSI foreground WHITE
  128. --> function SENDGRAY:    string;  Sends ANSI foreground GRAY
  129. --> function SENDBrown:   string;  Sends ANSI foreground BROWN
  130. --> function SENDBLUEBACK:string;  Sends ANSI background BLUE
  131. --> function SENDRedback: string;  Sends ANSI background RED
  132. --> function SENDPUPback: string;  Sends ANSI background PURPLE
  133.  
  134. The following record is available, via the USERINFO. declaration.
  135. For example, USERINFO.NAME would be the current Users Name.
  136.  
  137. Type Forum_Type = Record
  138.      Options:  Byte;      {Forum Options:
  139.                            Bit0: Access No/Yes
  140.                            Bit1: Scan No/Yes}
  141.      Lastread: Single;    {Last message read pointer}
  142.     End;
  143.  
  144. Type PowrUser = Record    {Format of the USER database}
  145.        Name:  Packed Array[1..25] Of Char;        {User Name}
  146.        Location:  Packed Array[1..20] Of Char;    {User Location}
  147.        Computer:  Packed Array[1..15] Of Char;    {User Computer Type}
  148.        Phone_Number: Packed Array[1..14] Of Char; {User Phone Number}
  149.        Password:  Packed Array[1..10] Of Char;    {User Password}
  150.        Birthday:  DateType;                       {date of birth}
  151.        First_Call: DateType;                      {date of first logon}
  152.        Last_File_Scan: DateType;                  {date of last NEW scan}
  153.        Expiration_Date: DateType;                 {date subscription ends}
  154.        Last_Call: DateType;                       {date of last logoff}
  155.        Last_Time: TimeType;                       {time of last logoff}
  156.        Calls: Integer;                            {total number of calls}
  157.        Uploads: Integer;                          {number of uploads}
  158.        Downloads: Integer;                        {number of downloads}
  159.        Time_on: Integer;                          {time on today}
  160.        Today_bytes: Double;                       {bytes downloaded today}
  161.        Download_Bytes: Double;                    {bytes downloaded}
  162.        Uploads_Bytes: Double;                     {bytes uploaded}
  163.        Forum_Data:  Array[0..200] Of Forum_Type;
  164.        Access: Byte;                              {access level}
  165.        Expiration_Access: Byte;                   {access after expiration
  166.                                                         date}
  167.        Screen_lines: Byte;                        {number of lines to a screen}
  168.        Safe_Total: Byte;                          {total minutes in safe}
  169.        Options: Byte;                             {options:
  170.                                                     bit0: Expert On/Off
  171.                                                     bit1: Hotkey On/Off
  172.                                                     bit2: Bad User On/Off}
  173.        Xproto: Byte;                              {default file xfer protocol}
  174.        Monitor_Type: Char;                        {type of monitor:
  175.                                                     'C' => Color
  176.                                                     'M' => Monochrome
  177.                                                     'N' => None}
  178.        Messages_Left: Word;                       {Number of messages left}
  179.        Reserved: Array[1..200] of byte;
  180.       End;
  181.  
  182. The following record, can be interfaced by using the CALLINFO record.
  183. For example, the name is CALLINFO.NAME
  184.  
  185. Type Powr_CallInfo = Record  {Format of Callers Info File For Live Programs}
  186.        Name:  Packed Array[1..25] Of Char;     {User Name}
  187.        User_Pointer: Integer;                  {User Record # starting at 1}
  188.        BaudRate: Packed Array[1..5] Of Char;   {Baud rate to send at}
  189.        Scomport: Char;                         {Com Number to send at}
  190.        What_Menu: byte;                        {Current Menu}
  191.        Graphics: Char;                         {Graphics Type:
  192.                                                  'C' => Color
  193.                                                  'M' => Monochrome
  194.                                                  'N' => None}
  195.        Access: Byte;                           {User Access Level}
  196.        ForumNum: Byte;                         {Current Forum Number}
  197.        Logon_Time: TimeType;                   {time of logon}
  198.        Logon_Mins: Integer;                    {time the user logged on in mins}
  199.        Used_today: integer;                    {time the user used in
  200.                                                 previous calls so far today}
  201.        Time_Limit: integer;                    {Maximum mins permitted on bbs}
  202.        Kdownload_Maximum: Integer;             {Maximum download bytes in K}
  203.        Upload_Credit: Integer;                 {Minutes given for Uploading}
  204.        Minutes_Useable: Integer;               {Maximum Time left for caller}
  205.        Node_Num: Byte;                  {The node number of this callinfo file}
  206.        Path_Data: string[30];           {path to powrwin.dat}
  207.        Reserved1: Array[1..2] Of Char;
  208.        Reserved2: Byte;
  209.        Reserved3: Longint;
  210.       End;
  211.