home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PCBOARD / DCMV24.ZIP / DCM.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-02-07  |  8KB  |  365 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  INTEGER004
  27.     String   STRING001
  28.     String   STRING002
  29.     String   STRING003
  30.     String   STRING004
  31.     String   STRING005
  32.     String   STRING006
  33.     String   STRING007
  34.     String   STRING008
  35.     String   STRING009
  36.     String   STRING010
  37.     String   STRING011
  38.     String   STRING012
  39.     String   STRING013
  40.     String   STRING014
  41.     String   STRING015
  42.     String   STRING016
  43.     String   STRING017
  44.     String   STRING018
  45.  
  46. ;------------------------------------------------------------------------------
  47.  
  48.     GetToken STRING001
  49.     If (STRING001 <> "") Then
  50.         Join STRING001 + " " + GetToken() + " " + GetToken()
  51.     Else
  52.         BOOLEAN001 = 1
  53.         BOOLEAN002 = 0
  54.         BOOLEAN003 = 0
  55.         STRING005 = "@X7E"
  56.         STRING006 = "@X7F"
  57.         STRING007 = "@X70"
  58.         STRING008 = "@X7B"
  59.         STRING009 = "@X74"
  60.         STRING010 = "@X77"
  61.         STRING011 = "@X71"
  62.         STRING012 = Chr(64) + Chr(88) + Chr(70) + Chr(69)
  63.         STRING013 = "@X0E(@X0C@TIMELEFT@@X0E min left) (@X0C#@X0E), (@X0CA@X0E)ll, (@X0CF@X0E)lag, (@X0CH@X0E)elp, (enter=quit)"
  64.         STRING014 = "@X0E(@X0C@TIMELEFT@@X0E min left) (@X0C#@X0E), (@X0CF@X0E)lag, (@X0CS@X0E)earch, (@X0CH@X0E)elp, More"
  65.         STRING015 = "Listing ALL Conferences Together"
  66.         STRING018 = 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)
  67.         STRING018 = STRING018 + "     " + STRING018 + "     " + STRING018
  68.         STRING018 = STRING012 + "@POS:" + String((80 - Len(STRING018)) / 2) + "@" + STRING018
  69.         FOpen 1, PPEPath() + "DCM.CFG", 0, 0
  70.         FDefIn 1
  71.         :LABEL001
  72.         If (Ferr(1)) Goto LABEL003
  73.         FDGet STRING002
  74.         If (Left(STRING002, 1) <> ";") Then
  75.             If (InStr(Upper(STRING002), "NOCLEAR") <> 0) Then
  76.                 BOOLEAN001 = 0
  77.                 Goto LABEL002
  78.             Endif
  79.             If (InStr(Upper(STRING002), "NETWORKPROMPT=") <> 0) Then
  80.                 STRING013 = ReplaceStr(Upper(STRING002), "NETWORKPROMPT=", "")
  81.                 Goto LABEL002
  82.             Endif
  83.             If (InStr(Upper(STRING002), "CONFERENCEPROMPT=") <> 0) Then
  84.                 STRING014 = ReplaceStr(Upper(STRING002), "CONFERENCEPROMPT=", "")
  85.                 Goto LABEL002
  86.             Endif
  87.             If (InStr(Upper(STRING002), "TEXTCOLOR=") <> 0) Then
  88.                 STRING005 = ReplaceStr(Upper(STRING002), "TEXTCOLOR=", "")
  89.                 Goto LABEL002
  90.             Endif
  91.             If (InStr(Upper(STRING002), "BORDERLEFTCOLOR=") <> 0) Then
  92.                 STRING006 = ReplaceStr(Upper(STRING002), "BORDERLEFTCOLOR=", "")
  93.                 Goto LABEL002
  94.             Endif
  95.             If (InStr(Upper(STRING002), "BORDERRIGHTCOLOR=") <> 0) Then
  96.                 STRING007 = ReplaceStr(Upper(STRING002), "BORDERRIGHTCOLOR=", "")
  97.                 Goto LABEL002
  98.             Endif
  99.             If (InStr(Upper(STRING002), "HEADERCOLOR=") <> 0) Then
  100.                 STRING008 = ReplaceStr(Upper(STRING002), "HEADERCOLOR=", "")
  101.                 Goto LABEL002
  102.             Endif
  103.             If (InStr(Upper(STRING002), "NUMBERCOLOR=") <> 0) Then
  104.                 STRING009 = ReplaceStr(Upper(STRING002), "NUMBERCOLOR=", "")
  105.                 Goto LABEL002
  106.             Endif
  107.             If (InStr(Upper(STRING002), "BLANKCOLOR=") <> 0) Then
  108.                 STRING010 = ReplaceStr(Upper(STRING002), "BLANKCOLOR=", "")
  109.                 Goto LABEL002
  110.             Endif
  111.             If (InStr(Upper(STRING002), "NAMECOLOR=") <> 0) Then
  112.                 STRING011 = ReplaceStr(Upper(STRING002), "NAMECOLOR=", "")
  113.                 Goto LABEL002
  114.             Endif
  115.             If (InStr(Upper(STRING002), "ALLNETS=") <> 0) Then
  116.                 STRING015 = ReplaceStr(Upper(STRING002), "ALLNETS=", "")
  117.                 Goto LABEL002
  118.             Endif
  119.             If (InStr(Upper(STRING002), "SYSOPNAME=") <> 0) Then
  120.                 STRING016 = ReplaceStr(Upper(STRING002), "SYSOPNAME=", "")
  121.                 Goto LABEL002
  122.             Endif
  123.             If (InStr(Upper(STRING002), "SERIALNUM=") <> 0) Then
  124.                 STRING017 = ReplaceStr(Upper(STRING002), "SERIALNUM=", "")
  125.             Endif
  126.         Endif
  127.         :LABEL002
  128.         Goto LABEL001
  129.         :LABEL003
  130.         FClose 1
  131.         DWORD001 = 988
  132.         INTEGER003 = 0
  133.         While (Len(STRING016) <> INTEGER003) Do
  134.             Inc INTEGER003
  135.             DWORD001 = DWORD001 + Asc(Upper(Mid(STRING016, INTEGER003, 1))) + INTEGER003
  136.         EndWhile
  137.         DWORD001 = DWORD001 * 988
  138.         If (String(DWORD001) == STRING017) BOOLEAN002 = 1
  139.         :LABEL004
  140.         INTEGER001 = 0
  141.         FOpen 1, PPEPath() + "NETS.DCM", 0, 0
  142.         FDefIn 1
  143.         :LABEL005
  144.         If (Ferr(1)) Goto LABEL006
  145.         FDGet STRING002
  146.         Inc INTEGER001
  147.         Goto LABEL005
  148.         :LABEL006
  149.         FClose 1
  150.         Dec INTEGER001
  151.         If (INTEGER001 < 2) Then
  152.             STRING003 = "CONFS1.DCM"
  153.             INTEGER004 = 1
  154.             BOOLEAN003 = 1
  155.         Else
  156.             If (BOOLEAN001) Then
  157.                 Color 1
  158.                 Cls
  159.             Endif
  160.             PrintLn "@POFF@"
  161.             PrintLn STRING006 + "┌─────────────────────────────────────────────────────────────────────────────" + STRING007 + "┐@X01"
  162.             PrintLn STRING006 + "│" + STRING010 + " " + STRING007 + "┌──" + STRING006 + "┐" + STRING010 + " " + STRING007 + "┌────────────────────────────────────────────────────────────" + STRING006 + "┐" + STRING010 + " " + STRING007 + "┌─────" + STRING006 + "┐" + STRING010 + " " + STRING007 + "│@X01"
  163.             PrintLn STRING006 + "│" + STRING010 + " " + STRING007 + "│" + STRING005 + "##" + STRING006 + "│" + STRING010 + " " + STRING007 + "│" + STRING005 + "                    NETWORK DESCRIPTION                     " + STRING006 + "│" + STRING010 + " " + STRING007 + "│" + STRING005 + "CONFS" + STRING006 + "│" + STRING010 + " " + STRING007 + "│@X01"
  164.             PrintLn STRING006 + "│" + STRING010 + " " + STRING007 + "└" + STRING006 + "──┘" + STRING010 + " " + STRING007 + "└" + STRING006 + "────────────────────────────────────────────────────────────┘" + STRING010 + " " + STRING007 + "└" + STRING006 + "─────┘" + STRING010 + " " + STRING007 + "│@X01"
  165.             PrintLn STRING006 + "│" + STRING010 + " " + STRING007 + "┌──" + STRING006 + "┐" + STRING010 + " " + STRING007 + "┌────────────────────────────────────────────────────────────" + STRING006 + "┐" + STRING010 + " " + STRING007 + "┌─────" + STRING006 + "┐" + STRING010 + " " + STRING007 + "│@X01"
  166.             INTEGER002 = 1
  167.             STRING002 = ReadLine(PPEPath() + "NETS.DCM", INTEGER002)
  168.             While (STRING002 <> "") Do
  169.                 PrintLn STRING002
  170.                 Inc INTEGER002
  171.                 STRING002 = ReadLine(PPEPath() + "NETS.DCM", INTEGER002)
  172.             EndWhile
  173.             PrintLn STRING006 + "│" + STRING010 + " " + STRING007 + "└" + STRING006 + "──┘" + STRING010 + " " + STRING007 + "└" + STRING006 + "────────────────────────────────────────────────────────────┘" + STRING010 + " " + STRING007 + "└" + STRING006 + "─────┘" + STRING010 + " " + STRING007 + "│@X01"
  174.             PrintLn STRING006 + "└" + STRING007 + "─────────────────────────────────────────────────────────────────────────────┘@X01"
  175.             PrintLn "@PON@"
  176.             STRING004 = ""
  177.             InputStr STRING013, STRING004, CurColor(), 5, Mask_AlNum(), 8 + 32
  178.             Select Case (Left(STRING004, 1))
  179.                 Case "H"
  180.                     Gosub LABEL010
  181.                     Goto LABEL004
  182.                 Case "F"
  183.                     Gosub LABEL009
  184.                     Goto LABEL004
  185.                 Case "A"
  186.                     STRING003 = "CONFSALL.DCM"
  187.                     INTEGER004 = 999
  188.                 Case 0, INTEGER001
  189.                     STRING003 = "CONFS" + String(S2I(STRING004, 10)) + ".DCM"
  190.                     INTEGER004 = S2I(STRING004, 10)
  191.                 Case Else
  192.                     Goto LABEL012
  193.                 Endif
  194.         End Select
  195.         INTEGER002 = 1
  196.         :LABEL007
  197.         Gosub LABEL011
  198.         PrintLn STRING006 + "┌─────────────────────────────────────────────────────────────────────────────" + STRING007 + "┐@X01"
  199.         For INTEGER003 = INTEGER002 To INTEGER002 + 14
  200.             STRING002 = ReadLine(PPEPath() + STRING003, INTEGER003)
  201.             If (STRING002 <> "") Then
  202.                 PrintLn STRING002
  203.                 Continue
  204.             Endif
  205.             INTEGER003 = INTEGER002 + 14
  206.         Next
  207.         PrintLn STRING006 + "└" + STRING007 + "─────────────────────────────────────────────────────────────────────────────┘@X01@PON@"
  208.         PrintLn 
  209.         STRING004 = ""
  210.         InputStr STRING014, STRING004, CurColor(), 5, Mask_AlNum(), 8 + 32
  211.         Select Case (Left(STRING004, 1))
  212.             Case "N", "Q"
  213.                 Goto LABEL012
  214.             Case "F"
  215.                 Gosub LABEL009
  216.                 Goto LABEL007
  217.             Case "H"
  218.                 Gosub LABEL010
  219.                 Goto LABEL007
  220.             Case "S"
  221.                 Goto LABEL008
  222.             Case 0, ""
  223.                 Join S2I(STRING004, 10)
  224.                 Goto LABEL012
  225.         End Select
  226.         INTEGER002 = INTEGER002 + 15
  227.         If (STRING002 <> "") Goto LABEL007
  228.         If (BOOLEAN003) Goto LABEL012
  229.         Goto LABEL004
  230.         :LABEL008
  231.         Join "S"
  232.         Goto LABEL012
  233.         :LABEL009
  234.         If (BOOLEAN001) Then
  235.             Color 1
  236.             Cls
  237.         Else
  238.             PrintLn 
  239.         Endif
  240.         DispFile PPEPath() + "DCMFLG", 4 + 2 + 1
  241.         Flag PPEPath() + "CONFSTXT.DCM"
  242.         Wait
  243.         Return
  244.         :LABEL010
  245.         If (BOOLEAN001) Then
  246.             Color 1
  247.             Cls
  248.         Else
  249.             PrintLn 
  250.         Endif
  251.         DispFile PPEPath() + "DCMHLP", 4 + 2 + 1
  252.         Wait
  253.         Return
  254.         :LABEL011
  255.         If (BOOLEAN001) Then
  256.             Color 1
  257.             Cls
  258.         Else
  259.             PrintLn 
  260.         Endif
  261.         PrintLn STRING006 + "@POFF@┌─────────────────────────────────────────────────────────────────────────────" + STRING007 + "┐@X01"
  262.         Print STRING006 + "│"
  263.         If (BOOLEAN002) Then
  264.             If (INTEGER004 <> 999) Then
  265.                 STRING018 = RTrim(Mid(ReadLine(PPEPath() + "NETS.DCM", INTEGER004), 41, 60), "·")
  266.             Else
  267.                 STRING018 = STRING015
  268.             Endif
  269.             STRING018 = STRING005 + "@POS:" + String((80 - Len(STRING018)) / 2) + "@" + STRING018
  270.             Print STRING018
  271.         Else
  272.             Print STRING018
  273.         Endif
  274.         PrintLn "@POS:79@" + STRING007 + "│@X01"
  275.         PrintLn STRING006 + "└" + STRING007 + "─────────────────────────────────────────────────────────────────────────────┘@X01"
  276.         PrintLn 
  277.         Return
  278.     Endif
  279.     :LABEL012
  280.  
  281. ;------------------------------------------------------------------------------
  282. ;
  283. ; Usage report (before postprocessing)
  284. ;
  285. ; ■ Statements used :
  286. ;
  287. ;    4       Cls
  288. ;    2       Wait
  289. ;    4       Color 
  290. ;    82      Goto 
  291. ;    57      Let 
  292. ;    3       Print 
  293. ;    21      PrintLn 
  294. ;    40      If 
  295. ;    2       DispFile 
  296. ;    2       FOpen 
  297. ;    2       FClose 
  298. ;    2       InputStr 
  299. ;    5       Gosub 
  300. ;    3       Return
  301. ;    3       Inc 
  302. ;    1       Dec 
  303. ;    1       GetToken 
  304. ;    3       Join 
  305. ;    2       FDefIn 
  306. ;    2       FDGet 
  307. ;    1       Flag 
  308. ;
  309. ;
  310. ; ■ Functions used :
  311. ;
  312. ;    1       *
  313. ;    2       /
  314. ;    204     +
  315. ;    2       -
  316. ;    9       ==
  317. ;    21      <>
  318. ;    2       <
  319. ;    2       <=
  320. ;    1       >
  321. ;    3       >=
  322. ;    37      !
  323. ;    4       &&
  324. ;    2       ||
  325. ;    3       Len(
  326. ;    26      Upper()
  327. ;    2       Mid()
  328. ;    9       Left()
  329. ;    2       Ferr()
  330. ;    24      Chr()
  331. ;    1       Asc()
  332. ;    13      InStr()
  333. ;    1       RTrim()
  334. ;    4       String()
  335. ;    2       Mask_AlNum()
  336. ;    9       PPEPath()
  337. ;    4       ReadLine()
  338. ;    2       GetToken()
  339. ;    6       S2I()
  340. ;    2       CurColor()
  341. ;    12      ReplaceStr()
  342. ;
  343. ;------------------------------------------------------------------------------
  344. ;
  345. ; Analysis flags : f
  346. ;
  347. ; f - Flag files for download ■ 3
  348. ;     This may be normal if a PPE needs to send some files, but since
  349. ;     this statement allows flagging of any file on the hard disk, you
  350. ;     have to be carefull. Check!
  351. ;     ■ Search for : FLAG
  352. ;
  353. ;------------------------------------------------------------------------------
  354. ;
  355. ; Postprocessing report
  356. ;
  357. ;    1       For/Next
  358. ;    2       While/EndWhile
  359. ;    23      If/Then or If/Then/Else
  360. ;    2       Select Case
  361. ;
  362. ;------------------------------------------------------------------------------
  363. ;                 AEGiS Corp - Break the routines, code against the machines!
  364. ;------------------------------------------------------------------------------
  365.