home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.wwiv.com
/
ftp.wwiv.com.zip
/
ftp.wwiv.com
/
pub
/
BBS
/
DMSPPE1A.ZIP
/
SCANMAIL.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-11-14
|
5KB
|
339 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
String STRING001
String STRING002
String TSTRING003(5)
String TSTRING004(5)
String TSTRING005(5)
String TSTRING006(5)
String STRING007
String STRING008
Int INT001
Int INT002
Int TINT003(5)
Int TINT004(5)
Int INT005
Int INT006
Int INT007
Int INT008
;------------------------------------------------------------------------------
BOOLEAN001 = AnsiOn()
If (BOOLEAN001) Then
Gosub LABEL001
Else
Gosub LABEL004
Endif
Newline
KbdStuff STRING001
End
:LABEL001
INT002 = CurColor()
INT007 = 5
TSTRING005(1) = "C"
TSTRING005(2) = "S"
TSTRING005(3) = "A"
TSTRING005(4) = "N"
TSTRING005(5) = "H"
TINT004(1) = 1
TINT004(2) = 1
TINT004(3) = 1
TINT004(4) = 1
TINT004(5) = 1
TSTRING006(1) = "Y"
TSTRING006(2) = "A"
TSTRING006(3) = "ALL"
TSTRING006(4) = "N"
TSTRING006(5) = "H"
STRING007 = "@X0AScan mail since last read -> "
TSTRING003(1) = "@X0B @X0EC@X0Burrent "
TSTRING003(2) = "@X0B @X0ES@X0Belected "
TSTRING003(3) = "@X0B @X0EA@X0Bll "
TSTRING003(4) = "@X0B @X0EN@X0Bo "
TSTRING003(5) = "@X0B @X0EH@X0Belp "
TSTRING004(1) = "@X3F @X3EC@X3Furrent "
TSTRING004(2) = "@X3F @X3ES@X3Felected "
TSTRING004(3) = "@X3F @X3EA@X3Fll "
TSTRING004(4) = "@X3F @X3EN@X3Fo "
TSTRING004(5) = "@X3F @X3EH@X3Felp "
INT005 = 1
INT006 = 1
Gosub LABEL009
:LABEL002
If (INT001 == 13) Goto LABEL003
STRING002 = ""
BOOLEAN002 = 0
While (STRING002 == "") Do
STRING002 = Inkey()
EndWhile
If (Len(STRING002) == 1) Then
INT001 = Asc(STRING002)
Else
INT001 = 0
Endif
If ((Left(STRING002, 5) == "RIGHT") || (INT001 == 32)) Then
INT006 = INT005 + 1
If (INT006 > INT007) Then
INT006 = 1
Endif
BOOLEAN002 = 1
ElseIf ((Left(STRING002, 4) == "LEFT") || (INT001 == 8)) Then
INT006 = INT005 - 1
If (INT006 == 0) Then
INT006 = INT007
Endif
BOOLEAN002 = 1
ElseIf (Left(STRING002, 4) == "HOME") Then
INT006 = 1
BOOLEAN002 = 1
ElseIf (Left(STRING002, 3) == "END") Then
INT006 = INT007
BOOLEAN002 = 1
Else
Select Case (INT001)
Case 99, 67
INT006 = 1
BOOLEAN002 = 1
Case 115, 83
INT006 = 2
BOOLEAN002 = 1
Case 97, 65
INT006 = 3
BOOLEAN002 = 1
Case 110, 78
INT006 = 4
BOOLEAN002 = 1
Case 104, 72
INT006 = 5
BOOLEAN002 = 1
Case 13
STRING001 = TSTRING006(INT006)
Case
Sound 920
Delay 3
Sound 0
Case Else
MPrint Chr(7)
Endif
End Select
If (BOOLEAN002) Then
Gosub LABEL010
Endif
If ((INT001 == 13) && (INT005 == INT007)) Then
Gosub LABEL008
INT006 = 1
Gosub LABEL010
INT001 = 0
Endif
Goto LABEL002
:LABEL003
Color INT002
Return
:LABEL004
Gosub LABEL009
INT001 = 0
:LABEL005
If (INT001 == 13) Goto LABEL007
STRING002 = ""
While (STRING002 == "") Do
STRING002 = Inkey()
EndWhile
INT001 = Asc(STRING002)
If (((INT001 == 99) || (INT001 == 67)) && (STRING001 == "")) Then
Print "C"
STRING001 = "Y"
ElseIf (((INT001 == 115) || (INT001 == 83)) && (STRING001 == "")) Then
Print "S"
STRING001 = "A"
ElseIf (((INT001 == 97) || (INT001 == 65)) && (STRING001 == "")) Then
Print "A"
STRING001 = "ALL"
ElseIf (((INT001 == 110) || (INT001 == 78)) && (STRING001 == "")) Then
Print "N"
STRING001 = "N"
ElseIf (((INT001 == 104) || (INT001 == 72)) && (STRING001 == "")) Then
Print "H"
STRING001 = "H"
Else
Select Case (INT001)
Case 8
INT001 = 0
If (STRING001 == "") Goto LABEL006
Backup 1
Print Space(1)
Backup 1
STRING001 = ""
:LABEL006
Case 13
If (STRING001 == "H") Then
Backup 1
Print Space(1)
Backup 1
Gosub LABEL008
INT001 = 0
STRING001 = ""
Else
STRING001 = STRING001 + Chr(13)
Endif
Case
Sound 920
Delay 3
Sound 0
Case Else
MPrint Chr(7)
Endif
End Select
Goto LABEL005
:LABEL007
Return
:LABEL008
STRING008 = PPEPath() + "SCANMAIL.HLP"
Backup GetX() - 1
ClrEol
SaveScrn
Cls
PrintLn "@X0AScan Mail 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
Gosub LABEL009
Return
:LABEL009
If (BOOLEAN001) Then
Print STRING007
For INT008 = 1 To INT007
TINT003(INT008) = GetX()
If (INT008 == INT005) Then
Print TSTRING004(INT008)
Continue
Endif
Print TSTRING003(INT008)
Next
Backup GetX() - 1
Forward TINT003(INT005) + TINT004(INT005) - 1
Color INT002
Else
Print "Scan mail since last read -> (C)urrent (S)elected (A)ll (N)o (H)elp ? "
Endif
Return
:LABEL010
Backup GetX() - 1
Forward TINT003(INT005) - 1
Print TSTRING003(INT005)
Backup GetX() - 1
Forward TINT003(INT006) - 1
Print TSTRING004(INT006)
Backup GetX() - 1
Forward TINT003(INT006) + TINT004(INT006) - 1
INT005 = INT006
Color INT002
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 2 Cls
; 1 ClrEol
; 1 Wait
; 3 Color
; 65 Goto
; 78 Let
; 13 Print
; 8 PrintLn
; 35 If
; 9 Gosub
; 5 Return
; 3 Delay
; 1 Newline
; 1 KbdStuff
; 9 Backup
; 4 Forward
; 1 SaveScrn
; 1 RestScrn
; 6 Sound
; 3 MPrint
;
;
; ■ Functions used :
;
; 6 +
; 10 -
; 45 ==
; 1 <
; 1 <=
; 1 >
; 2 >=
; 35 !
; 8 &&
; 13 ||
; 1 Len(
; 4 Left()
; 2 Space()
; 4 Chr()
; 2 Asc()
; 2 Inkey()
; 1 PPEPath()
; 3 OnLocal()
; 1 AnsiOn()
; 6 GetX()
; 1 CurColor()
;
;------------------------------------------------------------------------------
;
; 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
;
; 1 For/Next
; 2 While/EndWhile
; 19 If/Then or If/Then/Else
; 2 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------