home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / BBS / DMSPPE1B.ZIP / EOM.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-01-11  |  26KB  |  1,097 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.     Integer  INTEGER001
  21.     Integer  TINTEGER002(13)
  22.     Integer  INTEGER003
  23.     Integer  INTEGER004
  24.     Integer  INTEGER005
  25.     Integer  INTEGER006
  26.     Integer  TINTEGER007(13)
  27.     Integer  TINTEGER008(13)
  28.     Integer  INTEGER009
  29.     Integer  INTEGER010
  30.     Integer  INTEGER011
  31.     String   STRING001
  32.     String   TSTRING002(13)
  33.     String   TSTRING003(13)
  34.     String   STRING004
  35.     String   STRING005
  36.     String   STRING006
  37.     String   STRING007
  38.     String   STRING008
  39.     String   STRING009
  40.     String   TSTRING010(13)
  41.     String   TSTRING011(13)
  42.     String   TSTRING012(13)
  43.     String   STRING013
  44.  
  45. ;------------------------------------------------------------------------------
  46.  
  47.     INTEGER003 = 7
  48.     INTEGER003 = 7
  49.     TINTEGER002(1) = 13
  50.     TINTEGER002(2) = 12
  51.     TINTEGER002(3) = 8
  52.     TINTEGER002(4) = 10
  53.     TINTEGER002(5) = 12
  54.     TINTEGER002(6) = 11
  55.     TINTEGER002(7) = 9
  56.     STRING006 = Chr(27)
  57.     STRING007 = Chr(13)
  58.     If (AnsiOn()) Then
  59.         Gosub LABEL001
  60.         Print Chr(27) + "[2B"
  61.     Else
  62.         Gosub LABEL012
  63.     Endif
  64.     KbdStuff STRING001
  65.     End
  66.     :LABEL001
  67.     INTEGER005 = CurColor()
  68.     STRING005 = RTrim(Left("@INCONF@", 33), " ")
  69.     STRING013 = "@X0E(@X0C@MINLEFT@@X0E min. left) @X0C" + "[ " + STRING005 + "]@X0E" + " @X0AEnd of Message Command:"
  70.     INTEGER006 = 1
  71.     Gosub LABEL008
  72.     Gosub LABEL009
  73.     :LABEL002
  74.     If (INTEGER001 == 13) Goto LABEL007
  75.     STRING009 = ""
  76.     BOOLEAN001 = 0
  77.     While (STRING009 == "") Do
  78.         STRING009 = Inkey()
  79.     EndWhile
  80.     If (Len(STRING009) == 1) Then
  81.         STRING009 = Upper(STRING009)
  82.         INTEGER001 = Asc(STRING009)
  83.     Else
  84.         INTEGER001 = 0
  85.     Endif
  86.     If ((Left(STRING009, 5) == "RIGHT") || (INTEGER001 == 32)) Then
  87.         INTEGER011 = INTEGER010 + 1
  88.         If (INTEGER011 > TINTEGER002(INTEGER006)) Then
  89.             INTEGER011 = 1
  90.         Endif
  91.         BOOLEAN001 = 1
  92.     ElseIf ((Left(STRING009, 4) == "LEFT") || (INTEGER001 == 8)) Then
  93.         INTEGER011 = INTEGER010 - 1
  94.         If (INTEGER011 == 0) Then
  95.             INTEGER011 = TINTEGER002(INTEGER006)
  96.         Endif
  97.         BOOLEAN001 = 1
  98.     ElseIf (Left(STRING009, 4) == "HOME") Then
  99.         INTEGER011 = 1
  100.         BOOLEAN001 = 1
  101.     ElseIf (Left(STRING009, 3) == "END") Then
  102.         INTEGER011 = TINTEGER002(INTEGER006)
  103.         BOOLEAN001 = 1
  104.     ElseIf (((Len(STRING009) == 1) && (ToInteger(STRING009) > 0)) && (ToInteger(STRING009) <= INTEGER003)) Then
  105.         INTEGER006 = ToInteger(STRING009)
  106.         Gosub LABEL008
  107.         Gosub LABEL010
  108.         BOOLEAN001 = 1
  109.     ElseIf (INTEGER001 == 13) Then
  110.         STRING001 = TSTRING003(INTEGER011)
  111.     Else
  112.         For INTEGER004 = 1 To TINTEGER002(INTEGER006)
  113.             If (InStr(TSTRING002(INTEGER004), STRING009) == 0) Continue
  114.             INTEGER011 = INTEGER004
  115.             BOOLEAN001 = 1
  116.             INTEGER004 = TINTEGER002(INTEGER006)
  117.         Next
  118.         If (BOOLEAN001) Goto LABEL003
  119.         Gosub LABEL019
  120.     Endif
  121.     :LABEL003
  122.     If (BOOLEAN001) Then
  123.         Gosub LABEL011
  124.     Endif
  125.     If (INTEGER001 == 13) Then
  126.         If (STRING001 == "HELP") Then
  127.             STRING008 = PPEPath() + "EOM.HLP"
  128.             Gosub LABEL017
  129.             INTEGER011 = INTEGER009
  130.             Gosub LABEL011
  131.             INTEGER001 = 0
  132.             Goto LABEL006
  133.         Endif
  134.         If (STRING001 == "ADVANCED") Then
  135.             Print STRING006 + "[3B"
  136.             Backup GetX() - 1
  137.             Color 10
  138.             ClrEol
  139.             Forward 1
  140.             Print "Advanced command @X03(ENTER = Exit, H = Help)@X0A -> "
  141.             Color 3
  142.             Gosub LABEL020
  143.             Color INTEGER005
  144.             If (STRING004 == STRING007) Then
  145.                 Print STRING006 + "[1A"
  146.                 Print Space(76)
  147.                 Print STRING006 + "[3A"
  148.                 INTEGER011 = INTEGER009
  149.                 Gosub LABEL011
  150.                 INTEGER001 = 0
  151.                 Goto LABEL004
  152.             Endif
  153.             If (STRING004 == "H" + STRING007) Then
  154.                 STRING008 = HelpPath() + "HLPENDR"
  155.                 Gosub LABEL017
  156.                 Gosub LABEL011
  157.                 KbdStuff "A" + STRING007
  158.                 INTEGER001 = 0
  159.                 Goto LABEL004
  160.             Endif
  161.             STRING001 = STRING004
  162.             INTEGER001 = 13
  163.             :LABEL004
  164.             Goto LABEL006
  165.         Endif
  166.         If (STRING001 == "#") Then
  167.             Print STRING006 + "[3B"
  168.             Backup GetX() - 1
  169.             Color 10
  170.             ClrEol
  171.             Forward 1
  172.             Print "Message # to read @X03(@OPTEXT@, ENTER = Exit)@X0A -> "
  173.             Color 3
  174.             Gosub LABEL020
  175.             Color INTEGER005
  176.             If (ToInteger(STRING004) == 0) Then
  177.                 Print STRING006 + "[1A"
  178.                 Print Space(76)
  179.                 Print STRING006 + "[3A"
  180.                 INTEGER011 = INTEGER009
  181.                 Gosub LABEL011
  182.                 INTEGER001 = 0
  183.                 Goto LABEL005
  184.             Endif
  185.             STRING001 = STRING004
  186.             INTEGER001 = 13
  187.             :LABEL005
  188.             Goto LABEL006
  189.         Endif
  190.         If (STRING001 == "NEXT_MENU") Then
  191.             INTEGER006 = INTEGER006 + 1
  192.             Gosub LABEL008
  193.             Gosub LABEL010
  194.             INTEGER001 = 0
  195.             Goto LABEL006
  196.         Endif
  197.         If (STRING001 == "PREV_MENU") Then
  198.             INTEGER006 = INTEGER006 - 1
  199.             Gosub LABEL008
  200.             Gosub LABEL010
  201.             INTEGER001 = 0
  202.         Endif
  203.     Endif
  204.     :LABEL006
  205.     Goto LABEL002
  206.     :LABEL007
  207.     Color INTEGER005
  208.     Return
  209.     :LABEL008
  210.     Select Case (INTEGER006)
  211.         Case 1
  212.             TSTRING002(1) = "C"
  213.             TSTRING002(2) = "N"
  214.             TSTRING002(3) = "P"
  215.             TSTRING002(4) = "R"
  216.             TSTRING002(5) = "K"
  217.             TSTRING002(6) = "D"
  218.             TSTRING002(7) = "S"
  219.             TSTRING002(8) = "+"
  220.             TSTRING002(9) = "-"
  221.             TSTRING002(10) = "A"
  222.             TSTRING002(11) = "Q"
  223.             TSTRING002(12) = "H"
  224.             TSTRING002(13) = ">."
  225.             TSTRING003(1) = STRING007
  226.             TSTRING003(2) = "NEXT"
  227.             TSTRING003(3) = "PREV"
  228.             TSTRING003(4) = "RE"
  229.             TSTRING003(5) = "K"
  230.             TSTRING003(6) = "/"
  231.             TSTRING003(7) = "NS"
  232.             TSTRING003(8) = "+"
  233.             TSTRING003(9) = "-"
  234.             TSTRING003(10) = "ADVANCED"
  235.             TSTRING003(11) = "N"
  236.             TSTRING003(12) = "HELP"
  237.             TSTRING003(13) = "NEXT_MENU"
  238.             TINTEGER008(1) = 1
  239.             TINTEGER008(2) = 1
  240.             TINTEGER008(3) = 1
  241.             TINTEGER008(4) = 1
  242.             TINTEGER008(5) = 1
  243.             TINTEGER008(6) = 3
  244.             TINTEGER008(7) = 4
  245.             TINTEGER008(8) = 1
  246.             TINTEGER008(9) = 1
  247.             TINTEGER008(10) = 1
  248.             TINTEGER008(11) = 1
  249.             TINTEGER008(12) = 1
  250.             TINTEGER008(13) = 2
  251.             TSTRING010(1) = "@X0B @X0EC@X0Bont "
  252.             TSTRING010(2) = "@X0B @X0EN@X0Bext "
  253.             TSTRING010(3) = "@X0B @X0EP@X0Brev "
  254.             TSTRING010(4) = "@X0B @X0ER@X0Beply "
  255.             TSTRING010(5) = "@X0B @X0EK@X0Bill "
  256.             TSTRING010(6) = "@X0B re@X0ED@X0Bisp "
  257.             TSTRING010(7) = "@X0B non@X0ES@X0Btop "
  258.             TSTRING010(8) = "@X0B @X0E+@X0B "
  259.             TSTRING010(9) = "@X0B @X0E-@X0B "
  260.             TSTRING010(10) = "@X0B @X0EA@X0Bdv "
  261.             TSTRING010(11) = "@X0B @X0EQ@X0Buit "
  262.             TSTRING010(12) = "@X0B @X0EH@X0Belp "
  263.             TSTRING010(13) = "@X0B -@X0E>@X0B "
  264.             TSTRING011(1) = "@X3F @X3EC@X3Font "
  265.             TSTRING011(2) = "@X3F @X3EN@X3Fext "
  266.             TSTRING011(3) = "@X3F @X3EP@X3Frev "
  267.             TSTRING011(4) = "@X3F @X3ER@X3Feply "
  268.             TSTRING011(5) = "@X3F @X3EK@X3Fill "
  269.             TSTRING011(6) = "@X3F re@X3ED@X3Fisp "
  270.             TSTRING011(7) = "@X3F non@X3ES@X3Ftop "
  271.             TSTRING011(8) = "@X3F @X3E+@X3F "
  272.             TSTRING011(9) = "@X3F @X3E-@X3F "
  273.             TSTRING011(10) = "@X3F @X3EA@X3Fdv "
  274.             TSTRING011(11) = "@X3F @X3EQ@X3Fuit "
  275.             TSTRING011(12) = "@X3F @X3EH@X3Felp "
  276.             TSTRING011(13) = "@X3F -@X3E>@X3F "
  277.             TSTRING012(1) = "-> read next message in current direction (+/-)"
  278.             TSTRING012(2) = "-> read next message and set read direction to forward"
  279.             TSTRING012(3) = "-> read previous message and set read direction to backward"
  280.             TSTRING012(4) = "-> reply to current message"
  281.             TSTRING012(5) = "-> delete current message"
  282.             TSTRING012(6) = "-> redisplay current message"
  283.             TSTRING012(7) = "-> display all mail without pausing between messages"
  284.             TSTRING012(8) = "-> change read direction to forward"
  285.             TSTRING012(9) = "-> change read direction to backward"
  286.             TSTRING012(10) = "-> Advanced - type End of Message command manually"
  287.             TSTRING012(11) = "-> quit reading mail"
  288.             TSTRING012(12) = "-> help with this prompt"
  289.             TSTRING012(13) = "-> display next menu (Actions, 2 of 7)"
  290.             INTEGER009 = 1
  291.             INTEGER010 = INTEGER009
  292.             INTEGER011 = INTEGER009
  293.         Case 2
  294.             TSTRING002(1) = "<,"
  295.             TSTRING002(2) = "F"
  296.             TSTRING002(3) = "V"
  297.             TSTRING002(4) = "+"
  298.             TSTRING002(5) = "-"
  299.             TSTRING002(6) = "R"
  300.             TSTRING002(7) = "C"
  301.             TSTRING002(8) = "Z"
  302.             TSTRING002(9) = "L"
  303.             TSTRING002(10) = "Q"
  304.             TSTRING002(11) = "H"
  305.             TSTRING002(12) = ">."
  306.             TSTRING002(13) = " "
  307.             TSTRING003(1) = "PREV_MENU"
  308.             TSTRING003(2) = "FLAG"
  309.             TSTRING003(3) = "V"
  310.             TSTRING003(4) = "T+"
  311.             TSTRING003(5) = "T-"
  312.             TSTRING003(6) = "RR"
  313.             TSTRING003(7) = "D"
  314.             TSTRING003(8) = "Z"
  315.             TSTRING003(9) = "L"
  316.             TSTRING003(10) = "N"
  317.             TSTRING003(11) = "HELP"
  318.             TSTRING003(12) = "NEXT_MENU"
  319.             TSTRING003(13) = " "
  320.             TINTEGER008(1) = 1
  321.             TINTEGER008(2) = 1
  322.             TINTEGER008(3) = 1
  323.             TINTEGER008(4) = 7
  324.             TINTEGER008(5) = 7
  325.             TINTEGER008(6) = 1
  326.             TINTEGER008(7) = 1
  327.             TINTEGER008(8) = 1
  328.             TINTEGER008(9) = 1
  329.             TINTEGER008(10) = 1
  330.             TINTEGER008(11) = 1
  331.             TINTEGER008(12) = 2
  332.             TINTEGER008(13) = 0
  333.             TSTRING010(1) = "@X0B @X0E<@X0B- "
  334.             TSTRING010(2) = "@X0B @X0EF@X0Blag "
  335.             TSTRING010(3) = "@X0B @X0EV@X0Biew "
  336.             TSTRING010(4) = "@X0B thread@X0E+@X0B "
  337.             TSTRING010(5) = "@X0B thread@X0E-@X0B "
  338.             TSTRING010(6) = "@X0B @X0ER@X0Bef "
  339.             TSTRING010(7) = "@X0B @X0EC@X0Bapture "
  340.             TSTRING010(8) = "@X0B @X0EZ@X0Bip "
  341.             TSTRING010(9) = "@X0B @X0EL@X0Bast "
  342.             TSTRING010(10) = "@X0B @X0EQ@X0Buit "
  343.             TSTRING010(11) = "@X0B @X0EH@X0Belp "
  344.             TSTRING010(12) = "@X0B -@X0E>@X0B "
  345.             TSTRING010(13) = " "
  346.             TSTRING011(1) = "@X3F @X3E<@X3F- "
  347.             TSTRING011(2) = "@X3F @X3EF@X3Flag "
  348.             TSTRING011(3) = "@X3F @X3EV@X3Fiew "
  349.             TSTRING011(4) = "@X3F thread@X3E+@X3F "
  350.             TSTRING011(5) = "@X3F thread@X3E-@X3F "
  351.             TSTRING011(6) = "@X3F @X3ER@X3Fef "
  352.             TSTRING011(7) = "@X3F @X3EC@X3Fapture "
  353.             TSTRING011(8) = "@X3F @X3EZ@X3Fip "
  354.             TSTRING011(9) = "@X3F @X3EL@X3Fast "
  355.             TSTRING011(10) = "@X3F @X3EQ@X3Fuit "
  356.             TSTRING011(11) = "@X3F @X3EH@X3Felp "
  357.             TSTRING011(12) = "@X3F -@X3E>@X3F "
  358.             TSTRING011(13) = " "
  359.             TSTRING012(1) = "-> display previous menu (Common, 1 of 7)"
  360.             TSTRING012(2) = "-> flag attached file for download"
  361.             TSTRING012(3) = "-> view attached file"
  362.             TSTRING012(4) = "-> read messages with current subject, forward direction"
  363.             TSTRING012(5) = "-> read messages with current subject, backward direction"
  364.             TSTRING012(6) = "-> read message referenced by current message"
  365.             TSTRING012(7) = "-> capture current message for immediate download"
  366.             TSTRING012(8) = "-> capture and compress (ZIP) current message for immediate download"
  367.             TSTRING012(9) = "-> read from last message in conference, backward direction"
  368.             TSTRING012(10) = "-> quit reading mail"
  369.             TSTRING012(11) = "-> help with this prompt"
  370.             TSTRING012(12) = "-> display next menu (Memorize, 3 of 7)"
  371.             TSTRING012(13) = " "
  372.             INTEGER009 = 2
  373.             INTEGER010 = INTEGER009
  374.             INTEGER011 = INTEGER009
  375.         Case 3
  376.             TSTRING002(1) = "<,"
  377.             TSTRING002(2) = "M"
  378.             TSTRING002(3) = "D"
  379.             TSTRING002(4) = "+"
  380.             TSTRING002(5) = "-"
  381.             TSTRING002(6) = "Q"
  382.             TSTRING002(7) = "H"
  383.             TSTRING002(8) = ">."
  384.             TSTRING002(9) = " "
  385.             TSTRING002(10) = " "
  386.             TSTRING002(11) = " "
  387.             TSTRING002(12) = " "
  388.             TSTRING002(13) = " "
  389.             TSTRING003(1) = "PREV_MENU"
  390.             TSTRING003(2) = "M"
  391.             TSTRING003(3) = "RM"
  392.             TSTRING003(4) = "RM+"
  393.             TSTRING003(5) = "RM-"
  394.             TSTRING003(6) = "N"
  395.             TSTRING003(7) = "H"
  396.             TSTRING003(8) = "NEXT_MENU"
  397.             TSTRING003(9) = " "
  398.             TSTRING003(10) = " "
  399.             TSTRING003(11) = " "
  400.             TSTRING003(12) = " "
  401.             TSTRING003(13) = " "
  402.             TINTEGER008(1) = 1
  403.             TINTEGER008(2) = 1
  404.             TINTEGER008(3) = 9
  405.             TINTEGER008(4) = 10
  406.             TINTEGER008(5) = 10
  407.             TINTEGER008(6) = 1
  408.             TINTEGER008(7) = 1
  409.             TINTEGER008(8) = 2
  410.             TINTEGER008(9) = 0
  411.             TINTEGER008(10) = 0
  412.             TINTEGER008(11) = 0
  413.             TINTEGER008(12) = 0
  414.             TINTEGER008(13) = 0
  415.             TSTRING010(1) = "@X0B @X0E<@X0B- "
  416.             TSTRING010(2) = "@X0B @X0EM@X0Bemorize "
  417.             TSTRING010(3) = "@X0B memorize@X0ED@X0B "
  418.             TSTRING010(4) = "@X0B memorized@X0E+@X0B "
  419.             TSTRING010(5) = "@X0B memorized@X0E-@X0B "
  420.             TSTRING010(6) = "@X0B @X0EQ@X0Buit "
  421.             TSTRING010(7) = "@X0B @X0EH@X0Belp "
  422.             TSTRING010(8) = "@X0B -@X0E>@X0B "
  423.             TSTRING010(9) = " "
  424.             TSTRING010(10) = " "
  425.             TSTRING010(11) = " "
  426.             TSTRING010(12) = " "
  427.             TSTRING010(13) = " "
  428.             TSTRING011(1) = "@X3F @X3E<@X3F- "
  429.             TSTRING011(2) = "@X3F @X3EM@X3Femorize "
  430.             TSTRING011(3) = "@X3F memorize@X3ED@X3F "
  431.             TSTRING011(4) = "@X3F memorized@X3E+@X3F "
  432.             TSTRING011(5) = "@X3F memorized@X3E-@X3F "
  433.             TSTRING011(6) = "@X3F @X3EQ@X3Fuit "
  434.             TSTRING011(7) = "@X3F @X3EH@X3Felp "
  435.             TSTRING011(8) = "@X3F -@X3E>@X3F "
  436.             TSTRING011(9) = " "
  437.             TSTRING011(10) = " "
  438.             TSTRING011(11) = " "
  439.             TSTRING011(12) = " "
  440.             TSTRING011(13) = " "
  441.             TSTRING012(1) = "-> display previous menu (Actions, 2 of 7)"
  442.             TSTRING012(2) = "-> memorize current message"
  443.             TSTRING012(3) = "-> read memorized message"
  444.             TSTRING012(4) = "-> read memorized message and continue reading, forward direction"
  445.             TSTRING012(5) = "-> read memorized message and continue reading, backward direction"
  446.             TSTRING012(6) = "-> quit reading mail"
  447.             TSTRING012(7) = "-> help with this prompt"
  448.             TSTRING012(8) = "-> display next menu (Change, 4 of 7)"
  449.             TSTRING012(9) = " "
  450.             TSTRING012(10) = " "
  451.             TSTRING012(11) = " "
  452.             TSTRING012(12) = " "
  453.             TSTRING012(13) = " "
  454.             INTEGER009 = 2
  455.             INTEGER010 = INTEGER009
  456.             INTEGER011 = INTEGER009
  457.         Case 4
  458.             TSTRING002(1) = "<,"
  459.             TSTRING002(2) = "L"
  460.             TSTRING002(3) = "S"
  461.             TSTRING002(4) = "E"
  462.             TSTRING002(5) = "D"
  463.             TSTRING002(6) = "A"
  464.             TSTRING002(7) = "R"
  465.             TSTRING002(8) = "Q"
  466.             TSTRING002(9) = "H"
  467.             TSTRING002(10) = ">."
  468.             TSTRING002(11) = " "
  469.             TSTRING002(12) = " "
  470.             TSTRING002(13) = " "
  471.             TSTRING003(1) = "PREV_MENU"
  472.             TSTRING003(2) = "LONG"
  473.             TSTRING003(3) = "SHORT"
  474.             TSTRING003(4) = "EDIT"
  475.             TSTRING003(5) = "E"
  476.             TSTRING003(6) = "ALIAS"
  477.             TSTRING003(7) = "RO"
  478.             TSTRING003(8) = "N"
  479.             TSTRING003(9) = "HELP"
  480.             TSTRING003(10) = "NEXT_MENU"
  481.             TSTRING003(11) = " "
  482.             TSTRING003(12) = " "
  483.             TSTRING003(13) = " "
  484.             TINTEGER008(1) = 1
  485.             TINTEGER008(2) = 1
  486.             TINTEGER008(3) = 1
  487.             TINTEGER008(4) = 1
  488.             TINTEGER008(5) = 4
  489.             TINTEGER008(6) = 1
  490.             TINTEGER008(7) = 1
  491.             TINTEGER008(8) = 1
  492.             TINTEGER008(9) = 1
  493.             TINTEGER008(10) = 2
  494.             TINTEGER008(11) = 0
  495.             TINTEGER008(12) = 0
  496.             TINTEGER008(13) = 0
  497.             TSTRING010(1) = "@X0B @X0E<@X0B- "
  498.             TSTRING010(2) = "@X0B @X0EL@X0Bong "
  499.             TSTRING010(3) = "@X0B @X0ES@X0Bhort "
  500.             TSTRING010(4) = "@X0B @X0EE@X0Bdit "
  501.             TSTRING010(5) = "@X0B hea@X0ED@X0Ber "
  502.             TSTRING010(6) = "@X0B @X0EA@X0Blias "
  503.             TSTRING010(7) = "@X0B @X0ER@X0Beply user "
  504.             TSTRING010(8) = "@X0B @X0EQ@X0Buit "
  505.             TSTRING010(9) = "@X0B @X0EH@X0Belp "
  506.             TSTRING010(10) = "@X0B -@X0E>@X0B "
  507.             TSTRING010(11) = " "
  508.             TSTRING010(12) = " "
  509.             TSTRING010(13) = " "
  510.             TSTRING011(1) = "@X3F @X3E<@X3F- "
  511.             TSTRING011(2) = "@X3F @X3EL@X3Fong "
  512.             TSTRING011(3) = "@X3F @X3ES@X3Fhort "
  513.             TSTRING011(4) = "@X3F @X3EE@X3Fdit "
  514.             TSTRING011(5) = "@X3F hea@X3ED@X3Fer "
  515.             TSTRING011(6) = "@X3F @X3EA@X3Flias "
  516.             TSTRING011(7) = "@X3F @X3ER@X3Feply user "
  517.             TSTRING011(8) = "@X3F @X3EQ@X3Fuit "
  518.             TSTRING011(9) = "@X3F @X3EH@X3Felp "
  519.             TSTRING011(10) = "@X3F -@X3E>@X3F "
  520.             TSTRING011(11) = " "
  521.             TSTRING011(12) = " "
  522.             TSTRING011(13) = " "
  523.             TSTRING012(1) = "-> display previous menu (Memorize, 3 of 7)"
  524.             TSTRING012(2) = "-> change to extended message header"
  525.             TSTRING012(3) = "-> change to abbreviated message header"
  526.             TSTRING012(4) = "-> edit the contents of the message (if message is from you)"
  527.             TSTRING012(5) = "-> edit the header of the message (if message is from you)"
  528.             TSTRING012(6) = "-> toggle your alias name on/off"
  529.             TSTRING012(7) = "-> reply to current message, address to a different user than sender"
  530.             TSTRING012(8) = "-> quit reading mail"
  531.             TSTRING012(9) = "-> help with this prompt"
  532.             TSTRING012(10) = "-> display next menu (Reselect, 5 of 7)"
  533.             TSTRING012(11) = " "
  534.             TSTRING012(12) = " "
  535.             TSTRING012(13) = " "
  536.             INTEGER009 = 2
  537.             INTEGER010 = INTEGER009
  538.             INTEGER011 = INTEGER009
  539.         Case 5
  540.             TSTRING002(1) = "<,"
  541.             TSTRING002(2) = "N"
  542.             TSTRING002(3) = "Y"
  543.             TSTRING002(4) = "A"
  544.             TSTRING002(5) = "F"
  545.             TSTRING002(6) = "T"
  546.             TSTRING002(7) = "U"
  547.             TSTRING002(8) = "S"
  548.             TSTRING002(9) = "#"
  549.             TSTRING002(10) = "Q"
  550.             TSTRING002(11) = "H"
  551.             TSTRING002(12) = ">."
  552.             TSTRING002(13) = " "
  553.             TSTRING003(1) = "PREV_MENU"
  554.             TSTRING003(2) = "S"
  555.             TSTRING003(3) = "Y"
  556.             TSTRING003(4) = "YA"
  557.             TSTRING003(5) = "FROM"
  558.             TSTRING003(6) = "TO"
  559.             TSTRING003(7) = "USER"
  560.             TSTRING003(8) = "TS"
  561.             TSTRING003(9) = "#"
  562.             TSTRING003(10) = "N"
  563.             TSTRING003(11) = "HELP"
  564.             TSTRING003(12) = "NEXT_MENU"
  565.             TSTRING003(13) = " "
  566.             TINTEGER008(1) = 1
  567.             TINTEGER008(2) = 1
  568.             TINTEGER008(3) = 1
  569.             TINTEGER008(4) = 1
  570.             TINTEGER008(5) = 1
  571.             TINTEGER008(6) = 1
  572.             TINTEGER008(7) = 1
  573.             TINTEGER008(8) = 1
  574.             TINTEGER008(9) = 1
  575.             TINTEGER008(10) = 1
  576.             TINTEGER008(11) = 1
  577.             TINTEGER008(12) = 2
  578.             TINTEGER008(13) = 0
  579.             TSTRING010(1) = "@X0B @X0E<@X0B- "
  580.             TSTRING010(2) = "@X0B @X0EN@X0Bew "
  581.             TSTRING010(3) = "@X0B @X0EY@X0Bours "
  582.             TSTRING010(4) = "@X0B @X0EA@X0Bll "
  583.             TSTRING010(5) = "@X0B @X0EF@X0Brom "
  584.             TSTRING010(6) = "@X0B @X0ET@X0Bo "
  585.             TSTRING010(7) = "@X0B @X0EU@X0Bser "
  586.             TSTRING010(8) = "@X0B @X0ES@X0Bearch "
  587.             TSTRING010(9) = "@X0B @X0E#@X0B "
  588.             TSTRING010(10) = "@X0B @X0EQ@X0Buit "
  589.             TSTRING010(11) = "@X0B @X0EH@X0Belp "
  590.             TSTRING010(12) = "@X0B -@X0E>@X0B "
  591.             TSTRING010(13) = " "
  592.             TSTRING011(1) = "@X3F @X3E<@X3F- "
  593.             TSTRING011(2) = "@X3F @X3EN@X3Few "
  594.             TSTRING011(3) = "@X3F @X3EY@X3Fours "
  595.             TSTRING011(4) = "@X3F @X3EA@X3Fll "
  596.             TSTRING011(5) = "@X3F @X3EF@X3From "
  597.             TSTRING011(6) = "@X3F @X3ET@X3Fo "
  598.             TSTRING011(7) = "@X3F @X3EU@X3Fser "
  599.             TSTRING011(8) = "@X3F @X3ES@X3Fearch "
  600.             TSTRING011(9) = "@X3F @X3E#@X3F "
  601.             TSTRING011(10) = "@X3F @X3EQ@X3Fuit "
  602.             TSTRING011(11) = "@X3F @X3EH@X3Felp "
  603.             TSTRING011(12) = "@X3F -@X3E>@X3F "
  604.             TSTRING011(13) = " "
  605.             TSTRING012(1) = "-> display previous menu (Change, 4 of 7)"
  606.             TSTRING012(2) = "-> read new mail"
  607.             TSTRING012(3) = "-> read mail addressed to you"
  608.             TSTRING012(4) = "-> read mail addressed to you or 'ALL' users"
  609.             TSTRING012(5) = "-> read mail from a specific user"
  610.             TSTRING012(6) = "-> read mail to a specific user"
  611.             TSTRING012(7) = "-> read mail to or from a specific user"
  612.             TSTRING012(8) = "-> search mail for specific text"
  613.             TSTRING012(9) = "-> type in a specific message # to read"
  614.             TSTRING012(10) = "-> quit reading mail"
  615.             TSTRING012(11) = "-> help with this prompt"
  616.             TSTRING012(12) = "-> display next menu (Conference, 6 of 7)"
  617.             TSTRING012(13) = " "
  618.             INTEGER009 = 2
  619.             INTEGER010 = INTEGER009
  620.             INTEGER011 = INTEGER009
  621.         Case 6
  622.             TSTRING002(1) = "<,"
  623.             TSTRING002(2) = "T"
  624.             TSTRING002(3) = "S"
  625.             TSTRING002(4) = "D"
  626.             TSTRING002(5) = "J"
  627.             TSTRING002(6) = "K"
  628.             TSTRING002(7) = "O"
  629.             TSTRING002(8) = "G"
  630.             TSTRING002(9) = "Q"
  631.             TSTRING002(10) = "H"
  632.             TSTRING002(11) = ">."
  633.             TSTRING002(12) = " "
  634.             TSTRING002(13) = " "
  635.             TSTRING003(1) = "PREV_MENU"
  636.             TSTRING003(2) = "SET"
  637.             TSTRING003(3) = "SE"
  638.             TSTRING003(4) = "DE"
  639.             TSTRING003(5) = "JUMP"
  640.             TSTRING003(6) = "SKIP"
  641.             TSTRING003(7) = "J"
  642.             TSTRING003(8) = "G"
  643.             TSTRING003(9) = "N"
  644.             TSTRING003(10) = "HELP"
  645.             TSTRING003(11) = "NEXT_MENU"
  646.             TSTRING003(12) = " "
  647.             TSTRING003(13) = " "
  648.             TINTEGER008(1) = 1
  649.             TINTEGER008(2) = 3
  650.             TINTEGER008(3) = 1
  651.             TINTEGER008(4) = 1
  652.             TINTEGER008(5) = 1
  653.             TINTEGER008(6) = 2
  654.             TINTEGER008(7) = 2
  655.             TINTEGER008(8) = 1
  656.             TINTEGER008(9) = 1
  657.             TINTEGER008(10) = 1
  658.             TINTEGER008(11) = 2
  659.             TINTEGER008(12) = 0
  660.             TINTEGER008(13) = 0
  661.             TSTRING010(1) = "@X0B @X0E<@X0B- "
  662.             TSTRING010(2) = "@X0B se@X0ET@X0B "
  663.             TSTRING010(3) = "@X0B @X0ES@X0Belect "
  664.             TSTRING010(4) = "@X0B @X0ED@X0Beselect "
  665.             TSTRING010(5) = "@X0B @X0EJ@X0Bump "
  666.             TSTRING010(6) = "@X0B s@X0EK@X0Bip "
  667.             TSTRING010(7) = "@X0B j@X0EO@X0Bin "
  668.             TSTRING010(8) = "@X0B @X0EG@X0Boodbye "
  669.             TSTRING010(9) = "@X0B @X0EQ@X0Buit "
  670.             TSTRING010(10) = "@X0B @X0EH@X0Belp "
  671.             TSTRING010(11) = "@X0B -@X0E>@X0B "
  672.             TSTRING010(12) = " "
  673.             TSTRING010(13) = " "
  674.             TSTRING011(1) = "@X3F @X3E<@X3F- "
  675.             TSTRING011(2) = "@X3F se@X3ET@X3F "
  676.             TSTRING011(3) = "@X3F @X3ES@X3Felect "
  677.             TSTRING011(4) = "@X3F @X3ED@X3Feselect "
  678.             TSTRING011(5) = "@X3F @X3EJ@X3Fump "
  679.             TSTRING011(6) = "@X3F s@X3EK@X3Fip "
  680.             TSTRING011(7) = "@X3F j@X3EO@X3Fin "
  681.             TSTRING011(8) = "@X3F @X3EG@X3Foodbye "
  682.             TSTRING011(9) = "@X3F @X3EQ@X3Fuit "
  683.             TSTRING011(10) = "@X3F @X3EH@X3Felp "
  684.             TSTRING011(11) = "@X3F -@X3E>@X3F "
  685.             TSTRING011(12) = " "
  686.             TSTRING011(13) = " "
  687.             TSTRING012(1) = "-> display previous menu (Reselect, 5 of 7)"
  688.             TSTRING012(2) = "-> set the last message read # in current conference"
  689.             TSTRING012(3) = "-> include the current conference for scanning of mail"
  690.             TSTRING012(4) = "-> exclude the current conference for scanning of mail"
  691.             TSTRING012(5) = "-> join next selected conference (if reading selected or all conferences"
  692.             TSTRING012(6) = "-> skip current conference to next selected and set all messages as read"
  693.             TSTRING012(7) = "-> join a conference"
  694.             TSTRING012(8) = "-> logoff system (hang up)"
  695.             TSTRING012(9) = "-> quit reading mail"
  696.             TSTRING012(10) = "-> help with this prompt"
  697.             TSTRING012(11) = "-> display next menu (Sysop, 7 of 7)"
  698.             TSTRING012(12) = " "
  699.             TSTRING012(13) = " "
  700.             INTEGER009 = 2
  701.             INTEGER010 = INTEGER009
  702.             INTEGER011 = INTEGER009
  703.         Case 7
  704.             TSTRING002(1) = "<,"
  705.             TSTRING002(2) = "C"
  706.             TSTRING002(3) = "M"
  707.             TSTRING002(4) = "V"
  708.             TSTRING002(5) = "P"
  709.             TSTRING002(6) = "F"
  710.             TSTRING002(7) = "T"
  711.             TSTRING002(8) = "Q"
  712.             TSTRING002(9) = "H"
  713.             TSTRING002(10) = " "
  714.             TSTRING002(11) = " "
  715.             TSTRING002(12) = " "
  716.             TSTRING002(13) = " "
  717.             TSTRING003(1) = "PREV_MENU"
  718.             TSTRING003(2) = "COPY"
  719.             TSTRING003(3) = "MOVE"
  720.             TSTRING003(4) = "P"
  721.             TSTRING003(5) = "U"
  722.             TSTRING003(6) = "F"
  723.             TSTRING003(7) = "FT"
  724.             TSTRING003(8) = "N"
  725.             TSTRING003(9) = "HELP"
  726.             TSTRING003(10) = " "
  727.             TSTRING003(11) = " "
  728.             TSTRING003(12) = " "
  729.             TSTRING003(13) = " "
  730.             TINTEGER008(1) = 1
  731.             TINTEGER008(2) = 1
  732.             TINTEGER008(3) = 1
  733.             TINTEGER008(4) = 4
  734.             TINTEGER008(5) = 1
  735.             TINTEGER008(6) = 1
  736.             TINTEGER008(7) = 1
  737.             TINTEGER008(8) = 1
  738.             TINTEGER008(9) = 1
  739.             TINTEGER008(10) = 0
  740.             TINTEGER008(11) = 0
  741.             TINTEGER008(12) = 0
  742.             TINTEGER008(13) = 0
  743.             TSTRING010(1) = "@X0B @X0E<@X0B- "
  744.             TSTRING010(2) = "@X0B @X0EC@X0Bopy "
  745.             TSTRING010(3) = "@X0B @X0EM@X0Bove "
  746.             TSTRING010(4) = "@X0B pri@X0EV@X0Bate "
  747.             TSTRING010(5) = "@X0B @X0EP@X0Bublic "
  748.             TSTRING010(6) = "@X0B @X0EF@X0Brom "
  749.             TSTRING010(7) = "@X0B @X0ET@X0Bo "
  750.             TSTRING010(8) = "@X0B @X0EQ@X0Buit "
  751.             TSTRING010(9) = "@X0B @X0EH@X0Belp "
  752.             TSTRING010(10) = " "
  753.             TSTRING010(11) = " "
  754.             TSTRING010(12) = " "
  755.             TSTRING010(13) = " "
  756.             TSTRING011(1) = "@X3F @X3E<@X3F- "
  757.             TSTRING011(2) = "@X3F @X3EC@X3Fopy "
  758.             TSTRING011(3) = "@X3F @X3EM@X3Fove "
  759.             TSTRING011(4) = "@X3F pri@X3EV@X3Fate "
  760.             TSTRING011(5) = "@X3F @X3EP@X3Fublic "
  761.             TSTRING011(6) = "@X3F @X3EF@X3From "
  762.             TSTRING011(7) = "@X3F @X3ET@X3Fo "
  763.             TSTRING011(8) = "@X3F @X3EQ@X3Fuit "
  764.             TSTRING011(9) = "@X3F @X3EH@X3Felp "
  765.             TSTRING011(10) = " "
  766.             TSTRING011(11) = " "
  767.             TSTRING011(12) = " "
  768.             TSTRING011(13) = " "
  769.             TSTRING012(1) = "-> display previous menu (Conference, 6 of 7)"
  770.             TSTRING012(2) = "-> copy current message to another conference (SysOp only)"
  771.             TSTRING012(3) = "-> move current message to another conference (SysOp only)"
  772.             TSTRING012(4) = "-> make current message private (SysOp only)"
  773.             TSTRING012(5) = "-> make current message public (SysOp only)"
  774.             TSTRING012(6) = "-> access current message sender's user record (SysOp only)"
  775.             TSTRING012(7) = "-> access current message recipient's user record (SysOp only)"
  776.             TSTRING012(8) = "-> quit reading mail"
  777.             TSTRING012(9) = "-> help with this prompt"
  778.             TSTRING012(10) = " "
  779.             TSTRING012(11) = " "
  780.             TSTRING012(12) = " "
  781.             TSTRING012(13) = " "
  782.             INTEGER009 = 2
  783.             INTEGER010 = INTEGER009
  784.             INTEGER011 = INTEGER009
  785.     End Select
  786.     Return
  787.     :LABEL009
  788.     If (AnsiOn()) Then
  789.         GetUser
  790.         If (((GetY() > U_PageLen - 4) && U_Cls) && !U_Scroll) Then
  791.             Wait
  792.         Endif
  793.         PrintLn STRING013
  794.         Color 7
  795.         PrintLn "┌───────────────────────────────────────────────────────────────────────────┐"
  796.         PrintLn "│                                                                           │"
  797.         PrintLn "│                                                                           │"
  798.         Print "└───────────────────────────────────────────────────────────────────────────┘"
  799.         Print STRING006 + "[2A"
  800.         Gosub LABEL010
  801.     Else
  802.         STRING005 = RTrim(Left("@INCONF@", 56), " ")
  803.         PrintLn "(@MINLEFT@ min. left) [ " + STRING005 + "]"
  804.         PrintLn "End of message command -> (C)ont  (N)ext  (P)rev  (R)eply  (K)ill  re(D)isp"
  805.         Print "                          non(S)top  (+)  (-)  (A)dv  (Q)uit  (H)elp ? "
  806.     Endif
  807.     Return
  808.     :LABEL010
  809.     Backup GetX() - 2
  810.     Print Space(75)
  811.     Backup GetX() - 2
  812.     For INTEGER004 = 1 To TINTEGER002(INTEGER006)
  813.         TINTEGER007(INTEGER004) = GetX()
  814.         If (INTEGER004 == INTEGER010) Then
  815.             Print TSTRING011(INTEGER004)
  816.             Continue
  817.         Endif
  818.         Print TSTRING010(INTEGER004)
  819.     Next
  820.     Print STRING006 + "[1B"
  821.     Backup GetX() - 2
  822.     Color 47
  823.     Print TSTRING012(INTEGER010) + Space(75 - Len(TSTRING012(INTEGER010)))
  824.     Print STRING006 + "[1A"
  825.     Backup GetX() - 1
  826.     Forward TINTEGER007(INTEGER010) + TINTEGER008(INTEGER010) - 1
  827.     Color INTEGER005
  828.     Return
  829.     :LABEL011
  830.     Backup GetX() - 1
  831.     Forward TINTEGER007(INTEGER010) - 1
  832.     Print TSTRING010(INTEGER010)
  833.     Backup GetX() - 1
  834.     Forward TINTEGER007(INTEGER011) - 1
  835.     Print TSTRING011(INTEGER011)
  836.     Print STRING006 + "[1B"
  837.     Backup GetX() - 2
  838.     Color 47
  839.     Print TSTRING012(INTEGER011) + Space(75 - Len(TSTRING012(INTEGER011)))
  840.     Print STRING006 + "[1A"
  841.     Backup GetX() - 1
  842.     Forward TINTEGER007(INTEGER011) + TINTEGER008(INTEGER011) - 1
  843.     INTEGER010 = INTEGER011
  844.     Color INTEGER005
  845.     Return
  846.     :LABEL012
  847.     INTEGER006 = 1
  848.     Gosub LABEL008
  849.     Gosub LABEL009
  850.     STRING001 = ""
  851.     INTEGER001 = 0
  852.     :LABEL013
  853.     If (INTEGER001 == 13) Goto LABEL016
  854.     STRING009 = ""
  855.     While (STRING009 == "") Do
  856.         STRING009 = Inkey()
  857.     EndWhile
  858.     STRING009 = Upper(STRING009)
  859.     INTEGER001 = Asc(STRING009)
  860.     If ((INTEGER001 == 13) && (Len(STRING001) == 0)) Then
  861.         STRING001 = TSTRING003(INTEGER009)
  862.     ElseIf (INTEGER001 == 8) Then
  863.         INTEGER001 = 0
  864.         If (STRING001 == "") Goto LABEL014
  865.         Backup 1
  866.         Print Space(1)
  867.         Backup 1
  868.         STRING001 = ""
  869.         :LABEL014
  870.     Else
  871.         Select Case (STRING001)
  872.             Case ""
  873.                 For INTEGER004 = 1 To TINTEGER002(INTEGER006)
  874.                     If (STRING009 == TSTRING002(INTEGER004)) Then
  875.                         Print TSTRING002(INTEGER004)
  876.                         STRING001 = TSTRING003(INTEGER004)
  877.                         INTEGER004 = TINTEGER002(INTEGER006)
  878.                     Endif
  879.                 Next
  880.             Case ""
  881.                 Gosub LABEL019
  882.             Endif
  883.     End Select
  884.     If (INTEGER001 == 13) Then
  885.         If (STRING001 == "HELP") Then
  886.             Backup 1
  887.             Print Space(1)
  888.             Backup 1
  889.             STRING008 = PPEPath() + "EOM.HLP"
  890.             Gosub LABEL017
  891.             STRING001 = ""
  892.             INTEGER001 = 0
  893.             Goto LABEL015
  894.         Endif
  895.         If (STRING001 == "ADVANCED") Then
  896.             PrintLn 
  897.             PrintLn 
  898.             Print "Advanced command (ENTER = Exit, H = Help) -> "
  899.             Gosub LABEL020
  900.             PrintLn 
  901.             If (STRING004 == STRING007) Then
  902.                 Gosub LABEL009
  903.                 STRING001 = ""
  904.                 INTEGER001 = 0
  905.                 Goto LABEL015
  906.             Endif
  907.             If (STRING004 == "H" + STRING007) Then
  908.                 STRING008 = HelpPath() + "HLPENDR"
  909.                 Gosub LABEL017
  910.                 Gosub LABEL009
  911.                 KbdStuff "A" + STRING007
  912.                 STRING001 = ""
  913.                 INTEGER001 = 0
  914.                 Goto LABEL015
  915.             Endif
  916.             STRING001 = STRING004
  917.             INTEGER001 = 13
  918.         Endif
  919.     Endif
  920.     :LABEL015
  921.     Goto LABEL013
  922.     :LABEL016
  923.     Return
  924.     :LABEL017
  925.     If (AnsiOn()) Then
  926.         If (InStr(STRING008, "EOM.HLP")) Then
  927.             Print STRING006 + "[2B"
  928.             Backup GetX() - 1
  929.             ClrEol
  930.             Goto LABEL018
  931.         Endif
  932.         Backup GetX() - 1
  933.         ClrEol
  934.         Print STRING006 + "[2A"
  935.         :LABEL018
  936.         For INTEGER004 = 1 To 4
  937.             Print STRING006 + "[1A"
  938.             ClrEol
  939.         Next
  940.     Endif
  941.     SaveScrn
  942.     Cls
  943.     PrintLn "@X0AEnd of Message Prompt - @X0BUNREGISTERED                        @X0ACopyright 1994-1995"
  944.     PrintLn "                                                        Data Management Systems"
  945.     PrintLn "                                                            All Rights Reserved"
  946.     PrintLn 
  947.     PrintLn 
  948.     PrintLn "     @X03Help is available only with the registered version of this software."
  949.     PrintLn "     Please remind your sysop to register this shareware product (@X02DMSPPE1B@X03)."
  950.     PrintLn 
  951.     PrintLn 
  952.     If (OnLocal()) Then
  953.         Sound 920
  954.         Delay 3
  955.         Sound 0
  956.     Else
  957.         MPrint Chr(7)
  958.     Endif
  959.     Wait
  960.     Cls
  961.     RestScrn
  962.     If (AnsiOn()) Then
  963.         Gosub LABEL009
  964.     Endif
  965.     Return
  966.     :LABEL019
  967.     If (OnLocal()) Then
  968.         Sound 920
  969.         Delay 3
  970.         Sound 0
  971.     Else
  972.         MPrint Chr(7)
  973.     Endif
  974.     Return
  975.     :LABEL020
  976.     INTEGER001 = 0
  977.     STRING004 = ""
  978.     :LABEL021
  979.     If (INTEGER001 == 13) Goto LABEL022
  980.     STRING009 = ""
  981.     While (STRING009 == "") Do
  982.         STRING009 = Inkey()
  983.     EndWhile
  984.     INTEGER001 = Asc(Upper(STRING009))
  985.     If (Len(STRING009) > 1) Then
  986.         INTEGER001 = 0
  987.     ElseIf (INTEGER001 == 9) Then
  988.         INTEGER001 = 0
  989.     ElseIf ((INTEGER001 == 8) && (Len(STRING004) == 0)) Then
  990.         INTEGER001 = 0
  991.     ElseIf ((INTEGER001 == 32) && (Len(STRING004) == 0)) Then
  992.         INTEGER001 = 0
  993.     ElseIf (INTEGER001 == 8) Then
  994.         Backup 1
  995.         Print Space(1)
  996.         Backup 1
  997.         STRING004 = Left(STRING004, Len(STRING004) - 1)
  998.         INTEGER001 = 0
  999.     ElseIf ((INTEGER001 == 27) && (Len(STRING004) > 0)) Then
  1000.         Backup Len(STRING004)
  1001.         Print Space(Len(STRING004))
  1002.         Backup Len(STRING004)
  1003.         STRING004 = ""
  1004.         INTEGER001 = 0
  1005.     ElseIf (((INTEGER001 < 32) || (INTEGER001 > 126)) && !(INTEGER001 == 13)) Then
  1006.         INTEGER001 = 0
  1007.     Else
  1008.         Print STRING009
  1009.         STRING004 = STRING004 + STRING009
  1010.     Endif
  1011.     Goto LABEL021
  1012.     :LABEL022
  1013.     STRING004 = Upper(STRING004)
  1014.     PrintLn 
  1015.     Return
  1016.  
  1017. ;------------------------------------------------------------------------------
  1018. ;
  1019. ; Usage report (before postprocessing)
  1020. ;
  1021. ; ■ Statements used :
  1022. ;
  1023. ;    1       End
  1024. ;    2       Cls
  1025. ;    5       ClrEol
  1026. ;    2       Wait
  1027. ;    12      Color 
  1028. ;    113     Goto 
  1029. ;    670     Let 
  1030. ;    35      Print 
  1031. ;    19      PrintLn 
  1032. ;    65      If 
  1033. ;    1       GetUser
  1034. ;    30      Gosub 
  1035. ;    9       Return
  1036. ;    2       Delay 
  1037. ;    3       KbdStuff 
  1038. ;    20      Backup 
  1039. ;    6       Forward 
  1040. ;    1       SaveScrn
  1041. ;    1       RestScrn
  1042. ;    4       Sound 
  1043. ;    2       MPrint 
  1044. ;
  1045. ;
  1046. ; ■ Functions used :
  1047. ;
  1048. ;    40      +
  1049. ;    22      -
  1050. ;    54      ==
  1051. ;    5       <
  1052. ;    5       <=
  1053. ;    6       >
  1054. ;    8       >=
  1055. ;    67      !
  1056. ;    17      &&
  1057. ;    7       ||
  1058. ;    13      Len(
  1059. ;    4       Upper()
  1060. ;    7       Left()
  1061. ;    9       Space()
  1062. ;    5       Chr()
  1063. ;    3       Asc()
  1064. ;    2       InStr()
  1065. ;    2       RTrim()
  1066. ;    3       Inkey()
  1067. ;    2       PPEPath()
  1068. ;    2       OnLocal()
  1069. ;    4       AnsiOn()
  1070. ;    13      GetX()
  1071. ;    1       GetY()
  1072. ;    1       CurColor()
  1073. ;    2       HelpPath()
  1074. ;    4       ToInteger()
  1075. ;
  1076. ;------------------------------------------------------------------------------
  1077. ;
  1078. ; Analysis flags : M
  1079. ;
  1080. ; M - Send text to modem only ■ 4
  1081. ;     Some informations are sent only to the modem, not to the local
  1082. ;     screen, this is a well known way to make stealth backdoors, Check!
  1083. ;     ■ Search for : SENDMODEM, MPRINT, MPRINTLN
  1084. ;
  1085. ;------------------------------------------------------------------------------
  1086. ;
  1087. ; Postprocessing report
  1088. ;
  1089. ;    4       For/Next
  1090. ;    3       While/EndWhile
  1091. ;    43      If/Then or If/Then/Else
  1092. ;    2       Select Case
  1093. ;
  1094. ;------------------------------------------------------------------------------
  1095. ;                 AEGiS Corp - Break the routines, code against the machines!
  1096. ;------------------------------------------------------------------------------
  1097.