home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
PCBOARD
/
FPCB270A.ZIP
/
FPCBRE.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-02-06
|
12KB
|
536 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
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
;------------------------------------------------------------------------------
STRING011 = Chr(13)
STRING028 = Space(6) + STRING011
STRING005 = "FPCBNM"
STRING007 = TokenStr()
Tokenize STRING007
If (TokCount() < 1) Then
Gosub LABEL012
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 LABEL012
PrintLn "@X0BPLEASE @X0Ftell the @X0BSYSOP @X0Fthat there is @X0BNO FPCBNM Configuration File Found!@X07"
Log "@X0ENo FPCBNM Configuration File Found@X07", 1
Goto LABEL015
: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
FClose 1
If (STRING002 == "") Goto LABEL014
If (STRING019 == "") Goto LABEL014
If (STRING020 == "") Goto LABEL014
If (STRING015 == "") Goto LABEL014
If (STRING016 == "") Goto LABEL014
If (STRING017 == "") Goto LABEL014
If (STRING004 == "00000000") Goto LABEL013
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 LABEL013
Endif
:LABEL002
STRING019 = Upper(STRING019)
STRING015 = "(" + STRING015 + ")"
If (STRING015 == STRING015) Then
STRING015 = Space(6)
Endif
STRING020 = Upper(STRING020)
If (STRING020 == "Y") Goto LABEL004
If (STRING020 == "N") Goto LABEL003
Goto LABEL015
:LABEL003
Goto LABEL005
Goto LABEL015
:LABEL004
If (STRING007 == "1") Goto LABEL005
If (STRING007 == "2") Goto LABEL009
If (STRING007 <> "") STRING008 = ""
Cls
STRING008 = ""
If (Exist(PPEPath() + "FPCBNM1")) Then
DispFile PPEPath() + "FPCBNM1", 1 + 2 + 4
Else
Newline
PrintLn "@X1E ┌──────────────────────────────────────────────────────────────────────────┐ @X07"
PrintLn "@X1E │ SYSDATE:8@ S E L E C T T Y P E O F N E T M A I L @SYSTIME:5R@ │ @X07"
PrintLn "@X1E └──────────────────────────────────────────────────────────────────────────┘ @X07"
PrintLn "@X1E ┌──────────────────────────────────────────────────────────────────────────┐ @X07"
PrintLn "@X1E │ (1) NetMail to a User at a Node in FidoNet │ @X07"
PrintLn "@X1E │ (2) NetMail to a User at an InterNet Site │ @X07"
PrintLn "@X1E └──────────────────────────────────────────────────────────────────────────┘ @X07"
Newlines 2
Endif
If (Exist(PPEPath() + "FPCBTX1")) Then
DispFile PPEPath() + "FPCBTX1", 1 + 4 + 2
InputText "", STRING008, 14, 1
Else
InputStr " @X0FEnter@X0E=(@X0FQ@X0E)uit, Netmail Selection Command", STRING008, 14, 1, "q, Q, 1, 2", 2 + 4 + 128 + 8
Endif
If (STRING008 == "1") Goto LABEL005
If (STRING008 == "2") Goto LABEL009
If (STRING008 == "Q") Goto LABEL015
If (STRING008 == "") Goto LABEL015
Goto LABEL015
:LABEL005
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 │ o The MESSAGE NUMBER you INTEND to reply to │ @X07"
PrintLn "@X1F │ o The FULL FIDONET NODE ADDRESS where the Recipient can be found. │ @X07"
PrintLn "@X1F └───────────────────────────────────────────────────────────────────────────┘ @X07"
Endif
Newline
DispText 22, 32768
InputText "", STRING044, 10, 16
PrintLn
DispText 200, 32768
InputText "", STRING013, 14, 60
If (Len(STRING013) < 2) Goto LABEL015
GetUser
Select Case (U_FSEP)
Case 0
STRING010 = NoChar()
Case 1
STRING010 = YesChar()
End Select
If (U_Sec >= STRING017) Then
STRING018 = NoChar()
Endif
Newline
If (Exist(PPEPath() + "FPCBTX4")) Then
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 LABEL006
If (U_Sec < STRING016) Then
Goto LABEL006
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
:LABEL006
STRING029 = "RE " + STRING011 + STRING044 + STRING011 + STRING013 + STRING011 + STRING010 + STRING011
STRING030 = STRING014 + STRING011
STRING031 = STRING015 + STRING011
STRING032 = "RE " + STRING011 + STRING044 + STRING011 + STRING013 + STRING011
STRING033 = "@<" + STRING014 + STRING011
Select Case (STRING019)
Case "FIDOPCB"
Goto LABEL007
Case "QFRONT"
Goto LABEL007
Case Else
Goto LABEL008
End Select
:LABEL007
If ((U_Sec < STRING017) && (U_FSEP == 0)) Then
KbdStuff STRING032 + STRING030 + STRING031
Goto LABEL015
ElseIf ((U_Sec >= STRING017) && (U_FSEP == 0)) Then
KbdStuff STRING032 + STRING030 + STRING031
Goto LABEL015
Else
KbdStuff STRING029 + STRING030 + STRING031
Goto LABEL015
Endif
Goto LABEL015
:LABEL008
If ((U_Sec < STRING017) && (U_FSEP == 0)) Then
KbdStuff STRING032 + STRING033
Goto LABEL015
ElseIf ((U_Sec >= STRING017) && (U_FSEP == 0)) Then
KbdStuff STRING032 + STRING033
Goto LABEL015
Else
KbdStuff STRING029 + STRING033
Goto LABEL015
Endif
Goto LABEL015
:LABEL009
If (STRING023 == "") Goto LABEL014
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 │ o the MESSAGE NUMBER of the MESSAGE you are replying to │ @X07"
PrintLn "@X1F │ o Site and Domain where the Intended Recipient can be found │ @X07"
PrintLn "@X1F └───────────────────────────────────────────────────────────────────────────┘ @X07"
Endif
Newline
DispText 22, 32768
InputText "", STRING044, 10, 16
Newline
DispText 200, 32768
InputText "", STRING013, 14, 53
If (Len(STRING013) < 2) Goto LABEL015
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
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 + STRING044 + STRING011 + STRING013 + STRING011 + STRING010 + STRING011
STRING035 = "To: " + STRING022 + "@" + STRING025 + "." + STRING027 + STRING011 + STRING028 + STRING028
STRING036 = "RE " + STRING011 + STRING044 + STRING011 + STRING013 + STRING011 + STRING018 + STRING011 + STRING010 + STRING011
STRING037 = "RE " + STRING011 + STRING044 + STRING011 + STRING013 + STRING011
STRING038 = STRING023 + STRING011
STRING039 = "RE " + STRING011 + STRING044 + STRING011 + STRING013 + STRING011 + STRING010 + STRING011
STRING040 = "RE " + STRING011 + STRING044 + STRING011 + STRING013 + STRING011
STRING041 = "RE " + STRING011 + STRING044 + STRING011 + STRING013 + STRING011 + STRING018 + STRING011 + STRING010 + STRING011
STRING042 = "@<" + STRING023 + STRING011
STRING043 = "To: " + STRING022 + "@" + STRING025 + "." + STRING027 + STRING011 + STRING028 + STRING028
Select Case (STRING019)
Case "FIDOPCB"
Goto LABEL010
Case "QFRONT"
Goto LABEL010
Case Else
Goto LABEL011
End Select
:LABEL010
If ((U_Sec < STRING017) && (U_FSEP == 0)) Then
KbdStuff STRING037 + STRING038 + STRING035
Goto LABEL015
ElseIf ((U_Sec >= STRING017) && (U_FSEP == 0)) Then
KbdStuff STRING037 + STRING038 + STRING035
Goto LABEL015
Else
KbdStuff STRING034 + STRING038 + STRING035
Goto LABEL015
Endif
Goto LABEL015
:LABEL011
If ((U_Sec < STRING017) && (U_FSEP == 0)) Then
KbdStuff STRING040 + STRING042 + STRING043
Goto LABEL015
ElseIf ((U_Sec >= STRING017) && (U_FSEP == 0)) Then
KbdStuff STRING040 + STRING042 + STRING043
Goto LABEL015
Else
KbdStuff STRING039 + STRING042 + STRING043
Goto LABEL015
Endif
Goto LABEL015
:LABEL012
Sound 440
Delay 9
Sound 0
Delay 9
Return
:LABEL013
Gosub LABEL012
Cls
Newlines 7
PrintLn "@X4F ┌───────────────────────────────────────────────────────────────────────────┐ @X07"
PrintLn "@X4F │ FPCBNM V2.70 by John Luce │ @X07"
PrintLn "@X4F │ Copyright (c) 1993-94. ALL RIGHTS RESERVED │ @X07"
PrintLn "@X4F │ │ @X07"
PrintLn "@X4F │ * * * This Copy of FPCBNM is UNREGISTERED * * * │ @X07"
PrintLn "@X4F │ PLEASE ENCOURAGE YOUR SYSOP TO REGISTER │ @X07"
PrintLn "@X4F └───────────────────────────────────────────────────────────────────────────┘ @X07"
Delay 91
Goto LABEL002
:LABEL014
If (STRING002 == "") Then
PrintLn
Gosub LABEL012
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 LABEL012
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 LABEL012
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 LABEL012
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 LABEL012
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 LABEL012
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 LABEL012
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 LABEL012
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 LABEL015
Endif
:LABEL015
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 5 Cls
; 125 Goto
; 54 Let
; 55 PrintLn
; 66 If
; 10 DispFile
; 1 FOpen
; 1 FClose
; 8 FGet
; 2 GetUser
; 10 Log
; 6 InputStr
; 11 Gosub
; 1 Return
; 3 Delay
; 12 Newline
; 2 Newlines
; 1 Tokenize
; 1 GetToken
; 4 DispText
; 10 InputText
; 12 KbdStuff
; 2 Sound
;
;
; ■ Functions used :
;
; 1 -
; 1 *
; 1 /
; 161 +
; 46 ==
; 2 <>
; 8 <
; 1 <=
; 6 >=
; 46 !
; 8 &&
; 3 Len(
; 3 Lower()
; 6 Upper()
; 1 Mid()
; 3 Space()
; 1 Chr()
; 1 Asc()
; 4 NoChar()
; 2 YesChar()
; 2 Strip()
; 3 Mask_Ascii()
; 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
; 32 If/Then or If/Then/Else
; 5 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------