home *** CD-ROM | disk | FTP | other *** search
- ;------------------------------------------------------------------------------
- ; .ss.
- ; `²²'
- ; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
- ; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
- ; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
- ; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
- ; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
- ; .sS²°$$$²²°"' d²°'
- ; .$$² .$$'
- ; $$$.,d$$'
- ; `²S$$S²'
- ;------------------------------------------------------------------------------
- ; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
- ;------------------------------------------------------------------------------
- ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
- ;------------------------------------------------------------------------------
-
- Integer INTEGER001
- Integer INTEGER002
- Integer INTEGER003
- Integer INTEGER004
- Integer INTEGER005
- Integer INTEGER006
- Integer INTEGER007
- Integer INTEGER008
- Integer INTEGER009
- Integer INTEGER010
- Integer INTEGER011
- Integer INTEGER012
- Integer INTEGER013
- Integer INTEGER014
- Integer INTEGER015
- Integer INTEGER016
- Integer INTEGER017
- Integer INTEGER018
- Integer INTEGER019
- Integer INTEGER020
- Integer INTEGER021
- String STRING001
- String STRING002
- String STRING003
- String STRING004
- String STRING005
- String STRING006
- String STRING007
- String STRING008
- String STRING009
- String STRING010
- String STRING011
- String STRING012
- String STRING013
- String STRING014
- String STRING015
- String STRING016
-
- ;------------------------------------------------------------------------------
-
- SaveScrn
- FOpen 1, PPEPath() + "SPLITSCR.CNF", 0, 0
- FGet 1, STRING001
- FGet 1, STRING002
- FGet 1, STRING003
- FGet 1, STRING004
- FGet 1, STRING005
- FGet 1, INTEGER001
- FGet 1, STRING008
- FGet 1, STRING009
- FGet 1, INTEGER002
- FGet 1, INTEGER003
- FClose 1
- If (Exist(PPEPath() + STRING003)) DispFile PPEPath() + STRING003, 1
- Delay INTEGER001
- If (Exist(PPEPath() + STRING004)) DispFile PPEPath() + STRING004, 1
- INTEGER021 = 1
- :LABEL001
- If (Mid(STRING008, INTEGER021, 1) == ";") Goto LABEL002
- STRING010 = STRING010 + Mid(STRING008, INTEGER021, 1)
- Inc INTEGER021
- Goto LABEL001
- :LABEL002
- Inc INTEGER021
- INTEGER009 = STRING010
- STRING010 = ""
- :LABEL003
- If (Mid(STRING008, INTEGER021, 1) == ";") Goto LABEL004
- STRING010 = STRING010 + Mid(STRING008, INTEGER021, 1)
- Inc INTEGER021
- Goto LABEL003
- :LABEL004
- Inc INTEGER021
- INTEGER010 = STRING010
- STRING010 = ""
- :LABEL005
- If (Mid(STRING008, INTEGER021, 1) == ";") Goto LABEL006
- STRING010 = STRING010 + Mid(STRING008, INTEGER021, 1)
- Inc INTEGER021
- Goto LABEL005
- :LABEL006
- Inc INTEGER021
- INTEGER011 = STRING010
- STRING010 = ""
- :LABEL007
- If (INTEGER021 > Len(STRING008)) Goto LABEL008
- STRING010 = STRING010 + Mid(STRING008, INTEGER021, 1)
- Inc INTEGER021
- Goto LABEL007
- :LABEL008
- Inc INTEGER021
- INTEGER012 = STRING010
- STRING010 = ""
- INTEGER021 = 1
- :LABEL009
- If (Mid(STRING009, INTEGER021, 1) == ";") Goto LABEL010
- STRING010 = STRING010 + Mid(STRING009, INTEGER021, 1)
- Inc INTEGER021
- Goto LABEL009
- :LABEL010
- Inc INTEGER021
- INTEGER013 = STRING010
- STRING010 = ""
- :LABEL011
- If (Mid(STRING009, INTEGER021, 1) == ";") Goto LABEL012
- STRING010 = STRING010 + Mid(STRING009, INTEGER021, 1)
- Inc INTEGER021
- Goto LABEL011
- :LABEL012
- Inc INTEGER021
- INTEGER014 = STRING010
- STRING010 = ""
- :LABEL013
- If (Mid(STRING009, INTEGER021, 1) == ";") Goto LABEL014
- STRING010 = STRING010 + Mid(STRING009, INTEGER021, 1)
- Inc INTEGER021
- Goto LABEL013
- :LABEL014
- Inc INTEGER021
- INTEGER015 = STRING010
- STRING010 = ""
- :LABEL015
- If (INTEGER021 > Len(STRING009)) Goto LABEL016
- STRING010 = STRING010 + Mid(STRING009, INTEGER021, 1)
- Inc INTEGER021
- Goto LABEL015
- :LABEL016
- Inc INTEGER021
- INTEGER016 = STRING010
- STRING010 = ""
- INTEGER017 = INTEGER009
- INTEGER018 = INTEGER010
- INTEGER019 = INTEGER013
- INTEGER020 = INTEGER014
- STRING015 = ""
- STRING016 = ""
- For INTEGER008 = 0 To INTEGER015 - INTEGER013
- STRING015 = STRING015 + " "
- Next
- For INTEGER008 = 0 To INTEGER011 - INTEGER009
- STRING016 = STRING016 + " "
- Next
- AnsiPos INTEGER009, INTEGER010
- :LABEL017
- STRING012 = KInkey()
- STRING011 = MInkey()
- If ((STRING012 == "") && (STRING011 == "")) Goto LABEL017
- If ((STRING012 == "ALT P") || (STRING011 == "ALT P")) If (INTEGER003 == 2) Print "@BEEP@"
- If (STRING012 == "") Goto LABEL027
- If ((((Len(STRING012) == 1) || (STRING012 == Chr(7))) || (STRING012 == Chr(13))) || (STRING012 == Chr(27))) Then
- If (STRING012 == Chr(7)) Then
- Print "@BEEP@"
- Goto LABEL027
- Endif
- If (STRING012 == Chr(9)) Goto LABEL027
- If (STRING012 == Chr(27)) Goto LABEL037
- If (STRING012 == Chr(13)) Then
- STRING014 = ScrText(INTEGER009, INTEGER018, INTEGER011 - INTEGER009 + 1, 0)
- If ((Upper(Mid(STRING014, 1, 3)) == "/Q ") && (INTEGER002 == 3)) Goto LABEL037
- If ((Upper(Mid(STRING014, 1, 6)) == "/PAGE ") && (INTEGER003 == 3)) Print "@BEEP@"
- If (Upper(Mid(STRING014, 1, 5)) == "/BYE ") Goto LABEL038
- INTEGER017 = INTEGER009
- Inc INTEGER018
- If (INTEGER018 > INTEGER012) Then
- STRING013 = ScrText(INTEGER009, INTEGER012, INTEGER011 - INTEGER009 + 1, 0)
- INTEGER004 = INTEGER009
- INTEGER005 = INTEGER010
- AnsiPos INTEGER004, INTEGER005
- Print STRING001
- :LABEL018
- If (INTEGER005 > INTEGER012) Goto LABEL019
- Print STRING016
- Inc INTEGER005
- AnsiPos INTEGER004, INTEGER005
- Goto LABEL018
- :LABEL019
- AnsiPos INTEGER009, INTEGER010
- Print STRING001 + STRING013
- INTEGER018 = INTEGER010 + 1
- Endif
- AnsiPos INTEGER017, INTEGER018
- Goto LABEL027
- Endif
- If (STRING012 == Chr(8)) Then
- Dec INTEGER017
- If (INTEGER017 < INTEGER009) INTEGER017 = INTEGER009
- AnsiPos INTEGER017, INTEGER018
- Print STRING001 + " " + Chr(8)
- Goto LABEL027
- Endif
- AnsiPos INTEGER017, INTEGER018
- Print STRING001 + STRING012
- Inc INTEGER017
- If (INTEGER017 > INTEGER011) Then
- STRING006 = ""
- STRING007 = ""
- STRING014 = ScrText(INTEGER009, INTEGER018, INTEGER011 - INTEGER009 + 1, 0)
- If (Mid(STRING014, Len(STRING014), 1) == " ") INTEGER017 = INTEGER009
- If (Mid(STRING014, Len(STRING014), 1) == " ") Goto LABEL024
- INTEGER006 = Len(STRING014)
- INTEGER007 = 1
- :LABEL020
- If (STRING006 == " ") Goto LABEL021
- STRING006 = Mid(STRING014, INTEGER006, 1)
- If (!(STRING006 == " ")) STRING007 = STRING007 + STRING006
- Dec INTEGER006
- Goto LABEL020
- :LABEL021
- INTEGER007 = Len(STRING007)
- If (INTEGER007 == INTEGER011 - INTEGER009 + 1) Then
- INTEGER017 = INTEGER009
- Goto LABEL024
- Endif
- AnsiPos INTEGER011 - INTEGER007, INTEGER018
- For INTEGER008 = INTEGER011 - INTEGER007 To INTEGER011
- Print " "
- Next
- If (INTEGER018 == INTEGER012) Then
- STRING013 = ScrText(INTEGER009, INTEGER012, INTEGER011 - INTEGER009 + 1, 0)
- INTEGER004 = INTEGER009
- INTEGER005 = INTEGER010
- AnsiPos INTEGER004, INTEGER005
- Print STRING001
- :LABEL022
- If (INTEGER005 > INTEGER012) Goto LABEL023
- Print STRING016
- Inc INTEGER005
- AnsiPos INTEGER004, INTEGER005
- Goto LABEL022
- :LABEL023
- AnsiPos INTEGER009, INTEGER010
- Print STRING001 + STRING013
- INTEGER018 = INTEGER010
- Endif
- AnsiPos INTEGER009, INTEGER018 + 1
- INTEGER007 = Len(STRING007)
- While (INTEGER007 > 0) Do
- Print Mid(STRING007, INTEGER007, 1)
- Dec INTEGER007
- EndWhile
- INTEGER017 = INTEGER009 + Len(STRING007)
- :LABEL024
- Inc INTEGER018
- If (INTEGER018 > INTEGER012) Then
- STRING013 = ScrText(INTEGER009, INTEGER012, INTEGER011 - INTEGER009 + 1, 0)
- INTEGER004 = INTEGER009
- INTEGER005 = INTEGER010
- AnsiPos INTEGER004, INTEGER005
- Print STRING001
- :LABEL025
- If (INTEGER005 > INTEGER012) Goto LABEL026
- Print STRING016
- Inc INTEGER005
- AnsiPos INTEGER004, INTEGER005
- Goto LABEL025
- :LABEL026
- AnsiPos INTEGER009, INTEGER010
- Print STRING001 + STRING013
- INTEGER018 = INTEGER010 + 1
- Endif
- AnsiPos INTEGER017, INTEGER018
- Endif
- Endif
- :LABEL027
- If (STRING011 == "") Goto LABEL017
- If ((((Len(STRING011) == 1) || (STRING011 == Chr(7))) || (STRING011 == Chr(13))) || (STRING011 == Chr(27))) Then
- If (STRING011 == Chr(7)) Then
- Print "@BEEP@"
- Goto LABEL017
- Endif
- If (STRING011 == Chr(9)) Goto LABEL017
- If (STRING011 == Chr(27)) Goto LABEL037
- If (STRING011 == Chr(13)) Then
- STRING014 = ScrText(INTEGER013, INTEGER020, INTEGER015 - INTEGER013 + 1, 0)
- If ((Upper(Mid(STRING014, 1, 3)) == "/Q ") && (INTEGER002 == 3)) Goto LABEL037
- If ((Upper(Mid(STRING014, 1, 6)) == "/PAGE ") && (INTEGER003 == 3)) Print "@BEEP@"
- If (Upper(Mid(STRING014, 1, 5)) == "/BYE ") Goto LABEL038
- INTEGER019 = INTEGER013
- Inc INTEGER020
- If (INTEGER020 > INTEGER016) Then
- STRING013 = ScrText(INTEGER013, INTEGER016, INTEGER015 - INTEGER013 + 1, 0)
- INTEGER004 = INTEGER013
- INTEGER005 = INTEGER014
- AnsiPos INTEGER004, INTEGER005
- Print STRING001
- :LABEL028
- If (INTEGER005 > INTEGER016) Goto LABEL029
- Print STRING015
- Inc INTEGER005
- AnsiPos INTEGER004, INTEGER005
- Goto LABEL028
- :LABEL029
- AnsiPos INTEGER013, INTEGER014
- Print STRING002 + STRING013
- INTEGER020 = INTEGER014 + 1
- Endif
- AnsiPos INTEGER019, INTEGER020
- Goto LABEL017
- Endif
- If (STRING011 == Chr(8)) Then
- Dec INTEGER019
- If (INTEGER019 < INTEGER013) INTEGER019 = INTEGER013
- AnsiPos INTEGER019, INTEGER020
- Print STRING002 + " " + Chr(8)
- Goto LABEL017
- Endif
- AnsiPos INTEGER019, INTEGER020
- Print STRING002 + STRING011
- Inc INTEGER019
- If (INTEGER019 > INTEGER015) Then
- STRING006 = ""
- STRING007 = ""
- STRING014 = ScrText(INTEGER013, INTEGER020, INTEGER015 - INTEGER013 + 1, 0)
- If (Mid(STRING014, Len(STRING014), 1) == " ") INTEGER019 = INTEGER013
- If (Mid(STRING014, Len(STRING014), 1) == " ") Goto LABEL034
- INTEGER006 = Len(STRING014)
- INTEGER007 = 1
- :LABEL030
- If (STRING006 == " ") Goto LABEL031
- STRING006 = Mid(STRING014, INTEGER006, 1)
- If (!(STRING006 == " ")) STRING007 = STRING007 + STRING006
- Dec INTEGER006
- Goto LABEL030
- :LABEL031
- INTEGER007 = Len(STRING007)
- If (INTEGER007 == INTEGER015 - INTEGER013 + 1) Then
- INTEGER019 = INTEGER013
- Goto LABEL034
- Endif
- AnsiPos INTEGER015 - INTEGER007, INTEGER020
- For INTEGER008 = INTEGER015 - INTEGER007 To INTEGER015
- Print " "
- Next
- If (INTEGER020 == INTEGER016) Then
- STRING013 = ScrText(INTEGER013, INTEGER016, INTEGER015 - INTEGER013 + 1, 0)
- INTEGER004 = INTEGER013
- INTEGER005 = INTEGER014
- AnsiPos INTEGER004, INTEGER005
- Print STRING001
- :LABEL032
- If (INTEGER005 > INTEGER016) Goto LABEL033
- Print STRING015
- Inc INTEGER005
- AnsiPos INTEGER004, INTEGER005
- Goto LABEL032
- :LABEL033
- AnsiPos INTEGER013, INTEGER014
- Print STRING002 + STRING013
- INTEGER020 = INTEGER014
- Endif
- AnsiPos INTEGER013, INTEGER020 + 1
- INTEGER007 = Len(STRING007)
- While (INTEGER007 > 0) Do
- Print Mid(STRING007, INTEGER007, 1)
- Dec INTEGER007
- EndWhile
- INTEGER019 = INTEGER013 + Len(STRING007)
- :LABEL034
- Inc INTEGER020
- If (INTEGER020 > INTEGER016) Then
- STRING013 = ScrText(INTEGER013, INTEGER016, INTEGER015 - INTEGER013 + 1, 0)
- INTEGER004 = INTEGER013
- INTEGER005 = INTEGER014
- AnsiPos INTEGER004, INTEGER005
- Print STRING002
- :LABEL035
- If (INTEGER005 > INTEGER016) Goto LABEL036
- Print STRING015
- Inc INTEGER005
- AnsiPos INTEGER004, INTEGER005
- Goto LABEL035
- :LABEL036
- AnsiPos INTEGER013, INTEGER014
- Print STRING002 + STRING013
- INTEGER020 = INTEGER014 + 1
- Endif
- AnsiPos INTEGER019, INTEGER020
- Endif
- Endif
- Goto LABEL017
- :LABEL037
- Print "@X0F"
- If (Exist(PPEPath() + STRING005)) DispFile PPEPath() + STRING005, 1
- Cls
- RestScrn
- End
- :LABEL038
- Print "@X0F"
- Cls
- Hangup
-
- ;------------------------------------------------------------------------------
- ;
- ; Usage report (before postprocessing)
- ;
- ; ■ Statements used :
- ;
- ; 1 End
- ; 2 Cls
- ; 89 Goto
- ; 98 Let
- ; 33 Print
- ; 76 If
- ; 3 DispFile
- ; 1 FOpen
- ; 1 FClose
- ; 10 FGet
- ; 1 Hangup
- ; 1 Delay
- ; 28 Inc
- ; 6 Dec
- ; 31 AnsiPos
- ; 1 SaveScrn
- ; 1 RestScrn
- ;
- ;
- ; ■ Functions used :
- ;
- ; 55 +
- ; 20 -
- ; 64 ==
- ; 6 <
- ; 4 <=
- ; 16 >
- ; 8 >=
- ; 48 !
- ; 13 &&
- ; 12 ||
- ; 16 Len(
- ; 6 Upper()
- ; 28 Mid()
- ; 22 Chr()
- ; 7 PPEPath()
- ; 3 Exist()
- ; 1 KInkey()
- ; 1 MInkey()
- ; 10 ScrText()
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Analysis flags : B
- ;
- ; B - Brute hangup ■ 1
- ; Program hangup without notification. This may be a good way to
- ; disconnect a user, but if used randomly, may be very nasty
- ; ■ Search for : HANGUP, DTROFF
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Postprocessing report
- ;
- ; 4 For/Next
- ; 2 While/EndWhile
- ; 18 If/Then or If/Then/Else
- ; 0 Select Case
- ;
- ;------------------------------------------------------------------------------
- ; AEGiS Corp - Break the routines, code against the machines!
- ;------------------------------------------------------------------------------
-