home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 15 / CD_ASCQ_15_070894.iso / vrac / dcm32.zip / DCM.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-06-01  |  9KB  |  448 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.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     DWord    DWORD001
  23.     Integer  INTEGER001
  24.     Integer  INTEGER002
  25.     Integer  INTEGER003
  26.     Integer  TINTEGER004(128)
  27.     Integer  INTEGER005
  28.     String   STRING001
  29.     String   STRING002
  30.     String   STRING003
  31.     String   STRING004
  32.     String   STRING005
  33.     String   STRING006
  34.     String   STRING007
  35.     String   STRING008
  36.     String   STRING009
  37.     String   STRING010
  38.     String   STRING011
  39.     String   STRING012
  40.     String   STRING013
  41.     String   STRING014
  42.     String   STRING015
  43.     String   STRING016
  44.     String   STRING017
  45.     String   STRING018
  46.     String   STRING019
  47.     String   STRING020
  48.  
  49. ;------------------------------------------------------------------------------
  50.  
  51.     GetToken STRING001
  52.     If (STRING001 <> "") Then
  53.         Join STRING001 + " " + GetToken() + " " + GetToken()
  54.     Else
  55.         BOOLEAN001 = 1
  56.         BOOLEAN002 = 0
  57.         BOOLEAN003 = 0
  58.         STRING006 = "@X7E"
  59.         STRING007 = "@X7F"
  60.         STRING008 = "@X70"
  61.         STRING009 = "@X7B"
  62.         STRING010 = "@X74"
  63.         STRING011 = "@X77"
  64.         STRING012 = "@X71"
  65.         STRING013 = Chr(64) + Chr(88) + Chr(70) + Chr(69)
  66.         STRING014 = "@X0E(@X0C@TIMELEFT@@X0E min left) (@X0C#@X0E), (@X0CA@X0E)ll, (@X0CF@X0E)lag, (@X0CS@X0E)earch, (@X0CH@X0E)elp, (enter=quit)"
  67.         STRING015 = "@X0E(@X0C@TIMELEFT@@X0E min left) (@X0C#@X0E), (@X0CF@X0E)lag, (@X0CS@X0E)earch, (@X0CP@X0E)rogram Info, (@X0CH@X0E)elp, More"
  68.         STRING016 = "Listing ALL Conferences Together"
  69.         STRING019 = Chr(42) + Chr(42) + Chr(42) + Chr(32) + Chr(85) + Chr(78) + Chr(82) + Chr(69) + Chr(71) + Chr(73) + Chr(83) + Chr(84) + Chr(69) + Chr(82) + Chr(69) + Chr(68) + Chr(32) + Chr(42) + Chr(42) + Chr(42)
  70.         STRING020 = STRING019
  71.         STRING019 = STRING019 + "     " + STRING019 + "     " + STRING019
  72.         STRING019 = STRING013 + "@POS:" + String((80 - Len(STRING019)) / 2) + "@" + STRING019
  73.         FOpen 1, PPEPath() + "DCM.CFG", 0, 0
  74.         FDefIn 1
  75.         :LABEL001
  76.         If (Ferr(1)) Goto LABEL003
  77.         FDGet STRING002
  78.         If (Left(STRING002, 1) <> ";") Then
  79.             If (InStr(Upper(STRING002), "NOCLEAR") <> 0) Then
  80.                 BOOLEAN001 = 0
  81.                 Goto LABEL002
  82.             Endif
  83.             If (InStr(Upper(STRING002), "NETWORKPROMPT=") <> 0) Then
  84.                 STRING014 = ReplaceStr(Upper(STRING002), "NETWORKPROMPT=", "")
  85.                 Goto LABEL002
  86.             Endif
  87.             If (InStr(Upper(STRING002), "CONFERENCEPROMPT=") <> 0) Then
  88.                 STRING015 = ReplaceStr(Upper(STRING002), "CONFERENCEPROMPT=", "")
  89.                 Goto LABEL002
  90.             Endif
  91.             If (InStr(Upper(STRING002), "TEXTCOLOR=") <> 0) Then
  92.                 STRING006 = ReplaceStr(Upper(STRING002), "TEXTCOLOR=", "")
  93.                 Goto LABEL002
  94.             Endif
  95.             If (InStr(Upper(STRING002), "BORDERLEFTCOLOR=") <> 0) Then
  96.                 STRING007 = ReplaceStr(Upper(STRING002), "BORDERLEFTCOLOR=", "")
  97.                 Goto LABEL002
  98.             Endif
  99.             If (InStr(Upper(STRING002), "BORDERRIGHTCOLOR=") <> 0) Then
  100.                 STRING008 = ReplaceStr(Upper(STRING002), "BORDERRIGHTCOLOR=", "")
  101.                 Goto LABEL002
  102.             Endif
  103.             If (InStr(Upper(STRING002), "HEADERCOLOR=") <> 0) Then
  104.                 STRING009 = ReplaceStr(Upper(STRING002), "HEADERCOLOR=", "")
  105.                 Goto LABEL002
  106.             Endif
  107.             If (InStr(Upper(STRING002), "NUMBERCOLOR=") <> 0) Then
  108.                 STRING010 = ReplaceStr(Upper(STRING002), "NUMBERCOLOR=", "")
  109.                 Goto LABEL002
  110.             Endif
  111.             If (InStr(Upper(STRING002), "BLANKCOLOR=") <> 0) Then
  112.                 STRING011 = ReplaceStr(Upper(STRING002), "BLANKCOLOR=", "")
  113.                 Goto LABEL002
  114.             Endif
  115.             If (InStr(Upper(STRING002), "NAMECOLOR=") <> 0) Then
  116.                 STRING012 = ReplaceStr(Upper(STRING002), "NAMECOLOR=", "")
  117.                 Goto LABEL002
  118.             Endif
  119.             If (InStr(Upper(STRING002), "ALLNETS=") <> 0) Then
  120.                 STRING016 = ReplaceStr(Upper(STRING002), "ALLNETS=", "")
  121.                 Goto LABEL002
  122.             Endif
  123.             If (InStr(Upper(STRING002), "SYSOPNAME=") <> 0) Then
  124.                 STRING017 = ReplaceStr(Upper(STRING002), "SYSOPNAME=", "")
  125.                 Goto LABEL002
  126.             Endif
  127.             If (InStr(Upper(STRING002), "SERIALNUM=") <> 0) Then
  128.                 STRING018 = ReplaceStr(Upper(STRING002), "SERIALNUM=", "")
  129.                 Goto LABEL002
  130.             Endif
  131.             If (InStr(Upper(STRING002), "REQLEVEL") <> 0) Then
  132.                 If (InStr(STRING002, "=") == 0) Goto LABEL003
  133.                 STRING005 = Right(STRING002, Len(STRING002) - 8)
  134.                 STRING005 = Left(STRING005, InStr(STRING005, "=") - 1)
  135.                 TINTEGER004(S2I(STRING005, 10)) = S2I(ReplaceStr(Upper(STRING002), "REQLEVEL" + STRING005 + "=", ""), 10)
  136.             Endif
  137.         Endif
  138.         :LABEL002
  139.         Goto LABEL001
  140.         :LABEL003
  141.         FClose 1
  142.         DWORD001 = 988
  143.         INTEGER003 = 0
  144.         While (Len(STRING017) <> INTEGER003) Do
  145.             Inc INTEGER003
  146.             DWORD001 = DWORD001 + Asc(Upper(Mid(STRING017, INTEGER003, 1))) + INTEGER003
  147.         EndWhile
  148.         DWORD001 = DWORD001 * 988
  149.         If (String(DWORD001) == STRING018) Then
  150.             BOOLEAN002 = 1
  151.             If (Exist(PPEPath() + "DCM_PPE.INF")) BOOLEAN002 = 0
  152.             If (S2I(STRING018, 10) == 1720108) BOOLEAN002 = 0
  153.         Endif
  154.         :LABEL004
  155.         INTEGER001 = 0
  156.         FOpen 1, PPEPath() + "NETS.DCM", 0, 0
  157.         FDefIn 1
  158.         :LABEL005
  159.         If (Ferr(1)) Goto LABEL006
  160.         FDGet STRING002
  161.         Inc INTEGER001
  162.         Goto LABEL005
  163.         :LABEL006
  164.         FClose 1
  165.         Dec INTEGER001
  166.         If (INTEGER001 < 2) Then
  167.             STRING003 = "CONFS1.DCM"
  168.             INTEGER005 = 1
  169.             BOOLEAN003 = 1
  170.         Else
  171.             If (BOOLEAN001) Then
  172.                 Color 1
  173.                 If (GrafMode() == "R") Print "!|*"
  174.                 Cls
  175.             Endif
  176.             PrintLn "@PON@"
  177.             PrintLn STRING007 + "┌─────────────────────────────────────────────────────────────────────────────" + STRING008 + "┐@X01"
  178.             PrintLn STRING007 + "│" + STRING011 + " " + STRING008 + "┌──" + STRING007 + "┐" + STRING011 + " " + STRING008 + "┌────────────────────────────────────────────────────────────" + STRING007 + "┐" + STRING011 + " " + STRING008 + "┌─────" + STRING007 + "┐" + STRING011 + " " + STRING008 + "│@X01"
  179.             PrintLn STRING007 + "│" + STRING011 + " " + STRING008 + "│" + STRING006 + "##" + STRING007 + "│" + STRING011 + " " + STRING008 + "│" + STRING006 + "                    NETWORK DESCRIPTION                     " + STRING007 + "│" + STRING011 + " " + STRING008 + "│" + STRING006 + "CONFS" + STRING007 + "│" + STRING011 + " " + STRING008 + "│@X01"
  180.             PrintLn STRING007 + "│" + STRING011 + " " + STRING008 + "└" + STRING007 + "──┘" + STRING011 + " " + STRING008 + "└" + STRING007 + "────────────────────────────────────────────────────────────┘" + STRING011 + " " + STRING008 + "└" + STRING007 + "─────┘" + STRING011 + " " + STRING008 + "│@X01"
  181.             PrintLn STRING007 + "│" + STRING011 + " " + STRING008 + "┌──" + STRING007 + "┐" + STRING011 + " " + STRING008 + "┌────────────────────────────────────────────────────────────" + STRING007 + "┐" + STRING011 + " " + STRING008 + "┌─────" + STRING007 + "┐" + STRING011 + " " + STRING008 + "│@X01"
  182.             INTEGER002 = 1
  183.             STRING002 = ReadLine(PPEPath() + "NETS.DCM", INTEGER002)
  184.             While (STRING002 <> "") Do
  185.                 PrintLn STRING002
  186.                 Inc INTEGER002
  187.                 STRING002 = ReadLine(PPEPath() + "NETS.DCM", INTEGER002)
  188.             EndWhile
  189.             PrintLn STRING007 + "│" + STRING011 + " " + STRING008 + "└" + STRING007 + "──┘" + STRING011 + " " + STRING008 + "└" + STRING007 + "────────────────────────────────────────────────────────────┘" + STRING011 + " " + STRING008 + "└" + STRING007 + "─────┘" + STRING011 + " " + STRING008 + "│@X01"
  190.             PrintLn STRING007 + "└" + STRING008 + "─────────────────────────────────────────────────────────────────────────────┘@X01"
  191.             STRING004 = ""
  192.             InputStr STRING014, STRING004, CurColor(), 5, Mask_AlNum(), 8 + 32
  193.             Select Case (Left(STRING004, 1))
  194.                 Case "S"
  195.                     Goto LABEL010
  196.                 Case "H"
  197.                     Gosub LABEL014
  198.                     Goto LABEL004
  199.                 Case "F"
  200.                     Gosub LABEL011
  201.                     Goto LABEL004
  202.                 Case "A"
  203.                     STRING003 = "CONFSALL.DCM"
  204.                     INTEGER005 = 999
  205.                 Case 0, INTEGER001
  206.                     If (TINTEGER004(S2I(STRING004, 10)) > CurSec()) Then
  207.                         If (Exist(PPEPath() + "DCMSB")) Then
  208.                             If (BOOLEAN001) Then
  209.                                 Color 1
  210.                                 If (GrafMode() == "R") Print "!|*"
  211.                                 Cls
  212.                                 Goto LABEL007
  213.                             Endif
  214.                             PrintLn 
  215.                             :LABEL007
  216.                             DispFile PPEPath() + "DCMSB", 4 + 2 + 1
  217.                             Wait
  218.                             Goto LABEL008
  219.                         Endif
  220.                         PrintLn 
  221.                         PrintLn "@X00@X0CInsufficient security to view selected network...@XFF"
  222.                         PrintLn 
  223.                         Wait
  224.                         :LABEL008
  225.                         Goto LABEL004
  226.                     Endif
  227.                     STRING003 = "CONFS" + String(S2I(STRING004, 10)) + ".DCM"
  228.                     INTEGER005 = S2I(STRING004, 10)
  229.                 Case Else
  230.                     Goto LABEL016
  231.                 Endif
  232.         End Select
  233.         INTEGER002 = 1
  234.         :LABEL009
  235.         Gosub LABEL015
  236.         PrintLn STRING007 + "┌─────────────────────────────────────────────────────────────────────────────" + STRING008 + "┐@X01"
  237.         For INTEGER003 = INTEGER002 To INTEGER002 + 14
  238.             STRING002 = ReadLine(PPEPath() + STRING003, INTEGER003)
  239.             If (STRING002 <> "") Then
  240.                 PrintLn STRING002
  241.                 Continue
  242.             Endif
  243.             INTEGER003 = INTEGER002 + 14
  244.         Next
  245.         PrintLn STRING007 + "└" + STRING008 + "─────────────────────────────────────────────────────────────────────────────┘@X01@PON@"
  246.         PrintLn 
  247.         STRING004 = ""
  248.         InputStr STRING015, STRING004, CurColor(), 6, Mask_AlNum(), 8 + 32
  249.         Select Case (Left(STRING004, 1))
  250.             Case "N", "Q"
  251.                 Goto LABEL016
  252.             Case "F"
  253.                 Gosub LABEL011
  254.                 Goto LABEL009
  255.             Case "H"
  256.                 Gosub LABEL014
  257.                 Goto LABEL009
  258.             Case "S"
  259.                 Goto LABEL010
  260.             Case "P"
  261.                 Gosub LABEL012
  262.                 Goto LABEL009
  263.             Case 100772
  264.                 Gosub LABEL013
  265.                 Goto LABEL009
  266.             Case 0, ""
  267.                 Join S2I(STRING004, 10)
  268.                 Goto LABEL016
  269.         End Select
  270.         INTEGER002 = INTEGER002 + 15
  271.         STRING002 = ReadLine(PPEPath() + STRING003, INTEGER003)
  272.         If (STRING002 <> "") Goto LABEL009
  273.         If (BOOLEAN003) Goto LABEL016
  274.         Goto LABEL004
  275.         :LABEL010
  276.         Join "S"
  277.         Goto LABEL016
  278.         :LABEL011
  279.         If (BOOLEAN001) Then
  280.             Color 1
  281.             If (GrafMode() == "R") Print "!|*"
  282.             Cls
  283.         Else
  284.             PrintLn 
  285.         Endif
  286.         DispFile PPEPath() + "DCMFLG", 4 + 2 + 1
  287.         Flag PPEPath() + "CONFSTXT.DCM"
  288.         Wait
  289.         Return
  290.         :LABEL012
  291.         If (BOOLEAN001) Then
  292.             Color 1
  293.             If (GrafMode() == "R") Print "!|*"
  294.             Cls
  295.         Else
  296.             PrintLn 
  297.         Endif
  298.         PrintLn 
  299.         PrintLn 
  300.         PrintLn "@X0CIF THIS COPY OF DCM IS REGISTERED TO A SYSOP *OTHER THAN* THE OPERATOR OF"
  301.         PrintLn "THIS BBS, PLEASE CONTACT 4D SOFTWARE AT 312-284-2261 VOICE (COLLECT) SO THE"
  302.         PrintLn "PROPER ACTIONS MAY BE TAKEN TO PREVENT SHAREWARE PIRACY.  THANK YOU!"
  303.         PrintLn 
  304.         PrintLn "@X0FDCM REGISTERED TO: " + STRING017
  305.         PrintLn 
  306.         PrintLn "@X0EDCM can be found on The Fourth Dimension BBS at 312-284-7133."
  307.         PrintLn 
  308.         Wait
  309.         Return
  310.         :LABEL013
  311.         STRING004 = ""
  312.         InputStr "", STRING004, CurColor(), 8, Mask_AlNum(), 1
  313.         If (S2I(STRING004, 10) <> 29736618) Return
  314.         FCreate 1, PPEPath() + "DCM_PPE.INF", 1, 0
  315.         FPutLn 1, "PCBOARD.SYS"
  316.         FClose 1
  317.         BOOLEAN002 = 0
  318.         Return
  319.         :LABEL014
  320.         If (BOOLEAN001) Then
  321.             Color 1
  322.             If (GrafMode() == "R") Print "!|*"
  323.             Cls
  324.         Else
  325.             PrintLn 
  326.         Endif
  327.         DispFile PPEPath() + "DCMHLP", 4 + 2 + 1
  328.         Wait
  329.         Return
  330.         :LABEL015
  331.         If (BOOLEAN001) Then
  332.             Color 1
  333.             If (GrafMode() == "R") Print "!|*"
  334.             Cls
  335.         Else
  336.             PrintLn 
  337.         Endif
  338.         PrintLn STRING007 + "@POFF@┌─────────────────────────────────────────────────────────────────────────────" + STRING008 + "┐@X01"
  339.         Print STRING007 + "│"
  340.         If (BOOLEAN002) Then
  341.             If (INTEGER005 <> 999) Then
  342.                 STRING019 = RTrim(Mid(ReadLine(PPEPath() + "NETS.DCM", INTEGER005), 41, 60), "·")
  343.             Else
  344.                 STRING019 = STRING016
  345.             Endif
  346.             STRING019 = STRING006 + "@POS:" + String((80 - Len(STRING019)) / 2) + "@" + STRING019
  347.             Print STRING019
  348.         Else
  349.             Print STRING019
  350.         Endif
  351.         PrintLn "@POS:79@" + STRING008 + "│@X01"
  352.         PrintLn STRING007 + "└" + STRING008 + "─────────────────────────────────────────────────────────────────────────────┘@X01"
  353.         PrintLn 
  354.         Return
  355.     Endif
  356.     :LABEL016
  357.  
  358. ;------------------------------------------------------------------------------
  359. ;
  360. ; Usage report (before postprocessing)
  361. ;
  362. ; ■ Statements used :
  363. ;
  364. ;    6       Cls
  365. ;    5       Wait
  366. ;    6       Color 
  367. ;    103     Goto 
  368. ;    66      Let 
  369. ;    9       Print 
  370. ;    35      PrintLn 
  371. ;    58      If 
  372. ;    3       DispFile 
  373. ;    1       FCreate 
  374. ;    2       FOpen 
  375. ;    3       FClose 
  376. ;    1       FPutLn 
  377. ;    3       InputStr 
  378. ;    7       Gosub 
  379. ;    6       Return
  380. ;    3       Inc 
  381. ;    1       Dec 
  382. ;    1       GetToken 
  383. ;    3       Join 
  384. ;    2       FDefIn 
  385. ;    2       FDGet 
  386. ;    1       Flag 
  387. ;
  388. ;
  389. ; ■ Functions used :
  390. ;
  391. ;    1       *
  392. ;    2       /
  393. ;    214     +
  394. ;    4       -
  395. ;    20      ==
  396. ;    23      <>
  397. ;    2       <
  398. ;    2       <=
  399. ;    2       >
  400. ;    3       >=
  401. ;    46      !
  402. ;    4       &&
  403. ;    2       ||
  404. ;    4       Len(
  405. ;    28      Upper()
  406. ;    2       Mid()
  407. ;    12      Left()
  408. ;    1       Right()
  409. ;    2       Ferr()
  410. ;    24      Chr()
  411. ;    1       Asc()
  412. ;    16      InStr()
  413. ;    1       RTrim()
  414. ;    4       String()
  415. ;    3       Mask_AlNum()
  416. ;    14      PPEPath()
  417. ;    5       ReadLine()
  418. ;    1       CurSec()
  419. ;    2       GetToken()
  420. ;    2       Exist()
  421. ;    12      S2I()
  422. ;    6       GrafMode()
  423. ;    3       CurColor()
  424. ;    13      ReplaceStr()
  425. ;
  426. ;------------------------------------------------------------------------------
  427. ;
  428. ; Analysis flags : f
  429. ;
  430. ; f - Flag files for download ■ 3
  431. ;     This may be normal if a PPE needs to send some files, but since
  432. ;     this statement allows flagging of any file on the hard disk, you
  433. ;     have to be carefull. Check!
  434. ;     ■ Search for : FLAG
  435. ;
  436. ;------------------------------------------------------------------------------
  437. ;
  438. ; Postprocessing report
  439. ;
  440. ;    1       For/Next
  441. ;    2       While/EndWhile
  442. ;    29      If/Then or If/Then/Else
  443. ;    2       Select Case
  444. ;
  445. ;------------------------------------------------------------------------------
  446. ;                 AEGiS Corp - Break the routines, code against the machines!
  447. ;------------------------------------------------------------------------------
  448.