home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 12
/
CD_ASCQ_12_0294.iso
/
vrac
/
netmail.zip
/
NETMAIL.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-02-11
|
5KB
|
313 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
;------------------------------------------------------------------------------
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
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
;------------------------------------------------------------------------------
INTEGER005 = 1
INTEGER006 = 3625
INTEGER001 = 0
INTEGER002 = 0
INTEGER003 = 0
INTEGER004 = 0
INTEGER012 = 0
INTEGER013 = 0
INTEGER014 = 0
INTEGER015 = 0
INTEGER016 = 0
STRING008 = Chr(13) + Chr(10)
STRING003 = ""
STRING009 = "N"
STRING010 = "N"
STRING011 = "Y"
STRING005 = ""
GetUser
If (U_Expert == 0) Then
Cls
Endif
FOpen 1, PPEPath() + PPEName() + ".CFG", 0, 0
FGet 1, INTEGER005
FGet 1, INTEGER006
FGet 1, INTEGER008
FGet 1, INTEGER009
FGet 1, INTEGER010
FGet 1, INTEGER011
If (Ferr(1)) Then
PrintLn "Please inform the SYSOP that there is a problem with the CONFIG file."
FClose 1
Else
FClose 1
If ((U_Expert == 0) && Exist(PPEPath() + "Wlcm*.*")) Then
DispFile PPEPath() + "Wlcm", 2 + 1 + 4
Endif
While (TokCount() > 0) Do
STRING001 = STRING001 + " " + GetToken()
EndWhile
STRING001 = Trim(STRING001, " ")
InputText "Name (Enter)=ABORT ?", STRING001, 15, 25
Newline
If (Len(Trim(STRING001, " ")) < 1) Then
Goto LABEL006
Endif
InputText "Subject (ENTER)=Abort ?", STRING007, 15, 60
Newline
If (Len(STRING007) < 1) Then
Goto LABEL006
Endif
:LABEL001
If ((U_Expert == 0) && Exist(PPEPath() + "ADDR*.*")) Then
DispFile PPEPath() + "ADDR", 2 + 1 + 4
InputText "", STRING002, 15, 30
Else
InputText "@X0FAddress to Send To (ENTER)=Abort ?", STRING002, 15, 30
Endif
Newline
If (Len(Trim(STRING002, " ")) < 1) Then
Goto LABEL006
Endif
STRING002 = Trim(STRING002, " ")
For INTEGER007 = 1 To Len(STRING002)
STRING006 = Mid(STRING002, INTEGER007, 1)
If (STRING006 == ":") Then
INTEGER001 = S2I(STRING004, 10)
STRING004 = ""
INTEGER012 = 1
Continue
Endif
If (STRING006 == "/") Then
INTEGER002 = S2I(STRING004, 10)
STRING004 = ""
INTEGER013 = 1
Continue
Endif
If (STRING006 == ".") Then
If (INTEGER014 == 0) Then
INTEGER003 = S2I(STRING004, 10)
STRING004 = ""
INTEGER014 = 1
Goto LABEL002
Endif
STRING004 = STRING004 + STRING006
:LABEL002
Continue
Endif
If (STRING006 == "@") Then
INTEGER004 = S2I(STRING004, 10)
STRING004 = ""
INTEGER015 = 1
Continue
Endif
STRING004 = STRING004 + STRING006
Next
If (Len(STRING004) > 0) Then
If (INTEGER014 > 0) Then
If (INTEGER015 > 0) Then
STRING003 = Trim(STRING004, " ")
INTEGER016 = 1
Goto LABEL003
Endif
INTEGER004 = S2I(STRING004, 10)
INTEGER015 = 1
:LABEL003
Goto LABEL004
Endif
INTEGER003 = S2I(STRING004, 10)
INTEGER014 = 1
Endif
:LABEL004
If (INTEGER012 == 0) INTEGER001 = INTEGER005
If (INTEGER013 == 0) INTEGER002 = INTEGER006
If (INTEGER014 == 0) Then
PrintLn "Your address is improperly formatted, please try again."
Newline
Goto LABEL001
Endif
STRING002 = Trim(I2S(INTEGER001, 10), " ")
STRING002 = STRING002 + ":" + Trim(I2S(INTEGER002, 10), " ")
STRING002 = STRING002 + "/" + Trim(I2S(INTEGER003, 10), " ")
If (INTEGER015 == 1) Then
STRING002 = STRING002 + "." + Trim(I2S(INTEGER004, 10), " ")
Endif
If (INTEGER016 == 1) Then
STRING002 = STRING002 + "@" + STRING003
Endif
If ((U_Expert == 0) && Exist(PPEPath() + "Ugnt*.*")) Then
DispFile PPEPath() + "Ugnt", 2 + 1 + 4
Else
PrintLn "Urgency Level:"
If (U_Sec >= INTEGER008) Then
PrintLn " (I)mmediate"
Endif
If (U_Sec >= INTEGER009) Then
PrintLn " (C)rash"
Endif
If (U_Sec >= INTEGER010) Then
PrintLn " (H)old"
Endif
If (U_Sec >= INTEGER011) Then
PrintLn " (D)irect"
Endif
PrintLn " (N)ormal"
Print "Urgency Level (Enter)=Normal"
Endif
If (U_Sec >= INTEGER008) Then
STRING010 = STRING010 + "I"
Endif
If (U_Sec >= INTEGER009) Then
STRING010 = STRING010 + "C"
Endif
If (U_Sec >= INTEGER010) Then
STRING010 = STRING010 + "H"
Endif
If (U_Sec >= INTEGER011) Then
STRING010 = STRING010 + "D"
Endif
InputStr "", STRING009, 15, 1, STRING010, 256 + 4 + 8
If (U_FSEP) Then
PromptStr 498, STRING011, 1, "Y", 256 + 8 + 4
Endif
STRING005 = "E" + Chr(13) + Chr(10)
STRING005 = STRING005 + STRING001 + STRING008
STRING005 = STRING005 + STRING007 + STRING008
STRING005 = STRING005 + "N" + STRING008
If (U_FSE == 0) Then
If (U_FSEP == 1) Then
If (STRING011 == "Y") Then
STRING005 = STRING005 + "Y" + STRING008
Goto LABEL005
Endif
STRING005 = STRING005 + "N" + STRING008
Endif
Endif
:LABEL005
STRING005 = STRING005 + "(" + STRING002 + ")" + STRING008
If (STRING009 == "I") Then
STRING005 = STRING005 + "(IMMEDIATE)" + STRING008
Endif
If (STRING009 == "D") Then
STRING005 = STRING005 + "(DIRECT)" + STRING008
Endif
If (STRING009 == "H") Then
STRING005 = STRING005 + "(HOLD)" + STRING008
Endif
If (STRING009 == "C") Then
STRING005 = STRING005 + "(CRASH)" + STRING008
Endif
Endif
:LABEL006
PrintLn " NetMailer -- v1.3 "
PrintLn "(c) 1994 Tranquility Base"
PrintLn " All Rights Reserved "
If (Len(STRING005) > 0) Then
KbdStuff STRING005
Endif
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 1 Cls
; 55 Goto
; 65 Let
; 1 Print
; 11 PrintLn
; 40 If
; 3 DispFile
; 1 FOpen
; 2 FClose
; 6 FGet
; 1 GetUser
; 1 InputStr
; 1 PromptStr
; 4 Newline
; 4 InputText
; 1 KbdStuff
;
;
; ■ Functions used :
;
; 60 +
; 21 ==
; 4 <
; 1 <=
; 5 >
; 10 >=
; 38 !
; 5 &&
; 1 ||
; 7 Len(
; 1 Mid()
; 1 Ferr()
; 4 Chr()
; 9 Trim()
; 7 PPEPath()
; 1 GetToken()
; 3 Exist()
; 4 I2S()
; 6 S2I()
; 1 PPEName()
; 1 TokCount()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 1 For/Next
; 1 While/EndWhile
; 36 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------