home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
PCBOARD
/
DOME_PMT.ZIP
/
PROMPTS.PPE
(
.txt
)
< prev
Wrap
PCBoard Programming Language Executable
|
1994-03-06
|
7KB
|
438 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
String STRING001
String STRING002
String STRING003
String TSTRING004(10)
String STRING005
String TSTRING006(50)
String TSTRING007(50)
String TSTRING008(50)
String TSTRING009(50)
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
String STRING017
String TSTRING018(10)
String STRING019
String STRING020
;------------------------------------------------------------------------------
GetUser
STRING001 = Chr(27)
STRING002 = Chr(13)
INTEGER001 = 0
STRING013 = ""
STRING014 = ""
STRING015 = ""
STRING016 = ""
STRING010 = STRING001 + "[s"
STRING011 = STRING001 + "[u"
STRING012 = STRING001 + "[B"
STRING020 = STRING001 + "[A"
INTEGER011 = 0
FOpen 1, PPEPath() + "prompts.cnf", 0, 0
If (Ferr(1)) Goto LABEL009
FGet 1, STRING005
FGet 1, INTEGER004
FGet 1, INTEGER005
FGet 1, INTEGER006
FGet 1, INTEGER007
FGet 1, INTEGER008
FClose 1
FOpen 1, PPEPath() + "prompts.dat", 0, 0
If (Ferr(1)) Goto LABEL009
:LABEL001
FGet 1, STRING013
If (STRING013 == "<EOF>") Then
FClose 1
Else
FGet 1, STRING014
If (STRING013 == "2") FGet 1, STRING015
If (STRING013 == "3") Then
FGet 1, STRING015
FGet 1, STRING016
Endif
Inc INTEGER001
TSTRING006(INTEGER001) = STRING013
TSTRING007(INTEGER001) = STRING014
TSTRING008(INTEGER001) = STRING015
TSTRING009(INTEGER001) = STRING016
TSTRING004(INTEGER001) = STRING010 + TSTRING007(INTEGER001)
If (STRING013 == "2") TSTRING004(INTEGER001) = TSTRING004(INTEGER001) + STRING011 + STRING012 + STRING010 + TSTRING008(INTEGER001)
If (STRING013 == "3") TSTRING004(INTEGER001) = TSTRING004(INTEGER001) + STRING011 + STRING012 + STRING010 + TSTRING008(INTEGER001) + STRING011 + STRING012 + TSTRING009(INTEGER001)
Goto LABEL001
Endif
:LABEL002
INTEGER003 = INTEGER001
INTEGER002 = INTEGER005
DispFile PPEPath() + "main.pcb", 1 + 4 + 2
AnsiPos INTEGER004, INTEGER002
Print "@X0FPrompt 1"
INTEGER001 = 2
INTEGER002 = INTEGER002 + 1
Print "@POFF@"
While (INTEGER001 <> INTEGER003 + 1) Do
AnsiPos INTEGER004, INTEGER002
PrintLn "@X0FPrompt " + String(INTEGER001)
Inc INTEGER001
INTEGER002 = INTEGER002 + 1
EndWhile
INTEGER003 = INTEGER003 + 2
AnsiPos INTEGER004, INTEGER002
PrintLn "@X0F Create "
AnsiPos INTEGER004, INTEGER002 + 1
PrintLn " Quit "
Print "@PON@"
INTEGER001 = 1
Gosub LABEL008
INTEGER002 = INTEGER005
AnsiPos INTEGER004, INTEGER002
Print STRING001 + "[s@X70Prompt " + String(INTEGER001) + STRING001 + "[u" + STRING001 + "[s"
STRING003 = ""
While (STRING003 <> STRING002) Do
STRING003 = Inkey()
If ((Lower(STRING003) == "a") || (STRING003 == "UP")) Then
If (INTEGER001 == INTEGER003) Then
Print STRING001 + "[u" + STRING001 + "[s@X0F Quit "
Goto LABEL003
Endif
If (INTEGER001 == INTEGER003 - 1) Then
Print STRING001 + "[u" + STRING001 + "[s@X0F Create "
Goto LABEL003
Endif
Print STRING001 + "[u" + STRING001 + "[s@X0FPrompt " + String(INTEGER001)
:LABEL003
If (INTEGER001 == 1) Then
Print STRING001 + "[u" + STRING001 + "[" + String(INTEGER003 - 1) + "B" + STRING001 + "[s"
INTEGER001 = INTEGER003
INTEGER002 = GetY()
Print "@X70 Quit "
Gosub LABEL008
AnsiPos INTEGER004, INTEGER002
Print STRING001 + "[s"
Goto LABEL005
Endif
Print STRING001 + "[u" + STRING001 + "[A" + STRING001 + "[s"
INTEGER001 = INTEGER001 - 1
INTEGER002 = GetY()
If (INTEGER001 == INTEGER003 - 1) Then
Print "@X70 Create "
Goto LABEL004
Endif
Print "@X70Prompt " + String(INTEGER001)
:LABEL004
Gosub LABEL008
AnsiPos INTEGER004, INTEGER002
Print STRING001 + "[s"
Endif
:LABEL005
If ((Lower(STRING003) == "z") || (STRING003 == "DOWN")) Then
If (INTEGER001 == INTEGER003) Then
Print STRING001 + "[u" + STRING001 + "[s@X0F Quit "
Goto LABEL006
Endif
If (INTEGER001 == INTEGER003 - 1) Then
Print STRING001 + "[u" + STRING001 + "[s@X0F Create "
Goto LABEL006
Endif
Print STRING001 + "[u" + STRING001 + "[s@X0FPrompt " + String(INTEGER001)
:LABEL006
If (INTEGER001 == INTEGER003) Then
Print STRING001 + "[u" + STRING001 + "[" + String(INTEGER003 - 1) + "A" + STRING001 + "[s"
INTEGER001 = 1
INTEGER002 = GetY()
Print "@X70Prompt 1"
Gosub LABEL008
AnsiPos INTEGER004, INTEGER002
Print STRING001 + "[s"
Continue
Endif
Print STRING001 + "[u" + STRING001 + "[B" + STRING001 + "[s"
INTEGER001 = INTEGER001 + 1
INTEGER002 = GetY()
If (INTEGER001 == INTEGER003 - 1) Then
Print "@X70 Create "
Goto LABEL007
Endif
If (INTEGER001 == INTEGER003) Then
Print "@X70 Quit "
Goto LABEL007
Endif
Print "@X70Prompt " + String(INTEGER001)
:LABEL007
Gosub LABEL008
AnsiPos INTEGER004, INTEGER002
Print STRING001 + "[s"
Endif
EndWhile
If (INTEGER001 == INTEGER003) Goto LABEL009
If (INTEGER001 == INTEGER003 - 1) Goto LABEL010
Delete STRING005
FCreate 1, STRING005, 1, 0
Select Case (TSTRING006(INTEGER001))
Case "1"
FPut 1, TSTRING007(INTEGER001)
FClose 1
Case "2"
FPutLn 1, TSTRING007(INTEGER001)
FPut 1, TSTRING008(INTEGER001)
FClose 1
FPutLn 1, TSTRING007(INTEGER001)
FPutLn 1, TSTRING008(INTEGER001)
FPut 1, TSTRING009(INTEGER001)
FClose 1
STRING017 = PPEPath() + Left(Strip(Strip(U_Name(), Chr(46)), Chr(32)), 8) + ".PMT"
If (Exist(STRING017)) Delete STRING017
FCreate 1, STRING017, 1, 3
Case "1"
FPut 1, TSTRING007(INTEGER001)
FClose 1
Case "2"
FPutLn 1, TSTRING007(INTEGER001)
FPut 1, TSTRING008(INTEGER001)
FClose 1
Case Else
FPutLn 1, TSTRING007(INTEGER001)
FPutLn 1, TSTRING008(INTEGER001)
FPut 1, TSTRING009(INTEGER001)
FClose 1
Goto LABEL009
:LABEL008
AnsiPos INTEGER006, INTEGER007
Print STRING001 + "[s@X0F" + Space(INTEGER008) + STRING001 + "[u" + STRING001 + "[B"
Print STRING001 + "[s" + Space(INTEGER008) + STRING001 + "[u" + STRING001 + "[B"
Print STRING001 + "[s" + Space(INTEGER008)
AnsiPos INTEGER006, INTEGER007
Select Case (INTEGER001)
Case INTEGER003
Print STRING001 + "[s" + "Quit - No change"
Return
Case INTEGER003 - 1
Print STRING001 + "[s" + "Design your own prompt!" + STRING001 + "[u"
End Select
Print STRING001 + "[s" + TSTRING004(INTEGER001)
Return
End Select
:LABEL009
Print "@X0F"
Cls
PrintLn "@X0AImproved @X0FSelectable / Configurable @X0APrompts v.97ß"
PrintLn "Coded by @X0AC@X02o@X08rrupti@X07o@X0FN [DoME]"
End
:LABEL010
If (INTEGER011 == 0) Then
Cls
DispFile PPEPath() + "help1.pcb", 1 + 4 + 2
TSTRING018(1) = ""
TSTRING018(2) = ""
TSTRING018(3) = ""
INTEGER010 = 1
Newline
Endif
TSTRING018(INTEGER010) = ""
INTEGER011 = 0
While (INTEGER010 <> 4) Do
InputText "@X07>@X0F _", TSTRING018(INTEGER010), 0, 60
If ((INTEGER010 == 1) && (TSTRING018(INTEGER010) == "")) Then
Newline
Goto LABEL002
Endif
If (TSTRING018(INTEGER010) == "") Then
Newline
Goto LABEL011
Endif
If (Lower(TSTRING018(INTEGER010)) == "/help") Then
INTEGER002 = GetY()
Goto LABEL013
Endif
Inc INTEGER010
Newline
EndWhile
For INTEGER009 = 1 To INTEGER010
If (TSTRING018(INTEGER009) == "@HANGUP@") Then
Newline
PrintLn "Putting @HANGUP@ in your prompt is STUPID! Don't do it again!"
Wait
Goto LABEL010
Endif
Next
:LABEL011
INTEGER010 = INTEGER010 - 1
STRING019 = "n"
Newlines 2
For INTEGER009 = 1 To INTEGER010
PrintLn TSTRING018(INTEGER009)
Next
Newline
InputStr "Save and Use this prompt", STRING019, 10, 1, "ynYN", 4 + 2
If ((Lower(STRING019) == "n") || (STRING019 == "")) Then
Newlines 2
Wait
Goto LABEL002
Else
Goto LABEL012
Endif
Goto LABEL002
:LABEL012
STRING017 = PPEPath() + Left(Strip(Strip(U_Name(), Chr(46)), Chr(32)), 8) + ".PMT"
If (Exist(STRING017)) Delete STRING017
FCreate 1, STRING017, 1, 3
Select Case (INTEGER010)
Case 1
FPut 1, TSTRING018(1)
FClose 1
Case 2
FPutLn 1, TSTRING018(1)
FPut 1, TSTRING018(2)
FClose 1
Case 3
FPutLn 1, TSTRING018(1)
FPutLn 1, TSTRING018(2)
FPut 1, TSTRING018(3)
FClose 1
End Select
Delete STRING005
FCreate 1, STRING005, 1, 0
If (INTEGER010 == 1) Then
FPut 1, TSTRING018(1)
FClose 1
Goto LABEL009
Endif
If (INTEGER010 == 2) Then
FPutLn 1, TSTRING018(1)
FPut 1, TSTRING018(2)
FClose 1
Goto LABEL009
Endif
If (INTEGER010 == 3) Then
FPutLn 1, TSTRING018(1)
FPutLn 1, TSTRING018(2)
FPut 1, TSTRING018(3)
FClose 1
Endif
Newlines 2
Wait
Goto LABEL009
:LABEL013
SaveScrn
Cls
DispFile PPEPath() + "help2.pcb", 1 + 4 + 2
Wait
Cls
RestScrn
AnsiPos 1, INTEGER002
ClrEol
INTEGER011 = 1
Goto LABEL010
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 4 Cls
; 1 ClrEol
; 4 Wait
; 76 Goto
; 53 Let
; 32 Print
; 7 PrintLn
; 45 If
; 3 DispFile
; 4 FCreate
; 2 FOpen
; 14 FClose
; 11 FGet
; 12 FPut
; 12 FPutLn
; 1 GetUser
; 4 Delete
; 1 InputStr
; 5 Gosub
; 2 Return
; 3 Inc
; 6 Newline
; 3 Newlines
; 1 InputText
; 12 AnsiPos
; 1 SaveScrn
; 1 RestScrn
;
;
; ■ Functions used :
;
; 119 +
; 10 -
; 40 ==
; 3 <>
; 2 <
; 2 <=
; 4 >=
; 36 !
; 5 &&
; 5 ||
; 4 Lower()
; 2 Left()
; 3 Space()
; 2 Ferr()
; 6 Chr()
; 2 U_Name()
; 4 Strip()
; 1 Inkey()
; 8 String()
; 7 PPEPath()
; 2 Exist()
; 5 GetY()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 2 For/Next
; 3 While/EndWhile
; 22 If/Then or If/Then/Else
; 3 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------