home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.wwiv.com
/
ftp.wwiv.com.zip
/
ftp.wwiv.com
/
pub
/
BBS
/
AUTOP2_0.ZIP
/
AUTOPLUS.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-11-18
|
9KB
|
619 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 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String TSTRING006(5)
String TSTRING007(2)
String TSTRING008(4)
String TSTRING009(3)
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String TSTRING015(5)
String STRING016
String STRING017
String STRING018
String STRING019
String STRING020
String STRING021
String STRING022
String TSTRING023(2)
String TSTRING024(5)
String STRING025
String STRING026
String STRING049
Declare Function FUNCTION001() String
Declare Procedure PROC001()
Declare Procedure PROC002()
Declare Procedure PROC003()
Declare Procedure PROC004()
;------------------------------------------------------------------------------
STRING001 = PPEPath() + "AUTOM.PLS"
STRING003 = U_Name()
Tokenize STRING003
GetToken STRING004
GetToken STRING005
:LABEL001
PROC001()
PROC002()
GetUser
While (Upper(STRING002) <> "G") Do
STRING002 = FUNCTION001()
If ((STRING002 == "Q") || (STRING002 == "q")) Then
Goto LABEL002
Continue
Endif
If ((STRING002 == "N") || (STRING002 == "n")) Then
PROC003()
Goto LABEL001
Continue
Endif
If ((STRING002 == "R") || (STRING002 == "r")) Then
PROC004()
FClose 1
Goto LABEL001
Endif
EndWhile
Goodbye
:LABEL002
End
;------------------------------------------------------------------------------
Procedure PROC004()
String TSTRING006(5)
String TSTRING007(2)
String TSTRING008(4)
String TSTRING009(3)
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String TSTRING015(5)
String STRING016
String STRING017
String STRING018
String STRING019
String STRING020
String STRING021
String STRING022
String TSTRING023(2)
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
INTEGER002 = 1
INTEGER001 = 1
STRING018 = "UP"
STRING019 = "DOWN"
STRING020 = U_Name()
STRING016 = Date()
INTEGER004 = 1
GetUser
FClose 1
INTEGER004 = 2
INTEGER004 = 7777
FOpen 1, STRING001, 2, 0
INTEGER004 = 3
FGet 1, TSTRING009(1)
FGet 1, TSTRING009(2)
FGet 1, TSTRING009(3)
INTEGER004 = 4
Tokenize TSTRING009(1)
GetToken TSTRING008(3)
GetToken TSTRING008(4)
GetToken STRING011
GetToken STRING012
Tokenize TSTRING009(2)
GetToken TSTRING008(1)
GetToken STRING010
GetToken TSTRING008(2)
If (TSTRING008(2) == "NONE") Then
Goto LABEL003
Endif
GetToken STRING013
GetToken STRING014
:LABEL003
Select Case (STRING010)
Case "YES"
INTEGER004 = 5
FGet 1, TSTRING007(1)
FGet 1, TSTRING007(2)
FGet 1, TSTRING006(1)
FGet 1, TSTRING006(2)
FGet 1, TSTRING006(3)
FGet 1, TSTRING006(4)
FGet 1, TSTRING006(5)
Case "NO"
INTEGER004 = 6
FGet 1, TSTRING006(1)
FGet 1, TSTRING006(2)
FGet 1, TSTRING006(3)
FGet 1, TSTRING006(4)
FGet 1, TSTRING006(5)
End Select
INTEGER004 = 7
FClose 1
:LABEL004
STRING017 = "BLAH"
Cls
Select Case (INTEGER002)
Case 1
INTEGER003 = 1
Case 2
INTEGER003 = 2
End Select
PrintLn "@X0AUse The Arrow Keys to Select A Line. Press [@X02ENTER@X0A] To "
PrintLn "@X0AConfirm Your Choice. Choose Quote Line #@X09", INTEGER003
PrintLn ""
PrintLn "@X0A┌─────────────────────────────────────────────────────┐"
PrintLn "@X0A│ │"
PrintLn "@X0A│ │"
PrintLn "@X0A│ │"
PrintLn "@X0A│ │"
PrintLn "@X0A│ │"
PrintLn "@X0A└─────────────────────────────────────────────────────┘"
AnsiPos 3, 5
Print "@X0E" + TSTRING006(1)
AnsiPos 3, 6
Print "@X08" + TSTRING006(2)
AnsiPos 3, 7
Print "@X08" + TSTRING006(3)
AnsiPos 3, 8
Print "@X08" + TSTRING006(4)
AnsiPos 3, 9
Print "@X08" + TSTRING006(5)
AnsiPos 3, 5
STRING022 = 1
While (STRING017 <> Chr(13)) Do
STRING017 = FUNCTION001()
If (STRING017 == STRING018) Then
If (STRING022 == 1) Then
AnsiPos 3, 5
Print "@X08" + TSTRING006(1)
AnsiPos 3, 9
Print "@X0E" + TSTRING006(5)
STRING022 = 5
Goto LABEL005
Endif
If (STRING022 == 2) Then
AnsiPos 3, 6
Print "@X08" + TSTRING006(2)
AnsiPos 3, 5
Print "@X0E" + TSTRING006(1)
STRING022 = 1
Goto LABEL005
Endif
If (STRING022 == 3) Then
AnsiPos 3, 7
Print "@X08" + TSTRING006(3)
AnsiPos 3, 6
Print "@X0E" + TSTRING006(2)
STRING022 = 2
Goto LABEL005
Endif
If (STRING022 == 4) Then
AnsiPos 3, 8
Print "@X08" + TSTRING006(4)
AnsiPos 3, 7
Print "@X0E" + TSTRING006(3)
STRING022 = 3
Goto LABEL005
Endif
If (STRING022 == 5) Then
AnsiPos 3, 9
Print "@X08" + TSTRING006(5)
AnsiPos 3, 8
Print "@X0E" + TSTRING006(4)
STRING022 = 4
Endif
:LABEL005
Continue
Endif
If (STRING017 == STRING019) Then
If (STRING022 == 1) Then
AnsiPos 3, 5
Print "@X08" + TSTRING006(1)
AnsiPos 3, 6
Print "@X0E" + TSTRING006(2)
STRING022 = 2
Continue
Endif
If (STRING022 == 2) Then
AnsiPos 3, 6
Print "@X08" + TSTRING006(2)
AnsiPos 3, 7
Print "@X0E" + TSTRING006(3)
STRING022 = 3
Continue
Endif
If (STRING022 == 3) Then
AnsiPos 3, 7
Print "@X08" + TSTRING006(3)
AnsiPos 3, 8
Print "@X0E" + TSTRING006(4)
STRING022 = 4
Continue
Endif
If (STRING022 == 4) Then
AnsiPos 3, 8
Print "@X08" + TSTRING006(4)
AnsiPos 3, 9
Print "@X0E" + TSTRING006(5)
STRING022 = 5
Continue
Endif
If (STRING022 == 5) Then
AnsiPos 3, 9
Print "@X08" + TSTRING006(5)
AnsiPos 3, 5
Print "@X0E" + TSTRING006(1)
STRING022 = 1
Endif
Endif
EndWhile
INTEGER002 = INTEGER002 + 1
Select Case (STRING022)
Case 1
Select Case (INTEGER002)
Case 2
TSTRING023(1) = TSTRING006(1)
Goto LABEL004
Case 3
TSTRING023(2) = TSTRING006(1)
Goto LABEL006
End Select
Case 2
Select Case (INTEGER002)
Case 2
TSTRING023(1) = TSTRING006(2)
Goto LABEL004
Case 3
TSTRING023(2) = TSTRING006(2)
Goto LABEL006
End Select
Case 3
Select Case (INTEGER002)
Case 2
TSTRING023(1) = TSTRING006(3)
Goto LABEL004
Case 3
TSTRING023(2) = TSTRING006(3)
Goto LABEL006
End Select
Case 4
Select Case (INTEGER002)
Case 2
TSTRING023(1) = TSTRING006(4)
Goto LABEL004
Case 3
TSTRING023(2) = TSTRING006(4)
Goto LABEL006
End Select
Case 5
If (INTEGER002 == 2) Then
TSTRING023(1) = TSTRING006(5)
Goto LABEL004
Goto LABEL006
Endif
Case 3
TSTRING023(2) = TSTRING006(5)
End Select
:LABEL006
Delay 18
Cls
PrintLn "@X0AAutoPlus Message Editor [@X02REPLY MODE@X0A]"
PrintLn "@X0AEnter your Text. 50 Chars. Per Line, 5 Lines. Word-Wrap Enabled"
PrintLn "@X0A────────────────────────────────────────────────────────────────"
INTEGER001 = 1
While (INTEGER001 <> 6) Do
Print "@X0A", INTEGER001, "@X0A:"
InputStr "_", TSTRING015(INTEGER001), 10, 50, Mask_Ascii(), 64 + 512
INTEGER001 = INTEGER001 + 1
EndWhile
Newline
:LABEL007
InputStr "@X0ASave Automessage(@X09Y@X0A/@X09N@X0A)_", STRING021, 10, 1, Mask_Ascii(), 64
Select Case (Upper(STRING021))
Case "Y"
FClose 1
FCreate 1, STRING001, 2, 0
FPut 1, "Automessage By: " + U_Name() + " On: "
FPutLn 1, Date()
FPut 1, "Quote: YES Quoted: " + STRING011
FPutLn 1, " " + STRING012
FPutLn 1, "──────────────────────────────────────────"
FPutLn 1, TSTRING023(1)
FPutLn 1, TSTRING023(2)
FPutLn 1, TSTRING015(1)
FPutLn 1, TSTRING015(2)
FPutLn 1, TSTRING015(3)
FPutLn 1, TSTRING015(4)
FPutLn 1, TSTRING015(5)
FClose 1
Goto LABEL008
Case "N"
Goto LABEL008
Case Else
Goto LABEL007
End Select
:LABEL008
FClose 1
EndProc
;------------------------------------------------------------------------------
Procedure PROC003()
String TSTRING024(5)
String STRING025
String STRING026
Integer INTEGER005
TSTRING024(0) = " "
INTEGER005 = 1
STRING026 = "n"
STRING025 = "y"
GetUser
:LABEL009
Cls
PrintLn "@X0AAutomessage Editor. @X095@X0A Lines, @X0950@X0A Chars per line."
PrintLn "─────────────────────────────────────────────────────"
While (INTEGER005 <> "6") Do
Print "@X0A", INTEGER005, ":"
InputStr "_", TSTRING024(INTEGER005), 10, 50, Mask_Ascii(), 64 + 512
INTEGER005 = INTEGER005 + 1
EndWhile
Newline
InputStr "@X0AEdit Automessage(@X09Y@X0A/@X09N@X0A)_", STRING026, 10, 1, "yYnN", 64 + 8
If (STRING026 == "Y") Then
INTEGER005 = 1
Goto LABEL009
Endif
Newline
InputStr "@X0ASave Automessage(@X09Y@X0A/@X09N@X0A)_", STRING025, 10, 1, "yYnN", 64 + 8
Select Case (STRING025)
Case "Y"
Goto LABEL010
Case "N"
Goto LABEL011
End Select
:LABEL010
FCreate 1, STRING001, 2, 0
FPut 1, "Automessage By: " + U_Name() + " On: "
FPutLn 1, Date()
FPutLn 1, "Quote: NO Quoted: NONE"
FPutLn 1, "───────────────────────────────────────────"
FPutLn 1, TSTRING024(1)
FPutLn 1, TSTRING024(2)
FPutLn 1, TSTRING024(3)
FPutLn 1, TSTRING024(4)
FPutLn 1, TSTRING024(5)
FClose 1
:LABEL011
EndProc
;------------------------------------------------------------------------------
Procedure PROC002()
AnsiPos 1, 13
PrintLn "@X1F┌────────────────────────────────────────────@X10┐@X0F"
AnsiPos 1, 14
PrintLn "@X1F│ (@X1E@TIMELEFT@ @X1Fmins.) (@X1EN@X1F)ew (@X1ER@X1F)eply (@X1EQ@X1F)uit (@X1EG@X1F)oodbye @X10│@X0F"
AnsiPos 1, 15
PrintLn "@X1F└@X10────────────────────────────────────────────┘@X0F"
EndProc
;------------------------------------------------------------------------------
Procedure PROC001()
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
String STRING046
String STRING047
String STRING048
Cls
FOpen 1, STRING001, 2, 0
:LABEL012
If (Ferr(1)) Goto LABEL013
FGet 1, STRING027
Tokenize STRING027
GetToken STRING029
GetToken STRING030
GetToken STRING034
GetToken STRING035
GetToken STRING031
GetToken STRING036
FGet 1, STRING037
Tokenize STRING037
GetToken STRING032
GetToken STRING040
GetToken STRING033
GetToken STRING038
GetToken STRING039
Select Case (STRING040)
Case "YES"
FGet 1, STRING028
FGet 1, STRING041
FGet 1, STRING042
FGet 1, STRING043
FGet 1, STRING044
FGet 1, STRING045
FGet 1, STRING046
FGet 1, STRING047
FGet 1, STRING048
PrintLn "@X0AAutomessage By: @X09" + STRING034 + " " + STRING035 + " @X0AOn: @X09" + STRING036
PrintLn "@X0AQuoted Text By: @X09" + STRING038 + " " + STRING039
PrintLn "@X0A" + STRING028
PrintLn "@X0B-> @X09" + STRING041
PrintLn "@X0B-> @X09" + STRING042
PrintLn STRING043
PrintLn "@X09" + STRING044
PrintLn "@X09" + STRING045
PrintLn "@X09" + STRING046
PrintLn "@X09" + STRING047
PrintLn "@X09" + STRING048
Newline
Goto LABEL014
Case "NO"
FGet 1, STRING028
FGet 1, STRING044
FGet 1, STRING045
FGet 1, STRING046
FGet 1, STRING047
FGet 1, STRING048
PrintLn "@X0AAutomessage By: @X09" + STRING034 + " " + STRING035 + " @X0AOn: @X09" + STRING036
PrintLn "@X0A" + STRING028
PrintLn "@X09" + STRING044
PrintLn "@X09" + STRING045
PrintLn "@X09" + STRING046
PrintLn "@X09" + STRING047
PrintLn "@X09" + STRING048
Newline
Goto LABEL014
End Select
Goto LABEL012
:LABEL013
PrintLn "@X0CError! (" + STRING001 + ")"
FClose 1
Wait
End
:LABEL014
FClose 1
EndProc
;------------------------------------------------------------------------------
Function FUNCTION001() String
While (FUNCTION001 == "") Do
FUNCTION001 = Inkey()
EndWhile
EndFunc
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 2 End
; 4 Cls
; 1 Wait
; 103 Goto
; 52 Let
; 27 Print
; 37 PrintLn
; 48 If
; 2 FCreate
; 2 FOpen
; 9 FClose
; 32 FGet
; 3 FPut
; 18 FPutLn
; 3 GetUser
; 5 InputStr
; 1 Delay
; 5 Newline
; 5 Tokenize
; 22 GetToken
; 1 Goodbye
; 29 AnsiPos
; 4 EndProc
; 1 EndFunc
;
;
; ■ Functions used :
;
; 68 +
; 46 ==
; 4 <>
; 48 !
; 3 ||
; 3 Upper()
; 1 Ferr()
; 1 Chr()
; 3 Date()
; 4 U_Name()
; 1 Inkey()
; 3 Mask_Ascii()
; 1 PPEPath()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 0 For/Next
; 5 While/EndWhile
; 18 If/Then or If/Then/Else
; 10 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------