home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PCBOARD / DMN_COOL.ZIP / COOL.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-02-25  |  12KB  |  493 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     String   STRING001
  23.     String   STRING002
  24.     String   STRING003
  25.     String   STRING004
  26.     String   STRING005
  27.     String   STRING006
  28.     String   STRING007
  29.     String   STRING008
  30.     String   STRING009
  31.     String   STRING010
  32.     String   STRING011
  33.  
  34. ;------------------------------------------------------------------------------
  35.  
  36.     GetUser
  37.     :LABEL001
  38.     INTEGER002 = 1
  39.     INTEGER001 = 1
  40.     Cls
  41.     PrintLn "                     @X04┌─────@X0C───@X0F───── ──── ── ─ · ·@X0C ·@X04 · ─ ─┐"
  42.     PrintLn "                     │ C@X0Co@X0FoL BoaRDZ 1.00 CoDeD By TeMPe@X0CS@X04T │"
  43.     PrintLn "                     └─ ─ ·@X0C · @X0F· · ─ ── ──── ─────@X0C───@X04─────┘"
  44.     Newline
  45.     PrintLn "                [@X0FV@X04] @X0F──────────────── VieW THe LiST oF c00l BoaR@X0CD@X04Z"
  46.     PrintLn "                [@X0FA@X04] @X0F──────────────────────────── aDD a c00l Boa@X0CR@X04D"
  47.     PrintLn "                [@X0FL@X04] @X0F─────────── VieW LoNG iNFo aBouT a c00l Boa@X0CR@X04D"
  48.     If (U_Sec == SysopSec()) Then
  49.         PrintLn "                [@X0FD@X04] @X0F──────────────────── DeLeTe SoMe STuPiD Boa@X0CR@X04D "
  50.     Else
  51.         PrintLn "                [@X0FI@X04] @X0F────────────────────── iNFo aBouT CooL BoaR@X0CD@X04Z "
  52.     Endif
  53.     PrintLn "                [@X0FQ@X04] @X0F──────────────────────────── QuiT CooL BoaR@X0CD@X04Z "
  54.     Newline
  55.     PrintLn " ┌@X0C─@X0F─ @X04W@X0CH@X0FaT @X04S@X0CH@X0FaLL @X04W@X0Ce @X04D@X0Co @X0F[·] @X0C─@X04┐"
  56.     PrintLn " └── @X0C[@X0F@TIMELEFT:3R@@X0C] ─@X0F── ── ─ · · @X0C─ @X04─┘"
  57.     AnsiPos 24, 11
  58.     InputText "_", STRING001, 9, 1
  59.     Select Case (Upper(STRING001))
  60.         Case "Q"
  61.             End
  62.         Case "V"
  63.             Goto LABEL002
  64.         Case "A"
  65.             Goto LABEL003
  66.         Case "L"
  67.             Goto LABEL004
  68.         Case "I"
  69.             Goto LABEL005
  70.         Case "D"
  71.             If (U_Sec == SysopSec()) Then
  72.                 Goto LABEL006
  73.             Else
  74.                 Goto LABEL001
  75.             Endif
  76.         Case Else
  77.             Goto LABEL001
  78.     End Select
  79.     :LABEL002
  80.     Cls
  81.     PrintLn "@X04                      ┌─────@X0C───@X0F───── ─── ─── ─ · ·@X0C ·@X04 · ─ ─┐"
  82.     PrintLn "                      │ C@X0Ca@X0FLL aLSo THeSe oTHeR c00l BoaR@X0CD@X04Z │"
  83.     PrintLn "┌───┬─────────────────┴─ ─┬ ·@X0C · @X0F· · ─ ── ───┬ ─────@X0C─┬─@X04────┴──┬───────────────┐"
  84.     PrintLn "│ # │      B@X0Co@X0FaRDNaMe      @X04│    N@X0Cu@X0FMBeR@X04       │ H@X0Co@X0FuRZ@X04 │ S@X0Cy@X0FSTeM@X04 │     S@X0Cy@X0FSoP @X04    │"
  85.     PrintLn "├───┼─────────────────────┼─────────────────┼───────┼────────┼───────────────┤"
  86.     If (Exist(PPEPath() + "COOL.LST") == 1) Then
  87.         STRING002 = "EE"
  88.         While (STRING002 <> "") Do
  89.             FOpen 1, PPEPath() + "COOL.LST", 0, 0
  90.             FGet 1, INTEGER001
  91.             FGet 1, STRING002
  92.             FGet 1, STRING003
  93.             FGet 1, STRING004
  94.             FGet 1, STRING005
  95.             FGet 1, STRING006
  96.             FGet 1, STRING007
  97.             FGet 1, STRING008
  98.             FGet 1, STRING009
  99.             FGet 1, STRING010
  100.             If (STRING002 <> "") Then
  101.                 Print "│@X0F "
  102.                 Print INTEGER001
  103.                 Backup 10
  104.                 Forward 4
  105.                 Print "@X04│ "
  106.                 Print STRING002
  107.                 Backup 35
  108.                 Forward 7
  109.                 Print "@X0C" + Mid(STRING002, 2, 25)
  110.                 Backup 35
  111.                 Forward 8
  112.                 Print "@X0F" + Mid(STRING002, 3, 24)
  113.                 Backup 35
  114.                 Forward 26
  115.                 Print "@X04│ "
  116.                 Print STRING003
  117.                 Backup 50
  118.                 Forward 29
  119.                 Print "@X0C" + Mid(STRING003, 2, 15)
  120.                 Backup 50
  121.                 Forward 30
  122.                 Print "@X0F" + Mid(STRING003, 3, 14)
  123.                 Backup 50
  124.                 Forward 44
  125.                 Print "@X04│ "
  126.                 Print STRING004
  127.                 Backup 60
  128.                 Forward 47
  129.                 Print "@X0C" + Mid(STRING004, 2, 8)
  130.                 Backup 60
  131.                 Forward 48
  132.                 Print "@X0F" + Mid(STRING004, 3, 7)
  133.                 Backup 60
  134.                 Forward 52
  135.                 Print "@X04│ "
  136.                 Print STRING005
  137.                 Backup 70
  138.                 Forward 55
  139.                 Print "@X0C" + Mid(STRING005, 2, 10)
  140.                 Backup 70
  141.                 Forward 56
  142.                 Print "@X0F" + Mid(STRING005, 3, 10)
  143.                 Backup 70
  144.                 Forward 61
  145.                 Print "@X04│ "
  146.                 Print STRING006
  147.                 Backup 80
  148.                 Forward 64
  149.                 Print "@X0C" + Mid(STRING006, 2, 13)
  150.                 Backup 80
  151.                 Forward 65
  152.                 Print "@X0F" + Mid(STRING006, 3, 13)
  153.                 Backup 80
  154.                 Forward 77
  155.                 Print "@X04│"
  156.                 Newline
  157.             Endif
  158.         EndWhile
  159.     Endif
  160.     FClose 1
  161.     PrintLn "├───┴─────────────────────┴─────────────────┴───────┴────────┴───────────────┘"
  162.     PrintLn "│ C@X0Co@X0FDeD By TeMPeST/D@X0CM@X04N"
  163.     PrintLn "└───────@X0C─ ─── ─@X0F@X0F─ ─ · · ·"
  164.     Wait
  165.     Goto LABEL001
  166.     :LABEL003
  167.     If (Exist(PPEPath() + "COOL.CFG")) Then
  168.         FOpen 1, PPEPath() + "COOL.CFG", 0, 0
  169.         FGet 1, INTEGER002
  170.         FClose 1
  171.     Else
  172.         INTEGER002 = 0
  173.     Endif
  174.     AnsiPos 1, 14
  175.     Print " @X04G@X0Ci@X0FVe THa NaMe oF THa BoaRD : "
  176.     Print "···················"
  177.     Backup 19
  178.     InputText "_", STRING002, 9, 19
  179.     Newline
  180.     Print " @X04W@X0CH@X0FaT'S THa NuMBeR : "
  181.     Print "···············"
  182.     Backup 15
  183.     InputText "_", STRING003, 9, 15
  184.     Newline
  185.     Print " @X04H@X0Co@X0FuRZ WHeN oPeN (../..) : "
  186.     Print "·····"
  187.     Backup 5
  188.     InputText "_", STRING004, 9, 5
  189.     Newline
  190.     Print " @X04B@X0CB@X0FS SySTeM : "
  191.     PrintLn "[·]"
  192.     PrintLn " @X04┌─────────────────────┬─────────────────────┤ @X04[@X0FH@X04] @X0F───── ViSioN @X0C/ @X04X │"
  193.     PrintLn " │ [@X0FA@X04] @X0F─────── PCBoa@X0CR@X04D │ @X04[@X0FD@X04] @X0F──── PC eXPRe@X0CS@X04S │ @X04[@X0FI@X04] @X0F─────── oBLiVi@X0Co@X04N │"
  194.     PrintLn " │ @X04[@X0FB@X04] @X0F────── PRoBoa@X0CR@X04D │ @X04[@X0FE@X04] @X0F─────── MaXiM@X0Cu@X04S │ @X04[@X0FJ@X04] @X0F────── eVoLuTi@X0Co@X04N │"
  195.     PrintLn " │ @X04[@X0FC@X04] @X0F─ ReMoTe aCCe@X0CS@X04S │ @X04[@X0FF@X04] @X0F───── uLTRa B@X0CB@X04S │ @X04[@X0FK@X04] @X0F────────── oTH@X0Ce@X04R │"
  196.     PrintLn " └─────────────────────┴─────────────────────┴──────────────────────┘"
  197.     AnsiPos 46, 16
  198.     Print "┌──────────────────────┐"
  199.     AnsiPos 46, 17
  200.     Print "│ @X04[@X0FG@X04] @X0F────── SuPeR B@X0CB@X04S │"
  201.     AnsiPos 16, 17
  202.     InputText "_", STRING011, 9, 1
  203.     Newline
  204.     PrintLn "                                                                     "
  205.     PrintLn "                                                                     "
  206.     PrintLn "                                                                     "
  207.     PrintLn "                                                                     "
  208.     PrintLn "                                                                     "
  209.     AnsiPos 46, 16
  210.     Print "                        "
  211.     AnsiPos 46, 17
  212.     Print "                        "
  213.     AnsiPos 1, 18
  214.     Select Case (Upper(STRING011))
  215.         Case "A"
  216.             STRING005 = "PCB"
  217.         Case "B"
  218.             STRING005 = "PB"
  219.         Case "C"
  220.             STRING005 = "RA"
  221.         Case "D"
  222.             STRING005 = "PCE"
  223.         Case "E"
  224.             STRING005 = "MAX"
  225.         Case "F"
  226.             STRING005 = "UBBS"
  227.         Case "G"
  228.             STRING005 = "SBBS"
  229.         Case "H"
  230.             STRING005 = "VIS/X"
  231.         Case "I"
  232.             STRING005 = "OBLIV"
  233.         Case "J"
  234.             STRING005 = "EVOLUT"
  235.         Case Else
  236.             STRING005 = "OTHER"
  237.     End Select
  238.     Print " @X04S@X0Cy@X0FSoP : "
  239.     Print "·············"
  240.     Backup 13
  241.     InputText "_", STRING006, 9, 13
  242.     Newline
  243.     Print " @X04M@X0Ca@X0FX BauD : "
  244.     Print "······"
  245.     Backup 6
  246.     InputText "_", STRING007, 9, 6
  247.     Newline
  248.     Print " @X04S@X0CT@X0FoRaGe : "
  249.     Print "·······"
  250.     Backup 7
  251.     InputText "_", STRING008, 9, 7
  252.     Newline
  253.     Print " @X04C@X0Co@X0FMMeNTS : "
  254.     Print "···························································"
  255.     Backup 59
  256.     InputText "_", STRING009, 9, 59
  257.     Newline
  258.     Forward 12
  259.     Print "···························································"
  260.     Backup 59
  261.     InputText "_", STRING010, 9, 59
  262.     If (Exist(PPEPath() + "COOL.LST") == 1) Then
  263.         FAppend 1, PPEPath() + "COOL.LST", 2, 0
  264.     Else
  265.         FCreate 1, PPEPath() + "COOL.LST", 2, 0
  266.     Endif
  267.     If (STRING002 <> "") Then
  268.         Inc INTEGER002
  269.         FPutLn 1, INTEGER002
  270.         FPutLn 1, STRING002
  271.         FPutLn 1, STRING003
  272.         FPutLn 1, STRING004
  273.         FPutLn 1, STRING005
  274.         FPutLn 1, STRING006
  275.         FPutLn 1, STRING007
  276.         FPutLn 1, STRING008
  277.         FPutLn 1, STRING009
  278.         FPutLn 1, STRING010
  279.         FClose 1
  280.     Endif
  281.     FCreate 1, PPEPath() + "COOL.CFG", 2, 0
  282.     FPutLn 1, INTEGER002
  283.     FClose 1
  284.     Goto LABEL001
  285.     :LABEL004
  286.     AnsiPos 1, 14
  287.     Print " @X04G@X0Ci@X0FVe THa # oF THa BoaRD : [··]"
  288.     AnsiPos 29, 14
  289.     InputText "_", STRING001, 9, 2
  290.     Cls
  291.     STRING002 = "EE"
  292.     While (STRING002 <> "") Do
  293.         FOpen 1, PPEPath() + "COOL.LST", 0, 0
  294.         FGet 1, INTEGER001
  295.         FGet 1, STRING002
  296.         FGet 1, STRING003
  297.         FGet 1, STRING004
  298.         FGet 1, STRING005
  299.         FGet 1, STRING006
  300.         FGet 1, STRING007
  301.         FGet 1, STRING008
  302.         FGet 1, STRING009
  303.         FGet 1, STRING010
  304.         Select Case (STRING005)
  305.             Case "PCB"
  306.                 STRING005 = "PCBoaRD"
  307.             Case "PB"
  308.                 STRING005 = "PRoBoaRD"
  309.             Case "RA"
  310.                 STRING005 = "ReMoTe aCCeSS"
  311.             Case "PCE"
  312.                 STRING005 = "PC eXPReSS"
  313.             Case "MAX"
  314.                 STRING005 = "MaXiMuS"
  315.             Case "UBBS"
  316.                 STRING005 = "uLTRa BBS"
  317.             Case "SBBS"
  318.                 STRING005 = "SuPeR BBS"
  319.             Case "VIS/X"
  320.                 STRING005 = "ViSioN / X"
  321.             Case "OBLIV"
  322.                 STRING005 = "oBLiVioN"
  323.             Case "EVOLUT"
  324.                 STRING005 = "eVoLuTioN"
  325.             Case "OTHER"
  326.                 STRING005 = "NoN SPeCiFieD SySTeM"
  327.         End Select
  328.         If (INTEGER001 == STRING001) Then
  329.             Print " @X04L@X0Co@X0FNG iNFo aBouT @X04" + STRING002
  330.             Backup Len(STRING002)
  331.             Print "@X0C" + Mid(STRING002, 1, Len(STRING002) - 1)
  332.             Backup Len(STRING002) - 1
  333.             PrintLn "@X0F" + Mid(STRING002, 1, Len(STRING002) - 2)
  334.             Print " @X04─@X0C─@X0F──────────────"
  335.             INTEGER003 = 1
  336.             While (((1 < 0) && (INTEGER003 >= Len(STRING002) - 2)) || ((1 >= 0) && (INTEGER003 <= Len(STRING002) - 2))) Do
  337.                 Print "─"
  338.                 INTEGER003 = INTEGER003 + 1
  339.             EndWhile
  340.             Print "@X0C─"
  341.             PrintLn "@X04─"
  342.             Newline
  343.             PrintLn " N@X0Cu@X0FMBeR       : " + STRING003
  344.             PrintLn " @X04H@X0Co@X0FuRZ        : " + STRING004
  345.             PrintLn " @X04B@X0CB@X0FS SySTeM   : " + STRING005
  346.             PrintLn " @X04S@X0Cy@X0FSoP        : " + STRING006
  347.             PrintLn " @X04M@X0Ca@X0FX BauDRaTe : " + STRING007
  348.             PrintLn " @X04S@X0CT@X0FoRaGe      : " + STRING008
  349.             PrintLn " @X04C@X0Co@X0FMMeNTS     : " + STRING009
  350.             PrintLn "                " + STRING010
  351.             Wait
  352.         Endif
  353.     EndWhile
  354.     FClose 1
  355.     Goto LABEL001
  356.     :LABEL005
  357.     Cls
  358.     PrintLn "                     @X04┌─────@X0C───@X0F───── ──── ── ─ · ·@X0C ·@X04 · ─ ─┐"
  359.     PrintLn "                     │ C@X0Co@X0FoL BoaRDZ 1.00 CoDeD By TeMPe@X0CS@X04T │"
  360.     PrintLn "                     └─ ─ ·@X0C · @X0F· · ─ ── ──── ─────@X0C───@X04─────┘"
  361.     Newline
  362.     PrintLn " @X0F@X04H@X0Ce@X0FLP"
  363.     PrintLn " @X04─@X0C─@X0F──"
  364.     Newline
  365.     PrintLn " @X04P@X0CR@X0FeSS [A] iF ya WaNNa aDD a BBS To THe Li@X0CS@X04T"
  366.     PrintLn " @X04P@X0CR@X0FeSS [V] iF ya WaNNa See THe SHoRTCuT LiST oF THe BBSS@X0Ce@X04S"
  367.     PrintLn " @X04P@X0CR@X0FeSS [L] iF ya WaNNa HaVe SoMe MoRe iNFo aBouT a PaRTiCuLaR BBS iN THe Li@X0CS@X04T"
  368.     PrintLn " @X04i @X0CH@X0FoPe Ya KNoW WHaT THa [Q] aND [I] BuTToNS Me@X0Ca@X04N"
  369.     Newline
  370.     PrintLn " @X04C@X0Co@X0FDeD By TeMPeST/DMN oN 24/02/94 ··· CaLL MySTiCaL THieV@X0Ce@X04S"
  371.     Wait
  372.     Goto LABEL001
  373.     :LABEL006
  374.     AnsiPos 1, 14
  375.     Print " @X04G@X0Ci@X0FVe THa # oF THa BoaRD : [··]"
  376.     AnsiPos 29, 14
  377.     InputText "_", STRING001, 9, 2
  378.     INTEGER002 = 1
  379.     STRING002 = "EE"
  380.     FCreate 2, PPEPath() + "COOL.TMP", 2, 0
  381.     FOpen 1, PPEPath() + "COOL.LST", 0, 0
  382.     While (STRING002 <> "") Do
  383.         FGet 1, INTEGER001
  384.         FGet 1, STRING002
  385.         FGet 1, STRING003
  386.         FGet 1, STRING004
  387.         FGet 1, STRING005
  388.         FGet 1, STRING006
  389.         FGet 1, STRING007
  390.         FGet 1, STRING008
  391.         FGet 1, STRING009
  392.         FGet 1, STRING010
  393.         If (STRING002 <> "") Then
  394.             If (STRING001 <> INTEGER001) Then
  395.                 FPutLn 2, INTEGER002
  396.                 FPutLn 2, STRING002
  397.                 FPutLn 2, STRING003
  398.                 FPutLn 2, STRING004
  399.                 FPutLn 2, STRING005
  400.                 FPutLn 2, STRING006
  401.                 FPutLn 2, STRING007
  402.                 FPutLn 2, STRING008
  403.                 FPutLn 2, STRING009
  404.                 FPutLn 2, STRING010
  405.                 INTEGER002 = INTEGER002 + 1
  406.             Endif
  407.         Endif
  408.     EndWhile
  409.     FClose 1
  410.     FClose 2
  411.     INTEGER002 = INTEGER002 - 1
  412.     FCreate 1, PPEPath() + "COOL.CFG", 2, 0
  413.     FPutLn 1, INTEGER002
  414.     FClose 1
  415.     Delete PPEPath() + "COOL.LST"
  416.     Rename PPEPath() + "COOL.TMP", PPEPath() + "COOL.LST"
  417.     Delete PPEPath() + "COOL.TMP"
  418.     Goto LABEL001
  419.     End
  420.  
  421. ;------------------------------------------------------------------------------
  422. ;
  423. ; Usage report (before postprocessing)
  424. ;
  425. ; ■ Statements used :
  426. ;
  427. ;    2       End
  428. ;    4       Cls
  429. ;    3       Wait
  430. ;    87      Goto 
  431. ;    33      Let 
  432. ;    50      Print 
  433. ;    50      PrintLn 
  434. ;    41      If 
  435. ;    4       FCreate 
  436. ;    4       FOpen 
  437. ;    1       FAppend 
  438. ;    8       FClose 
  439. ;    31      FGet 
  440. ;    22      FPutLn 
  441. ;    1       GetUser
  442. ;    2       Delete 
  443. ;    1       Inc 
  444. ;    15      Newline
  445. ;    12      InputText 
  446. ;    12      AnsiPos 
  447. ;    26      Backup 
  448. ;    17      Forward 
  449. ;    1       Rename 
  450. ;
  451. ;
  452. ; ■ Functions used :
  453. ;
  454. ;    39      +
  455. ;    6       -
  456. ;    32      ==
  457. ;    7       <>
  458. ;    1       <
  459. ;    1       <=
  460. ;    2       >=
  461. ;    41      !
  462. ;    2       &&
  463. ;    1       ||
  464. ;    6       Len(
  465. ;    16      Upper()
  466. ;    12      Mid()
  467. ;    16      PPEPath()
  468. ;    2       SysopSec()
  469. ;    3       Exist()
  470. ;
  471. ;------------------------------------------------------------------------------
  472. ;
  473. ; Analysis flags : s
  474. ;
  475. ; s - Sysop level access ■ 5
  476. ;     Program is reading the sysop access level, this may be normal
  477. ;     but still it is very suspect. It is the best way to give a user
  478. ;     all priviledges. Check!
  479. ;     ■ Search for : SYSOPSEC()
  480. ;
  481. ;------------------------------------------------------------------------------
  482. ;
  483. ; Postprocessing report
  484. ;
  485. ;    0       For/Next
  486. ;    4       While/EndWhile
  487. ;    10      If/Then or If/Then/Else
  488. ;    3       Select Case
  489. ;
  490. ;------------------------------------------------------------------------------
  491. ;                 AEGiS Corp - Break the routines, code against the machines!
  492. ;------------------------------------------------------------------------------
  493.