home *** CD-ROM | disk | FTP | other *** search
/ Jason Aller Floppy Collection / 276.img / FORUM21S.ZIP / FORUM.PAS < prev    next >
Pascal/Delphi Source File  |  1988-03-27  |  5KB  |  125 lines

  1.                                                                                 {
  2.              ┌───────────────────────────────────────────────────┐
  3.              │   ┬── ┌─┐ ┬─┐ ┬ ┬ ┬─┬─┬    ┬─┐┌─┐   ┌─┐   ┐ ┌─┐   │
  4.              │   ├─  │ │ ├┬┘ │ │ │ ┴ │ ── ├─┘│     ┌─┘   │ │ │   │
  5.              │   ┴   └─┘ ┴└┘ └─┘ ┴   ┴    ┴  └─┘   └─┘ ■ ┴ └─┘   │
  6.              │                                                   │
  7.              │            Written by Kenneth J. Duda             │
  8.              │        Copyright (C) 1986 Kenneth J. Duda         │
  9. ┌────────────┴───────────────────────────────────────────────────┴───────────┐
  10. │                                                                            │
  11. │  This program is property of Kenneth Duda.  As a registered user, you may  │
  12. │  make as many copies as you wish for back-up and archival purposes only.   │
  13. │  You may also make any modifications you wish.  However, you may NOT       │
  14. │  distribute this program, unmodified or modified, to people who are not    │
  15. │  registered users.  If you would like to register, send $50.00 to:         │
  16. │                                                                            │
  17. │       Forum-PC               (Please make checks out to Ken Duda)          │
  18. │    590 Vine Street           Forum-PC Demo BBS: 415-327-6786 300/1200/2400 │
  19. │  Menlo Park, CA 94025                                                      │
  20. │                                                                            │
  21. └────────────────────────────────────────────────────────────────────────────┘  }
  22.  
  23.  
  24.                                 Program Forum;
  25.                                                                                 {
  26.                              COMPILER DIRECTIVES
  27.  
  28.  
  29.  Code    Directive          State          Note
  30.                                                                                 }
  31. {$R-        Range checking  Off            Don't change }
  32. {$S-        Stack checking  Off            Makes code larger/slower }
  33. {$I-          I/O checking  Off            Don't change }
  34. {$D-     Debug information  Off            Makes code larger/slower }
  35. {$T- Turbo pascal map file  Off            Change if you want a map file }
  36. {$F-       Force far calls  Off            Makes code larger/slower }
  37. {$V-   Var-string checking  Relaxed        Don't change }
  38. {$B-    Boolean evaluation  Short Cicuit   Don't change }
  39. {$N-    Numeric processing  Software       Change if you have an 8087 }
  40. {$L-           Link buffer  Memory         Change if you have enough memory }
  41. {$M 65500,0,0   Stack/heap  64k/none       Don't change }
  42.  
  43.                                                                                 {
  44.                                  FORUM-PC UNITS                                 }
  45.  
  46. Uses
  47.   Crt,      { Turbo Pascal CRT library }
  48.   Dos,      { Turbo Pascal DOS library }
  49.   Printer,  { Turbo Pascal Printer library }
  50.  
  51.   gentypes, { All type and constant declarations }
  52.   configrt, { Configuration declarations / procedures }
  53.   modem,    { Modem support }
  54.   statret,  { System status declarations / procedures }
  55.   gensubs,  { General subroutines: lowest level }
  56.   subs1,    { First subroutine library }
  57.   windows,  { Routines to manage the split screen }
  58.   subs2,    { Second subroutine library: higer level I/O }
  59.   textret,  { Message base routines }
  60.   mailret,  { E-mail routines }
  61.   userret,  { User routines }
  62.   flags,    { Board access flag routines }            { By the way, some of }
  63.   mainr1,   { High-level routines, set one }          { this organization   }
  64.   ansiedit, { Full-screen editor }                    { made a lot more     }
  65.   lineedit, { Line editor }                           { sense when I had to }
  66.   chatstuf, { Chat mode routines }                    { use overlay files!! }
  67.   mainr2,   { High-level routines, set two }
  68.   overret1, { High-level routines, set three }
  69.  
  70.   About,    {  About this BBS section }
  71.   Bulletin, {        Bulletin section }
  72.   Configur, {   Configuration section }
  73.   Database, {        Database section }
  74.   Doors,    {            Door section }
  75.   Email,    { Electronic mail section }
  76.   Filexfer, {   File transfer section }
  77.   Voting,   {          Voting section }
  78.   Mycomman, { You write this one }
  79.  
  80.   MainMenu, { Main menu commands }
  81.   Main,     { Main menu shell }
  82.   Waitcall, { Waiting for calls }
  83.   Titlepg,  { Title page }
  84.   Getlogin, { Log-in procedure }
  85.   Forumtrm, { Forum-term }
  86.   Init;     { Initialization routines }
  87.  
  88.  
  89.                                                                                   {
  90.                          FORUM-PC MAIN BEGIN-END BLOCK                            }
  91.  
  92.  
  93.  
  94. var gotoforumterm:boolean;
  95. begin
  96.   checkbreak:=false;
  97.   readconfig;
  98.   validconfiguration;
  99.   initforum (true);
  100.   fromdoor:=paramcount>=3;
  101.   repeat
  102.     gotoforumterm:=false;
  103.     returnfromdoor;
  104.     if not fromdoor then begin
  105.       gotoforumterm:=waitforacall;
  106.       if gotoforumterm then forumterm else getloginproc
  107.     end;
  108.     if not gotoforumterm then begin
  109.       votingbooth (true);
  110.       mainmenuproc;
  111.       fromdoor:=false;
  112.       if not disconnected then disconnect;
  113.       ensureclosed;
  114.       clrscr;
  115.       if sysnext then begin
  116.         dontanswer;
  117.         halt(4)
  118.       end;
  119.       initforum (false)
  120.     end
  121.   until not gotoforumterm;
  122.   dontanswer;
  123.   halt(0)
  124. end.
  125.