home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
PCBOARD
/
FPCB270A.ZIP
/
FPCBRE1.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-02-06
|
12KB
|
552 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
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
String STRING017
String STRING018
String STRING019
String STRING020
String STRING021
String STRING022
String STRING023
String STRING024
String STRING025
String STRING026
String STRING027
String STRING028
String STRING029
String STRING030
String STRING031
String STRING032
String STRING033
String STRING034
String STRING035
String STRING036
String STRING037
String STRING038
String STRING039
String STRING040
String STRING041
String STRING042
String STRING043
String STRING044
String STRING045
;------------------------------------------------------------------------------
STRING011 = Chr(13)
STRING028 = Space(6) + STRING011
STRING005 = "FPCBNM"
STRING007 = TokenStr()
Tokenize STRING007
If (TokCount() < 1) Then
Gosub LABEL014
PrintLn "@X0BPLEASE @X0Ftell the @X0BSYSOP @X0Fthat there is @X0BNO FPCBNM Configuration File Specified!@X07"
Log "@X0ENo FPCBNM Configuration File Specified@X07", 1
Else
GetToken STRING012
If (Exist(PPEPath() + STRING012)) Goto LABEL001
Gosub LABEL014
PrintLn "@X0BPLEASE @X0Ftell the @X0BSYSOP @X0Fthat there is @X0BNO FPCBNM Configuration File Found!@X07"
Log "@X0ENo FPCBNM Configuration File Found@X07", 1
Goto LABEL017
:LABEL001
FOpen 1, PPEPath() + STRING012, 2, 0
FGet 1, STRING002
FGet 1, STRING004
FGet 1, STRING019
FGet 1, STRING020
FGet 1, STRING023
FGet 1, STRING015
FGet 1, STRING016
FGet 1, STRING017
FGet 1, STRING044
FGet 1, STRING045
FGet 1, INTEGER003
FClose 1
If (STRING002 == "") Goto LABEL016
If (STRING019 == "") Goto LABEL016
If (STRING020 == "") Goto LABEL016
If (STRING015 == "") Goto LABEL016
If (STRING016 == "") Goto LABEL016
If (STRING017 == "") Goto LABEL016
If (INTEGER003 == "") Goto LABEL016
If (STRING004 == "00000000") Goto LABEL015
InputStr "@X0A(@TIMELEFT@ min left) (H)elp, End of Message Command", STRING013, 10, 10, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890+-", 8 + 16
If (STRING013 == "RE") Then
Goto LABEL002
Else
KbdStuff STRING013 + STRING011
Endif
Goto LABEL017
:LABEL002
If (CurConf() == 750) Then
Goto LABEL003
Else
KbdStuff "RE " + STRING011
Endif
Goto LABEL017
:LABEL003
STRING001 = ReadLine(PCBDat(), 94)
STRING001 = Strip(STRING001, " ")
STRING002 = Strip(STRING002, " ")
STRING001 = Upper(STRING001)
STRING002 = Upper(STRING002)
STRING005 = Upper(STRING005)
STRING006 = STRING005 + STRING001 + STRING002
INTEGER002 = -1
INTEGER001 = 1
While (INTEGER001 <= Len(STRING006)) Do
INTEGER002 = (INTEGER002 * Asc(Mid(STRING006, INTEGER001, 1))) / 3
INTEGER002 = And(INTEGER002, 1073741823)
INTEGER001 = INTEGER001 + 1
EndWhile
STRING003 = I2S(INTEGER002, 16)
If (STRING003 <> STRING004) Then
Goto LABEL015
Endif
:LABEL004
STRING019 = Upper(STRING019)
STRING015 = "(" + STRING015 + ")"
If (STRING015 == STRING015) Then
STRING015 = Space(6)
Endif
STRING020 = Upper(STRING020)
If (STRING020 == "Y") Goto LABEL006
If (STRING020 == "N") Goto LABEL005
Goto LABEL017
:LABEL005
Goto LABEL007
Goto LABEL017
:LABEL006
If (STRING007 == "1") Goto LABEL007
If (STRING007 == "2") Goto LABEL011
If (STRING007 <> "") STRING008 = ""
Cls
STRING008 = ""
If (Exist(PPEPath() + "FPCBNM1")) Then
DispFile PPEPath() + "FPCBNM1", 1 + 2 + 4
Else
Newline
PrintLn "@X1F ┌──────────────────────────────────────────────────────────────────────────┐ @X07"
PrintLn "@X1F │ @X1E@SYSDATE:8@ @X1CS E L E C T T Y P E O F N E T M A I L @X1E@SYSTIME:5R@ @X1F│ @X07"
PrintLn "@X1F └──────────────────────────────────────────────────────────────────────────┘ @X07"
PrintLn "@X1F ┌──────────────────────────────────────────────────────────────────────────┐ @X07"
PrintLn "@X1F │ (@X1C1@X1F) NetMail to a User at a Node in FidoNet │ @X07"
PrintLn "@X1F │ (@X1C2@X1F) NetMail to a User at an InterNet Site │ @X07"
PrintLn "@X1F └──────────────────────────────────────────────────────────────────────────┘ @X07"
Newlines 2
Endif
If (Exist(PPEPath() + "FPCBTX1")) Then
DispFile PPEPath() + "FPCBTX1", 1 + 4 + 2
InputText "", STRING008, 14, 1
STRING008 = Upper(STRING008)
Else
InputStr " @X0FEnter@X0E=(@X0FQ@X0E)uit, Netmail Selection Command@X0E", STRING008, 14, 1, "q, Q, 1, 2", 2 + 4 + 128 + 8
Endif
If (STRING008 == "1") Goto LABEL007
If (STRING008 == "2") Goto LABEL011
If (STRING008 == "Q") Goto LABEL017
If (STRING008 == "") Goto LABEL017
If (STRING008 == " ") Goto LABEL017
Goto LABEL017
:LABEL007
Cls
If (Exist(PPEPath() + "FPCBNM6")) Then
DispFile PPEPath() + "FPCBNM6", 1 + 2 + 4
Else
Newline
PrintLn "@X1F ┌───────────────────────────────────────────────────────────────────────────┐ @X07"
PrintLn "@X1F │ You are about to REPLY to a FIDONET NETMAIL MESSAGE. Ensure that you │ @X07"
PrintLn "@X1F │ have the following prior to beginning: │ @X07"
PrintLn "@X1F │ │ @X07"
PrintLn "@X1F │ @X1Eo @X1FThe FULL FIDONET NODE ADDRESS where the Recipient can be found. │ @X07"
PrintLn "@X1F └───────────────────────────────────────────────────────────────────────────┘ @X07"
Newlines 2
Endif
GetUser
Select Case (U_FSEP)
Case 0
STRING010 = NoChar()
Case 1
STRING010 = YesChar()
End Select
If (U_Sec >= STRING017) Then
STRING018 = NoChar()
Endif
If (Exist(PPEPath() + "FPCBTX4")) Then
Newline
DispFile PPEPath() + "FPCBTX4", 1 + 4 + 2
InputText "", STRING014, 14, 20
Else
InputStr "@X0EEnter FidoNet Node Number@X0E", STRING014, 14, 20, "1234567890/:.", 8
Endif
STRING014 = "(" + STRING014 + ")"
If (STRING019 == "INTERPCB") Goto LABEL008
If (U_Sec < STRING016) Then
Goto LABEL008
Endif
Cls
If (Exist(PPEPath() + "FPCBNM4")) Then
DispFile PPEPath() + "FPCBNM4", 1 + 2 + 4
Else
Newline
PrintLn " "
PrintLn "@X0F Select the Netmail Priority You Wish Your Message To Be Routed As:@X07"
PrintLn " "
PrintLn " @X0F(@X0EC@X0F) @X0ACRASH @X0F= @X0ESend to FidoNet Node Directly.@X07"
PrintLn " @X0F(@X0EH@X0F) @X0AHOLD @X0F= @X0EHold for Pickup by FidoNet Node.@X07"
PrintLn " @X0F(@X0EI@X0F) @X0AIMMEDIATELY @X0F= @X0EImmediately Route Along Normal FidoNet Chain.@X07"
PrintLn " @X0F(@X0EN@X0F) @X0ANONE @X0F= @X0ENo Transfer Mode Desired.@X07"
PrintLn " "
Newline
Endif
If (Exist(PPEPath() + "FPCBTX5")) Then
DispFile PPEPath() + "FPCBTX5", 1 + 4 + 2
InputText "", STRING009, 14, 1
STRING009 = Upper(STRING009)
Else
InputStr "@X0E Select NetMail Priority, (@X0FENTER@X0E) for Default Priority@X0E", STRING009, 15, 1, "C, c, I, i, H, h, n, N", 2 + 4 + 128 + 8
Endif
Select Case (STRING009)
Case "C"
STRING015 = "(CRASH)"
Case "I"
STRING015 = "(IMM)"
Case "H"
STRING015 = "(HOLD)"
Case "N"
STRING015 = Space(2)
End Select
:LABEL008
STRING029 = "RE " + STRING011 + "" + STRING011 + STRING010 + STRING011
STRING030 = STRING014 + STRING011
STRING031 = STRING015 + STRING011
STRING032 = "RE " + STRING011 + "" + STRING011
STRING033 = "@<" + STRING014 + STRING011
Select Case (STRING019)
Case "FIDOPCB"
Goto LABEL009
Case "QFRONT"
Goto LABEL009
Case Else
Goto LABEL010
End Select
:LABEL009
If ((U_Sec < STRING017) && (U_FSEP == 0)) Then
KbdStuff STRING032 + STRING030 + STRING031
Goto LABEL017
ElseIf ((U_Sec >= STRING017) && (U_FSEP == 0)) Then
KbdStuff STRING032 + STRING030 + STRING031
Goto LABEL017
Else
KbdStuff STRING029 + STRING030 + STRING031
Goto LABEL017
Endif
Goto LABEL017
:LABEL010
If ((U_Sec < STRING017) && (U_FSEP == 0)) Then
KbdStuff STRING032 + STRING033
Goto LABEL017
ElseIf ((U_Sec >= STRING017) && (U_FSEP == 0)) Then
KbdStuff STRING032 + STRING033
Goto LABEL017
Else
KbdStuff STRING029 + STRING033
Goto LABEL017
Endif
Goto LABEL017
:LABEL011
If (STRING023 == "") Goto LABEL016
STRING023 = "(" + STRING023 + ")"
Cls
If (Exist(PPEPath() + "FPCBNM7")) Then
DispFile PPEPath() + "FPCBNM7", 1 + 2 + 4
Else
Newline
PrintLn "@X1F ┌───────────────────────────────────────────────────────────────────────────┐ @X07"
PrintLn "@X1F │ You are about to REPLY to a INTERNET E-MAIL MESSAGE. Ensure that you │ @X07"
PrintLn "@X1F │ have the following prior to beginning: │ @X07"
PrintLn "@X1F │ │ @X07"
PrintLn "@X1F │ @X1Eo @X1FSite and Domain where the Intended Recipient can be found │ @X07"
PrintLn "@X1F └───────────────────────────────────────────────────────────────────────────┘ @X07"
Endif
Newline
GetUser
Select Case (U_FSEP)
Case 0
STRING010 = NoChar()
Case 1
STRING010 = YesChar()
End Select
If (U_Sec >= STRING017) Then
STRING018 = NoChar()
Endif
If (Exist(PPEPath() + "FPCBTX7")) Then
DispFile PPEPath() + "FPCBTX7", 1 + 4 + 2
InputText "", STRING021, 14, 60
Newline
Else
InputStr "@X0EEnter the user's @X0FNAME@X0E mail is intended for", STRING021, 14, 60, Mask_Ascii(), 2 + 4 + 256
Endif
If (Exist(PPEPath() + "FPCBTX8")) Then
DispFile PPEPath() + "FPCBTX8", 1 + 4 + 2
InputText "", STRING024, 14, 60
Newline
Else
InputStr "@X0EEnter the InterNet @X0FSITE@X0E this msg is to be sent to", STRING024, 14, 60, Mask_Ascii(), 2 + 4 + 256
Endif
If (Exist(PPEPath() + "FPCBTX9")) Then
DispFile PPEPath() + "FPCBTX9", 1 + 4 + 2
InputText "", STRING026, 14, 60
Newline
Else
InputStr "@X0EEnter the InterNet @X0FDOMAIN@X0E this msg is to be sent to", STRING026, 14, 60, Mask_Ascii(), 2 + 4
Endif
STRING022 = Lower(STRING021)
STRING025 = Lower(STRING024)
STRING027 = Lower(STRING026)
STRING034 = "RE " + STRING011 + "" + STRING011 + STRING010 + STRING011
STRING035 = "To: " + STRING022 + "@" + STRING025 + "." + STRING027 + STRING011 + STRING028 + STRING028
STRING036 = "RE " + STRING011 + "" + STRING011 + STRING018 + STRING011 + STRING010 + STRING011
STRING037 = "RE " + STRING011 + "" + STRING011
STRING038 = STRING023 + STRING011
STRING039 = "RE " + STRING011 + "" + STRING011 + STRING010 + STRING011
STRING040 = "RE " + STRING011 + "" + STRING011
STRING041 = "RE " + STRING011 + "" + STRING011 + STRING018 + STRING011 + STRING010 + STRING011
STRING042 = "@<" + STRING023 + STRING011
STRING043 = "To: " + STRING022 + "@" + STRING025 + "." + STRING027 + STRING011 + STRING028 + STRING028
Select Case (STRING019)
Case "FIDOPCB"
Goto LABEL012
Case "QFRONT"
Goto LABEL012
Case Else
Goto LABEL013
End Select
:LABEL012
If ((U_Sec < STRING017) && (U_FSEP == 0)) Then
KbdStuff STRING037 + STRING038 + STRING035
Goto LABEL017
ElseIf ((U_Sec >= STRING017) && (U_FSEP == 0)) Then
KbdStuff STRING037 + STRING038 + STRING035
Goto LABEL017
Else
KbdStuff STRING034 + STRING038 + STRING035
Goto LABEL017
Endif
Goto LABEL017
:LABEL013
If ((U_Sec < STRING017) && (U_FSEP == 0)) Then
KbdStuff STRING040 + STRING042 + STRING043
Goto LABEL017
ElseIf ((U_Sec >= STRING017) && (U_FSEP == 0)) Then
KbdStuff STRING040 + STRING042 + STRING043
Goto LABEL017
Else
KbdStuff STRING039 + STRING042 + STRING043
Goto LABEL017
Endif
Goto LABEL017
:LABEL014
Sound 440
Delay 9
Sound 0
Delay 9
Return
:LABEL015
Gosub LABEL014
Cls
Newlines 7
PrintLn "@X1F ┌───────────────────────────────────────────────────────────────────────────┐ @X07"
PrintLn "@X1F │ FPCBNM v2.70 by John Luce │ @X07"
PrintLn "@X1F │ Copyright (c) 1993. ALL RIGHTS RESERVED │ @X07"
PrintLn "@X1F │ │ @X07"
PrintLn "@X1F │ @X9E* @X1E* @X9E* @X1EThis Copy of FPCBNM is UNREGISTERED @X9E* @X1E* @X9E*@X1F │ @X07"
PrintLn "@X1F │ PLEASE ENCOURAGE YOUR SYSOP TO REGISTER │ @X07"
PrintLn "@X1F └───────────────────────────────────────────────────────────────────────────┘ @X07"
Delay 364
Goto LABEL004
:LABEL016
If (STRING002 == "") Then
PrintLn
Gosub LABEL014
PrintLn "@X0EPLEASE @X0Ftell the @X0ESYSOP @X0Fthat there is a @X0EFPCBNM Configuration Error @X0Fon @X0ELine 1@X07"
Log "@X0EFPCBNM Configuration File Error Line 1@X07", 1
Endif
If (STRING019 == "") Then
PrintLn
Gosub LABEL014
PrintLn "@X0DPLEASE @X0Ftell the @X0DSYSOP @X0Fthat there is a @X0DFPCBNM Configuration Error @X0Fon @X0DLine 2@X07"
Log "@X0EFPCBNM Configuration File Error Line 2@X07", 1
Endif
If (STRING020 == "") Then
PrintLn
Gosub LABEL014
PrintLn "@X09PLEASE @X0Ftell the @X09SYSOP @X0Fthat there is a @X09FPCBNM Configuration Error @X0Fon @X09Line 3@X07"
Log "@X0EFPCBNM Configuration File Error Line 3@X07", 1
Endif
If (STRING023 == "") Then
PrintLn
Gosub LABEL014
PrintLn "@X0APLEASE @X0Ftell the @X0ASYSOP @X0Fthat there is a @X0AFPCBNM Configuration Error @X0Fon @X0ALine 4@X07"
Log "@X0EFPCBNM Configuration File Error Line 4@X07", 1
Endif
If (STRING023 == "") Then
PrintLn
Gosub LABEL014
PrintLn "@X0BPLEASE @X0Ftell the @X0BSYSOP @X0Fthat there is a @X0BFPCBNM Configuration Error @X0Fon @X0BLine 5@X07"
Log "@X0EFPCBNM Configuration File Error Line 5@X07", 1
Endif
If (STRING015 == "") Then
PrintLn
Gosub LABEL014
PrintLn "@X0BPLEASE @X0Ftell the @X0BSYSOP @X0Fthat there is a @X0BFPCBNM Configuration Error @X0Fon @X0BLine 6@X07"
Log "@X0EFPCBNM Configuration File Error Line 6@X07", 1
Endif
If (STRING016 == "") Then
PrintLn
Gosub LABEL014
PrintLn "@X0CPLEASE @X0Ftell the @X0CSYSOP @X0Fthat there is a @X0CFPCBNM Configuration Error @X0Fon @X0CLine 7@X07"
Log "@X0EFPCBNM Configuration File Error Line 7@X07", 1
Endif
If (STRING017 == "") Then
PrintLn
Gosub LABEL014
PrintLn "@X0EPLEASE @X0Ftell the @X0ESYSOP @X0Fthat there is a @X0EFPCBNM Configuration Error @X0Fon @X0ELine 8@X07"
Log "@X0EFPCBNM Configuration File Error Line 8@X07", 1
Endif
Goto LABEL017
If (INTEGER003 == "") Then
PrintLn
Gosub LABEL014
PrintLn "@X0EPLEASE @X0Ftell the @X0ESYSOP @X0Fthat there is a @X0EFPCBNM Configuration Error @X0Fon @X0ELine 11@X07"
Log "@X0EFPCBNM Configuration File Error Line 11@X07", 1
Endif
Goto LABEL017
Endif
:LABEL017
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 5 Cls
; 135 Goto
; 55 Let
; 54 PrintLn
; 69 If
; 10 DispFile
; 1 FOpen
; 1 FClose
; 11 FGet
; 2 GetUser
; 11 Log
; 7 InputStr
; 12 Gosub
; 1 Return
; 3 Delay
; 10 Newline
; 3 Newlines
; 1 Tokenize
; 1 GetToken
; 6 InputText
; 14 KbdStuff
; 2 Sound
;
;
; ■ Functions used :
;
; 1 -
; 1 *
; 1 /
; 148 +
; 51 ==
; 2 <>
; 6 <
; 1 <=
; 6 >=
; 49 !
; 8 &&
; 1 Len(
; 3 Lower()
; 7 Upper()
; 1 Mid()
; 3 Space()
; 1 Chr()
; 1 Asc()
; 4 NoChar()
; 2 YesChar()
; 2 Strip()
; 3 Mask_Ascii()
; 1 CurConf()
; 1 PCBDat()
; 22 PPEPath()
; 1 ReadLine()
; 11 Exist()
; 1 I2S()
; 1 TokenStr()
; 1 And()
; 1 TokCount()
;
;------------------------------------------------------------------------------
;
; Analysis flags : d
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 0 For/Next
; 1 While/EndWhile
; 35 If/Then or If/Then/Else
; 5 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------