home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.wwiv.com
/
ftp.wwiv.com.zip
/
ftp.wwiv.com
/
pub
/
BBS
/
DMSPPE1A.ZIP
/
EOM.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-11-27
|
8KB
|
429 lines
;------------------------------------------------------------------------------
; .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
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Boolean BOOLEAN003
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer TINTEGER005(12)
Integer TINTEGER006(12)
Integer INTEGER007
Integer INTEGER008
String STRING001
String TSTRING002(12)
String TSTRING003(12)
String STRING004
String TSTRING005(12)
String TSTRING006(12)
String TSTRING007(12)
String STRING008
String STRING009
;------------------------------------------------------------------------------
INTEGER002 = 12
TSTRING002(1) = "C"
TSTRING002(2) = "N"
TSTRING002(3) = "P"
TSTRING002(4) = "R"
TSTRING002(5) = "K"
TSTRING002(6) = "T"
TSTRING002(7) = "E"
TSTRING002(8) = "S"
TSTRING002(9) = "+"
TSTRING002(10) = "-"
TSTRING002(11) = "Q"
TSTRING002(12) = "H"
TSTRING003(1) = Chr(13)
TSTRING003(2) = "NEXT"
TSTRING003(3) = "PREV"
TSTRING003(4) = "RE"
TSTRING003(5) = "K"
TSTRING003(6) = "D"
TSTRING003(7) = "EDIT"
TSTRING003(8) = "NS"
TSTRING003(9) = "+"
TSTRING003(10) = "-"
TSTRING003(11) = "N"
TSTRING003(12) = "H"
BOOLEAN002 = 0
If (KbdFilUsed()) Then
STRING004 = Inkey()
If (STRING004 == "F") Then
STRING001 = "FLAG" + Chr(13)
BOOLEAN002 = 1
Goto LABEL001
Endif
If (STRING004 == "V") Then
STRING001 = "V" + Chr(13)
BOOLEAN002 = 1
Endif
:LABEL001
KeyFlush
Endif
If (BOOLEAN002) Goto LABEL002
BOOLEAN001 = AnsiOn()
If (BOOLEAN001) Then
Gosub LABEL003
PrintLn
PrintLn
Else
Gosub LABEL007
Endif
:LABEL002
KbdStuff STRING001
End
:LABEL003
INTEGER004 = CurColor()
TINTEGER006(1) = 1
TINTEGER006(2) = 1
TINTEGER006(3) = 1
TINTEGER006(4) = 1
TINTEGER006(5) = 1
TINTEGER006(6) = 4
TINTEGER006(7) = 1
TINTEGER006(8) = 4
TINTEGER006(9) = 1
TINTEGER006(10) = 1
TINTEGER006(11) = 1
TINTEGER006(12) = 1
STRING008 = "@X0E(@X0C@MINLEFT@@X0E min. left) @X0C[ @INCONF@]@X0E" + " @X0AEnd of Message Command:"
TSTRING005(1) = "@X0B @X0EC@X0Bont "
TSTRING005(2) = "@X0B @X0EN@X0Bext "
TSTRING005(3) = "@X0B @X0EP@X0Brev "
TSTRING005(4) = "@X0B @X0ER@X0Beply "
TSTRING005(5) = "@X0B @X0EK@X0Bill "
TSTRING005(6) = "@X0B cap@X0ET@X0Bure "
TSTRING005(7) = "@X0B @X0EE@X0Bdit "
TSTRING005(8) = "@X0B non@X0ES@X0Btop "
TSTRING005(9) = "@X0B @X0E+@X0B "
TSTRING005(10) = "@X0B @X0E-@X0B "
TSTRING005(11) = "@X0B @X0EQ@X0Buit "
TSTRING005(12) = "@X0B @X0EH@X0Belp "
TSTRING006(1) = "@X3F @X3EC@X3Font "
TSTRING006(2) = "@X3F @X3EN@X3Fext "
TSTRING006(3) = "@X3F @X3EP@X3Frev "
TSTRING006(4) = "@X3F @X3ER@X3Feply "
TSTRING006(5) = "@X3F @X3EK@X3Fill "
TSTRING006(6) = "@X3F cap@X3ET@X3Fure "
TSTRING006(7) = "@X3F @X3EE@X3Fdit "
TSTRING006(8) = "@X3F non@X3ES@X3Ftop "
TSTRING006(9) = "@X3F @X3E+@X3F "
TSTRING006(10) = "@X3F @X3E-@X3F "
TSTRING006(11) = "@X3F @X3EQ@X3Fuit "
TSTRING006(12) = "@X3F @X3EH@X3Felp "
TSTRING007(1) = "-> read next message in current direction (+/-)"
TSTRING007(2) = "-> read next message (forward)"
TSTRING007(3) = "-> read previous message (backward)"
TSTRING007(4) = "-> reply to current message"
TSTRING007(5) = "-> delete current message"
TSTRING007(6) = "-> capture current message for immediate downloading"
TSTRING007(7) = "-> edit current message (if from you)"
TSTRING007(8) = "-> display all mail without pausing between messages"
TSTRING007(9) = "-> change read direction to forward"
TSTRING007(10) = "-> change read direction to backward"
TSTRING007(11) = "-> quit reading mail"
TSTRING007(12) = "-> help with this prompt"
INTEGER007 = 1
INTEGER008 = 1
Gosub LABEL012
:LABEL004
If (INTEGER001 == 13) Goto LABEL006
STRING004 = ""
BOOLEAN003 = 0
While (STRING004 == "") Do
STRING004 = Inkey()
EndWhile
If (Len(STRING004) == 1) Then
STRING004 = Upper(STRING004)
INTEGER001 = Asc(STRING004)
Else
INTEGER001 = 0
Endif
If ((Left(STRING004, 5) == "RIGHT") || (INTEGER001 == 32)) Then
INTEGER008 = INTEGER007 + 1
If (INTEGER008 > INTEGER002) Then
INTEGER008 = 1
Endif
BOOLEAN003 = 1
ElseIf ((Left(STRING004, 4) == "LEFT") || (INTEGER001 == 8)) Then
INTEGER008 = INTEGER007 - 1
If (INTEGER008 == 0) Then
INTEGER008 = INTEGER002
Endif
BOOLEAN003 = 1
ElseIf (Left(STRING004, 4) == "HOME") Then
INTEGER008 = 1
BOOLEAN003 = 1
ElseIf (Left(STRING004, 3) == "END") Then
INTEGER008 = INTEGER002
BOOLEAN003 = 1
ElseIf (INTEGER001 == 13) Then
STRING001 = TSTRING003(INTEGER008)
Else
For INTEGER003 = 1 To INTEGER002
If (STRING004 == TSTRING002(INTEGER003)) Then
INTEGER008 = INTEGER003
BOOLEAN003 = 1
INTEGER003 = INTEGER002
Endif
Next
If (BOOLEAN003) Goto LABEL005
If (OnLocal()) Then
Sound 920
Delay 3
Sound 0
Else
MPrint Chr(7)
Endif
Endif
:LABEL005
If (BOOLEAN003) Then
Gosub LABEL013
Endif
If ((INTEGER001 == 13) && (INTEGER007 == INTEGER002)) Then
Gosub LABEL011
INTEGER008 = 1
Gosub LABEL013
INTEGER001 = 0
Endif
Goto LABEL004
:LABEL006
Color INTEGER004
Return
:LABEL007
Gosub LABEL012
INTEGER001 = 0
:LABEL008
If (INTEGER001 == 13) Goto LABEL010
STRING004 = ""
While (STRING004 == "") Do
STRING004 = Inkey()
EndWhile
STRING004 = Upper(STRING004)
INTEGER001 = Asc(STRING004)
Select Case (INTEGER001)
Case 8
INTEGER001 = 0
If (STRING001 == "") Goto LABEL009
Backup 1
Print Space(1)
Backup 1
STRING001 = ""
:LABEL009
Case 13
If (STRING001 == "H") Then
Backup 1
Print Space(1)
Backup 1
Gosub LABEL011
INTEGER001 = 0
STRING001 = ""
Else
STRING001 = STRING001 + Chr(13)
Endif
Case ""
For INTEGER003 = 1 To INTEGER002
If (STRING004 == TSTRING002(INTEGER003)) Then
Print TSTRING002(INTEGER003)
STRING001 = TSTRING003(INTEGER003)
INTEGER003 = INTEGER002
Endif
Next
Case
Sound 920
Delay 3
Sound 0
Case Else
MPrint Chr(7)
End Select
Goto LABEL008
:LABEL010
Return
:LABEL011
STRING009 = PPEPath() + "EOM.HLP"
If (BOOLEAN001) Then
Print Chr(27) + "[2B"
Backup GetX() - 1
ClrEol
For INTEGER003 = 1 To 4
Print Chr(27) + "[1A"
ClrEol
Next
Endif
SaveScrn
Cls
PrintLn "@X0AEnd of Message Prompt - @X0BUNREGISTERED @X0ACopyright 1994 Data Management Systems"
PrintLn " All Rights Reserved"
PrintLn
PrintLn
PrintLn " @X03Help is available only with the registered version of this software."
PrintLn " Please remind your sysop to register this shareware product (@X02DMSPPE10@X03)."
PrintLn
PrintLn
If (OnLocal()) Then
Sound 920
Delay 3
Sound 0
Else
MPrint Chr(7)
Endif
Wait
Cls
RestScrn
If (BOOLEAN001) Then
Gosub LABEL012
Endif
Return
:LABEL012
GetUser
If (BOOLEAN001) Then
If (((GetY() > U_PageLen - 4) && U_Cls) && !U_Scroll) Then
Wait
Endif
PrintLn STRING008
Color 7
PrintLn "┌───────────────────────────────────────────────────────────────────────────┐"
PrintLn "│ │"
PrintLn "│ │"
Print "└───────────────────────────────────────────────────────────────────────────┘"
Print Chr(27) + "[2A"
Backup GetX() - 2
For INTEGER003 = 1 To INTEGER002
TINTEGER005(INTEGER003) = GetX()
If (INTEGER003 == INTEGER007) Then
Print TSTRING006(INTEGER003)
Continue
Endif
Print TSTRING005(INTEGER003)
Next
Print Chr(27) + "[1B"
Backup GetX() - 2
Color 47
Print TSTRING007(INTEGER007) + Space(75 - Len(TSTRING007(INTEGER007)))
Backup GetX() - 1
Forward TINTEGER005(INTEGER007) + TINTEGER006(INTEGER007) - 1
Print Chr(27) + "[1A"
Color INTEGER004
Else
PrintLn "(@MINLEFT@ min. left) [ @INCONF@]"
PrintLn "End of message command -> (C)ont (N)ext (P)rev (R)eply (K)ill cap(T)ure"
Print " (E)dit non(S)top (+) (-) (Q)uit (H)elp ? "
Endif
Return
:LABEL013
Backup GetX() - 1
Forward TINTEGER005(INTEGER007) - 1
Print TSTRING005(INTEGER007)
Backup GetX() - 1
Forward TINTEGER005(INTEGER008) - 1
Print TSTRING006(INTEGER008)
Print Chr(27) + "[1B"
Backup GetX() - 2
Color 47
Print TSTRING007(INTEGER008) + Space(75 - Len(TSTRING007(INTEGER008)))
Print Chr(27) + "[1A"
Backup GetX() - 1
Forward TINTEGER005(INTEGER008) + TINTEGER006(INTEGER008) - 1
Color INTEGER004
INTEGER007 = INTEGER008
Color INTEGER004
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 2 Cls
; 2 ClrEol
; 2 Wait
; 7 Color
; 64 Goto
; 129 Let
; 18 Print
; 16 PrintLn
; 39 If
; 1 GetUser
; 9 Gosub
; 5 Return
; 3 Delay
; 1 KbdStuff
; 12 Backup
; 4 Forward
; 1 SaveScrn
; 1 RestScrn
; 6 Sound
; 3 MPrint
; 1 KeyFlush
;
;
; ■ Functions used :
;
; 21 +
; 16 -
; 25 ==
; 4 <
; 4 <=
; 2 >
; 8 >=
; 40 !
; 11 &&
; 6 ||
; 3 Len(
; 2 Upper()
; 4 Left()
; 4 Space()
; 14 Chr()
; 2 Asc()
; 3 Inkey()
; 1 PPEPath()
; 3 OnLocal()
; 1 AnsiOn()
; 9 GetX()
; 1 GetY()
; 1 CurColor()
; 1 KbdFilUsed()
;
;------------------------------------------------------------------------------
;
; Analysis flags : M
;
; M - Send text to modem only ■ 4
; Some informations are sent only to the modem, not to the local
; screen, this is a well known way to make stealth backdoors, Check!
; ■ Search for : SENDMODEM, MPRINT, MPRINTLN
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 4 For/Next
; 2 While/EndWhile
; 24 If/Then or If/Then/Else
; 1 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------