home *** CD-ROM | disk | FTP | other *** search
/ The Pier Shareware 6 / The_Pier_Shareware_Number_6_(The_Pier_Exchange)_(1995).iso / 005 / autop2_0.zip / AUTOPLUS.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-11-18  |  9KB  |  619 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 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     Integer  INTEGER005
  24.     String   STRING001
  25.     String   STRING002
  26.     String   STRING003
  27.     String   STRING004
  28.     String   STRING005
  29.     String   TSTRING006(5)
  30.     String   TSTRING007(2)
  31.     String   TSTRING008(4)
  32.     String   TSTRING009(3)
  33.     String   STRING010
  34.     String   STRING011
  35.     String   STRING012
  36.     String   STRING013
  37.     String   STRING014
  38.     String   TSTRING015(5)
  39.     String   STRING016
  40.     String   STRING017
  41.     String   STRING018
  42.     String   STRING019
  43.     String   STRING020
  44.     String   STRING021
  45.     String   STRING022
  46.     String   TSTRING023(2)
  47.     String   TSTRING024(5)
  48.     String   STRING025
  49.     String   STRING026
  50.     String   STRING049
  51.     Declare  Function FUNCTION001() String
  52.     Declare  Procedure PROC001()
  53.     Declare  Procedure PROC002()
  54.     Declare  Procedure PROC003()
  55.     Declare  Procedure PROC004()
  56.  
  57. ;------------------------------------------------------------------------------
  58.  
  59.     STRING001 = PPEPath() + "AUTOM.PLS"
  60.     STRING003 = U_Name()
  61.     Tokenize STRING003
  62.     GetToken STRING004
  63.     GetToken STRING005
  64.     :LABEL001
  65.     PROC001()
  66.     PROC002()
  67.     GetUser
  68.     While (Upper(STRING002) <> "G") Do
  69.         STRING002 = FUNCTION001()
  70.         If ((STRING002 == "Q") || (STRING002 == "q")) Then
  71.             Goto LABEL002
  72.             Continue
  73.         Endif
  74.         If ((STRING002 == "N") || (STRING002 == "n")) Then
  75.             PROC003()
  76.             Goto LABEL001
  77.             Continue
  78.         Endif
  79.         If ((STRING002 == "R") || (STRING002 == "r")) Then
  80.             PROC004()
  81.             FClose 1
  82.             Goto LABEL001
  83.         Endif
  84.     EndWhile
  85.     Goodbye
  86.     :LABEL002
  87.     End
  88.  
  89. ;------------------------------------------------------------------------------
  90.  
  91.     Procedure PROC004()
  92.  
  93.     String   TSTRING006(5)
  94.     String   TSTRING007(2)
  95.     String   TSTRING008(4)
  96.     String   TSTRING009(3)
  97.     String   STRING010
  98.     String   STRING011
  99.     String   STRING012
  100.     String   STRING013
  101.     String   STRING014
  102.     String   TSTRING015(5)
  103.     String   STRING016
  104.     String   STRING017
  105.     String   STRING018
  106.     String   STRING019
  107.     String   STRING020
  108.     String   STRING021
  109.     String   STRING022
  110.     String   TSTRING023(2)
  111.     Integer  INTEGER001
  112.     Integer  INTEGER002
  113.     Integer  INTEGER003
  114.     Integer  INTEGER004
  115.  
  116.     INTEGER002 = 1
  117.     INTEGER001 = 1
  118.     STRING018 = "UP"
  119.     STRING019 = "DOWN"
  120.     STRING020 = U_Name()
  121.     STRING016 = Date()
  122.     INTEGER004 = 1
  123.     GetUser
  124.     FClose 1
  125.     INTEGER004 = 2
  126.     INTEGER004 = 7777
  127.     FOpen 1, STRING001, 2, 0
  128.     INTEGER004 = 3
  129.     FGet 1, TSTRING009(1)
  130.     FGet 1, TSTRING009(2)
  131.     FGet 1, TSTRING009(3)
  132.     INTEGER004 = 4
  133.     Tokenize TSTRING009(1)
  134.     GetToken TSTRING008(3)
  135.     GetToken TSTRING008(4)
  136.     GetToken STRING011
  137.     GetToken STRING012
  138.     Tokenize TSTRING009(2)
  139.     GetToken TSTRING008(1)
  140.     GetToken STRING010
  141.     GetToken TSTRING008(2)
  142.     If (TSTRING008(2) == "NONE") Then
  143.         Goto LABEL003
  144.     Endif
  145.     GetToken STRING013
  146.     GetToken STRING014
  147.     :LABEL003
  148.     Select Case (STRING010)
  149.         Case "YES"
  150.             INTEGER004 = 5
  151.             FGet 1, TSTRING007(1)
  152.             FGet 1, TSTRING007(2)
  153.             FGet 1, TSTRING006(1)
  154.             FGet 1, TSTRING006(2)
  155.             FGet 1, TSTRING006(3)
  156.             FGet 1, TSTRING006(4)
  157.             FGet 1, TSTRING006(5)
  158.         Case "NO"
  159.             INTEGER004 = 6
  160.             FGet 1, TSTRING006(1)
  161.             FGet 1, TSTRING006(2)
  162.             FGet 1, TSTRING006(3)
  163.             FGet 1, TSTRING006(4)
  164.             FGet 1, TSTRING006(5)
  165.     End Select
  166.     INTEGER004 = 7
  167.     FClose 1
  168.     :LABEL004
  169.     STRING017 = "BLAH"
  170.     Cls
  171.     Select Case (INTEGER002)
  172.         Case 1
  173.             INTEGER003 = 1
  174.         Case 2
  175.             INTEGER003 = 2
  176.     End Select
  177.     PrintLn "@X0AUse The Arrow Keys to Select A Line. Press [@X02ENTER@X0A] To  "
  178.     PrintLn "@X0AConfirm Your Choice. Choose Quote Line #@X09", INTEGER003
  179.     PrintLn ""
  180.     PrintLn "@X0A┌─────────────────────────────────────────────────────┐"
  181.     PrintLn "@X0A│                                                     │"
  182.     PrintLn "@X0A│                                                     │"
  183.     PrintLn "@X0A│                                                     │"
  184.     PrintLn "@X0A│                                                     │"
  185.     PrintLn "@X0A│                                                     │"
  186.     PrintLn "@X0A└─────────────────────────────────────────────────────┘"
  187.     AnsiPos 3, 5
  188.     Print "@X0E" + TSTRING006(1)
  189.     AnsiPos 3, 6
  190.     Print "@X08" + TSTRING006(2)
  191.     AnsiPos 3, 7
  192.     Print "@X08" + TSTRING006(3)
  193.     AnsiPos 3, 8
  194.     Print "@X08" + TSTRING006(4)
  195.     AnsiPos 3, 9
  196.     Print "@X08" + TSTRING006(5)
  197.     AnsiPos 3, 5
  198.     STRING022 = 1
  199.     While (STRING017 <> Chr(13)) Do
  200.         STRING017 = FUNCTION001()
  201.         If (STRING017 == STRING018) Then
  202.             If (STRING022 == 1) Then
  203.                 AnsiPos 3, 5
  204.                 Print "@X08" + TSTRING006(1)
  205.                 AnsiPos 3, 9
  206.                 Print "@X0E" + TSTRING006(5)
  207.                 STRING022 = 5
  208.                 Goto LABEL005
  209.             Endif
  210.             If (STRING022 == 2) Then
  211.                 AnsiPos 3, 6
  212.                 Print "@X08" + TSTRING006(2)
  213.                 AnsiPos 3, 5
  214.                 Print "@X0E" + TSTRING006(1)
  215.                 STRING022 = 1
  216.                 Goto LABEL005
  217.             Endif
  218.             If (STRING022 == 3) Then
  219.                 AnsiPos 3, 7
  220.                 Print "@X08" + TSTRING006(3)
  221.                 AnsiPos 3, 6
  222.                 Print "@X0E" + TSTRING006(2)
  223.                 STRING022 = 2
  224.                 Goto LABEL005
  225.             Endif
  226.             If (STRING022 == 4) Then
  227.                 AnsiPos 3, 8
  228.                 Print "@X08" + TSTRING006(4)
  229.                 AnsiPos 3, 7
  230.                 Print "@X0E" + TSTRING006(3)
  231.                 STRING022 = 3
  232.                 Goto LABEL005
  233.             Endif
  234.             If (STRING022 == 5) Then
  235.                 AnsiPos 3, 9
  236.                 Print "@X08" + TSTRING006(5)
  237.                 AnsiPos 3, 8
  238.                 Print "@X0E" + TSTRING006(4)
  239.                 STRING022 = 4
  240.             Endif
  241.             :LABEL005
  242.             Continue
  243.         Endif
  244.         If (STRING017 == STRING019) Then
  245.             If (STRING022 == 1) Then
  246.                 AnsiPos 3, 5
  247.                 Print "@X08" + TSTRING006(1)
  248.                 AnsiPos 3, 6
  249.                 Print "@X0E" + TSTRING006(2)
  250.                 STRING022 = 2
  251.                 Continue
  252.             Endif
  253.             If (STRING022 == 2) Then
  254.                 AnsiPos 3, 6
  255.                 Print "@X08" + TSTRING006(2)
  256.                 AnsiPos 3, 7
  257.                 Print "@X0E" + TSTRING006(3)
  258.                 STRING022 = 3
  259.                 Continue
  260.             Endif
  261.             If (STRING022 == 3) Then
  262.                 AnsiPos 3, 7
  263.                 Print "@X08" + TSTRING006(3)
  264.                 AnsiPos 3, 8
  265.                 Print "@X0E" + TSTRING006(4)
  266.                 STRING022 = 4
  267.                 Continue
  268.             Endif
  269.             If (STRING022 == 4) Then
  270.                 AnsiPos 3, 8
  271.                 Print "@X08" + TSTRING006(4)
  272.                 AnsiPos 3, 9
  273.                 Print "@X0E" + TSTRING006(5)
  274.                 STRING022 = 5
  275.                 Continue
  276.             Endif
  277.             If (STRING022 == 5) Then
  278.                 AnsiPos 3, 9
  279.                 Print "@X08" + TSTRING006(5)
  280.                 AnsiPos 3, 5
  281.                 Print "@X0E" + TSTRING006(1)
  282.                 STRING022 = 1
  283.             Endif
  284.         Endif
  285.     EndWhile
  286.     INTEGER002 = INTEGER002 + 1
  287.     Select Case (STRING022)
  288.         Case 1
  289.             Select Case (INTEGER002)
  290.                 Case 2
  291.                     TSTRING023(1) = TSTRING006(1)
  292.                     Goto LABEL004
  293.                 Case 3
  294.                     TSTRING023(2) = TSTRING006(1)
  295.                     Goto LABEL006
  296.             End Select
  297.         Case 2
  298.             Select Case (INTEGER002)
  299.                 Case 2
  300.                     TSTRING023(1) = TSTRING006(2)
  301.                     Goto LABEL004
  302.                 Case 3
  303.                     TSTRING023(2) = TSTRING006(2)
  304.                     Goto LABEL006
  305.             End Select
  306.         Case 3
  307.             Select Case (INTEGER002)
  308.                 Case 2
  309.                     TSTRING023(1) = TSTRING006(3)
  310.                     Goto LABEL004
  311.                 Case 3
  312.                     TSTRING023(2) = TSTRING006(3)
  313.                     Goto LABEL006
  314.             End Select
  315.         Case 4
  316.             Select Case (INTEGER002)
  317.                 Case 2
  318.                     TSTRING023(1) = TSTRING006(4)
  319.                     Goto LABEL004
  320.                 Case 3
  321.                     TSTRING023(2) = TSTRING006(4)
  322.                     Goto LABEL006
  323.             End Select
  324.         Case 5
  325.             If (INTEGER002 == 2) Then
  326.                 TSTRING023(1) = TSTRING006(5)
  327.                 Goto LABEL004
  328.                 Goto LABEL006
  329.             Endif
  330.         Case 3
  331.             TSTRING023(2) = TSTRING006(5)
  332.     End Select
  333.     :LABEL006
  334.     Delay 18
  335.     Cls
  336.     PrintLn "@X0AAutoPlus Message Editor [@X02REPLY MODE@X0A]"
  337.     PrintLn "@X0AEnter your Text. 50 Chars. Per Line, 5 Lines. Word-Wrap Enabled"
  338.     PrintLn "@X0A────────────────────────────────────────────────────────────────"
  339.     INTEGER001 = 1
  340.     While (INTEGER001 <> 6) Do
  341.         Print "@X0A", INTEGER001, "@X0A:"
  342.         InputStr "_", TSTRING015(INTEGER001), 10, 50, Mask_Ascii(), 64 + 512
  343.         INTEGER001 = INTEGER001 + 1
  344.     EndWhile
  345.     Newline
  346.     :LABEL007
  347.     InputStr "@X0ASave Automessage(@X09Y@X0A/@X09N@X0A)_", STRING021, 10, 1, Mask_Ascii(), 64
  348.     Select Case (Upper(STRING021))
  349.         Case "Y"
  350.             FClose 1
  351.             FCreate 1, STRING001, 2, 0
  352.             FPut 1, "Automessage By: " + U_Name() + " On: "
  353.             FPutLn 1, Date()
  354.             FPut 1, "Quote: YES Quoted: " + STRING011
  355.             FPutLn 1, " " + STRING012
  356.             FPutLn 1, "──────────────────────────────────────────"
  357.             FPutLn 1, TSTRING023(1)
  358.             FPutLn 1, TSTRING023(2)
  359.             FPutLn 1, TSTRING015(1)
  360.             FPutLn 1, TSTRING015(2)
  361.             FPutLn 1, TSTRING015(3)
  362.             FPutLn 1, TSTRING015(4)
  363.             FPutLn 1, TSTRING015(5)
  364.             FClose 1
  365.             Goto LABEL008
  366.         Case "N"
  367.             Goto LABEL008
  368.         Case Else
  369.             Goto LABEL007
  370.     End Select
  371.     :LABEL008
  372.     FClose 1
  373.  
  374.     EndProc
  375.  
  376.  
  377. ;------------------------------------------------------------------------------
  378.  
  379.     Procedure PROC003()
  380.  
  381.     String   TSTRING024(5)
  382.     String   STRING025
  383.     String   STRING026
  384.     Integer  INTEGER005
  385.  
  386.     TSTRING024(0) = " "
  387.     INTEGER005 = 1
  388.     STRING026 = "n"
  389.     STRING025 = "y"
  390.     GetUser
  391.     :LABEL009
  392.     Cls
  393.     PrintLn "@X0AAutomessage Editor. @X095@X0A Lines, @X0950@X0A Chars per line."
  394.     PrintLn "─────────────────────────────────────────────────────"
  395.     While (INTEGER005 <> "6") Do
  396.         Print "@X0A", INTEGER005, ":"
  397.         InputStr "_", TSTRING024(INTEGER005), 10, 50, Mask_Ascii(), 64 + 512
  398.         INTEGER005 = INTEGER005 + 1
  399.     EndWhile
  400.     Newline
  401.     InputStr "@X0AEdit Automessage(@X09Y@X0A/@X09N@X0A)_", STRING026, 10, 1, "yYnN", 64 + 8
  402.     If (STRING026 == "Y") Then
  403.         INTEGER005 = 1
  404.         Goto LABEL009
  405.     Endif
  406.     Newline
  407.     InputStr "@X0ASave Automessage(@X09Y@X0A/@X09N@X0A)_", STRING025, 10, 1, "yYnN", 64 + 8
  408.     Select Case (STRING025)
  409.         Case "Y"
  410.             Goto LABEL010
  411.         Case "N"
  412.             Goto LABEL011
  413.     End Select
  414.     :LABEL010
  415.     FCreate 1, STRING001, 2, 0
  416.     FPut 1, "Automessage By: " + U_Name() + " On: "
  417.     FPutLn 1, Date()
  418.     FPutLn 1, "Quote: NO Quoted: NONE"
  419.     FPutLn 1, "───────────────────────────────────────────"
  420.     FPutLn 1, TSTRING024(1)
  421.     FPutLn 1, TSTRING024(2)
  422.     FPutLn 1, TSTRING024(3)
  423.     FPutLn 1, TSTRING024(4)
  424.     FPutLn 1, TSTRING024(5)
  425.     FClose 1
  426.     :LABEL011
  427.  
  428.     EndProc
  429.  
  430.  
  431. ;------------------------------------------------------------------------------
  432.  
  433.     Procedure PROC002()
  434.  
  435.     AnsiPos 1, 13
  436.     PrintLn "@X1F┌────────────────────────────────────────────@X10┐@X0F"
  437.     AnsiPos 1, 14
  438.     PrintLn "@X1F│ (@X1E@TIMELEFT@ @X1Fmins.) (@X1EN@X1F)ew (@X1ER@X1F)eply (@X1EQ@X1F)uit (@X1EG@X1F)oodbye @X10│@X0F"
  439.     AnsiPos 1, 15
  440.     PrintLn "@X1F└@X10────────────────────────────────────────────┘@X0F"
  441.  
  442.     EndProc
  443.  
  444.  
  445. ;------------------------------------------------------------------------------
  446.  
  447.     Procedure PROC001()
  448.  
  449.     String   STRING027
  450.     String   STRING028
  451.     String   STRING029
  452.     String   STRING030
  453.     String   STRING031
  454.     String   STRING032
  455.     String   STRING033
  456.     String   STRING034
  457.     String   STRING035
  458.     String   STRING036
  459.     String   STRING037
  460.     String   STRING038
  461.     String   STRING039
  462.     String   STRING040
  463.     String   STRING041
  464.     String   STRING042
  465.     String   STRING043
  466.     String   STRING044
  467.     String   STRING045
  468.     String   STRING046
  469.     String   STRING047
  470.     String   STRING048
  471.  
  472.     Cls
  473.     FOpen 1, STRING001, 2, 0
  474.     :LABEL012
  475.     If (Ferr(1)) Goto LABEL013
  476.     FGet 1, STRING027
  477.     Tokenize STRING027
  478.     GetToken STRING029
  479.     GetToken STRING030
  480.     GetToken STRING034
  481.     GetToken STRING035
  482.     GetToken STRING031
  483.     GetToken STRING036
  484.     FGet 1, STRING037
  485.     Tokenize STRING037
  486.     GetToken STRING032
  487.     GetToken STRING040
  488.     GetToken STRING033
  489.     GetToken STRING038
  490.     GetToken STRING039
  491.     Select Case (STRING040)
  492.         Case "YES"
  493.             FGet 1, STRING028
  494.             FGet 1, STRING041
  495.             FGet 1, STRING042
  496.             FGet 1, STRING043
  497.             FGet 1, STRING044
  498.             FGet 1, STRING045
  499.             FGet 1, STRING046
  500.             FGet 1, STRING047
  501.             FGet 1, STRING048
  502.             PrintLn "@X0AAutomessage By: @X09" + STRING034 + " " + STRING035 + " @X0AOn: @X09" + STRING036
  503.             PrintLn "@X0AQuoted Text By: @X09" + STRING038 + " " + STRING039
  504.             PrintLn "@X0A" + STRING028
  505.             PrintLn "@X0B-> @X09" + STRING041
  506.             PrintLn "@X0B-> @X09" + STRING042
  507.             PrintLn STRING043
  508.             PrintLn "@X09" + STRING044
  509.             PrintLn "@X09" + STRING045
  510.             PrintLn "@X09" + STRING046
  511.             PrintLn "@X09" + STRING047
  512.             PrintLn "@X09" + STRING048
  513.             Newline
  514.             Goto LABEL014
  515.         Case "NO"
  516.             FGet 1, STRING028
  517.             FGet 1, STRING044
  518.             FGet 1, STRING045
  519.             FGet 1, STRING046
  520.             FGet 1, STRING047
  521.             FGet 1, STRING048
  522.             PrintLn "@X0AAutomessage By: @X09" + STRING034 + " " + STRING035 + " @X0AOn: @X09" + STRING036
  523.             PrintLn "@X0A" + STRING028
  524.             PrintLn "@X09" + STRING044
  525.             PrintLn "@X09" + STRING045
  526.             PrintLn "@X09" + STRING046
  527.             PrintLn "@X09" + STRING047
  528.             PrintLn "@X09" + STRING048
  529.             Newline
  530.             Goto LABEL014
  531.     End Select
  532.     Goto LABEL012
  533.     :LABEL013
  534.     PrintLn "@X0CError! (" + STRING001 + ")"
  535.     FClose 1
  536.     Wait
  537.     End
  538.     :LABEL014
  539.     FClose 1
  540.  
  541.     EndProc
  542.  
  543.  
  544. ;------------------------------------------------------------------------------
  545.  
  546.     Function FUNCTION001() String
  547.  
  548.     While (FUNCTION001 == "") Do
  549.         FUNCTION001 = Inkey()
  550.     EndWhile
  551.  
  552.     EndFunc
  553.  
  554.  
  555. ;------------------------------------------------------------------------------
  556. ;
  557. ; Usage report (before postprocessing)
  558. ;
  559. ; ■ Statements used :
  560. ;
  561. ;    2       End
  562. ;    4       Cls
  563. ;    1       Wait
  564. ;    103     Goto 
  565. ;    52      Let 
  566. ;    27      Print 
  567. ;    37      PrintLn 
  568. ;    48      If 
  569. ;    2       FCreate 
  570. ;    2       FOpen 
  571. ;    9       FClose 
  572. ;    32      FGet 
  573. ;    3       FPut 
  574. ;    18      FPutLn 
  575. ;    3       GetUser
  576. ;    5       InputStr 
  577. ;    1       Delay 
  578. ;    5       Newline
  579. ;    5       Tokenize 
  580. ;    22      GetToken 
  581. ;    1       Goodbye
  582. ;    29      AnsiPos 
  583. ;    4       EndProc
  584. ;    1       EndFunc
  585. ;
  586. ;
  587. ; ■ Functions used :
  588. ;
  589. ;    68      +
  590. ;    46      ==
  591. ;    4       <>
  592. ;    48      !
  593. ;    3       ||
  594. ;    3       Upper()
  595. ;    1       Ferr()
  596. ;    1       Chr()
  597. ;    3       Date()
  598. ;    4       U_Name()
  599. ;    1       Inkey()
  600. ;    3       Mask_Ascii()
  601. ;    1       PPEPath()
  602. ;
  603. ;------------------------------------------------------------------------------
  604. ;
  605. ; Analysis flags : No flag
  606. ;
  607. ;------------------------------------------------------------------------------
  608. ;
  609. ; Postprocessing report
  610. ;
  611. ;    0       For/Next
  612. ;    5       While/EndWhile
  613. ;    18      If/Then or If/Then/Else
  614. ;    10      Select Case
  615. ;
  616. ;------------------------------------------------------------------------------
  617. ;                 AEGiS Corp - Break the routines, code against the machines!
  618. ;------------------------------------------------------------------------------
  619.