home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carsten's PPE Collection
/
Carstens_PPE_Collection_2007.zip
/
U
/
UNC-TMU2.ZIP
/
THEMENU.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1995-05-10
|
9KB
|
434 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
Integer TINTEGER006(5)
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer TINTEGER011(4)
Integer INTEGER012
Integer INTEGER013
Integer TINTEGER014(2)
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String TSTRING008(4,17)
String TSTRING009(4,17)
String TSTRING010(4)
String STRING011
String STRING012
String STRING013
String TSTRING014(2)
String STRING015
Declare Procedure PROC001()
Declare Procedure PROC002()
Declare Procedure PROC003()
;------------------------------------------------------------------------------
:LABEL001
Goto LABEL002
INTEGER012 = 0
INTEGER013 = 0
:LABEL002
TSTRING014(1) = "NOONE"
GetUser
FOpen 1, PPEPath() + "THEMENU.USR", 2, 0
FGet 1, STRING015
While ((TSTRING014(1) <> "") && (INTEGER012 == 0)) Do
FGet 1, TSTRING014(1)
FGet 1, TINTEGER014(1)
If (U_Name() == TSTRING014(1)) INTEGER012 = 1
EndWhile
FClose 1
If (INTEGER012 == 0) Then
Cls
INTEGER013 = 1
PrintLn "@X0CCHOOSE UR DEFAULT MENU!!!"
AnsiPos 10, 10
Print "@X4Fuse THE MENU as default@X07"
AnsiPos 10, 11
Print "@X0Fuse normal ansi-menu as default@X07"
While (STRING001 <> Chr(13)) Do
STRING001 = Inkey()
If (STRING001 == "UP") Then
INTEGER013 = INTEGER013 - 1
If (INTEGER013 < 1) INTEGER013 = 2
If (INTEGER013 > 2) INTEGER013 = 1
If (INTEGER013 == 1) Then
AnsiPos 10, 10
Print "@X4Fuse THE MENU as default@X07"
AnsiPos 10, 11
Print "@X0Fuse normal ansi-menu as default@X07"
Endif
If (INTEGER013 == 2) Then
AnsiPos 10, 10
Print "@X0Fuse THE MENU as default@X07"
AnsiPos 10, 11
Print "@X4Fuse normal ansi-menu as default@X07"
Endif
Endif
If (STRING001 == "DOWN") Then
INTEGER013 = INTEGER013 + 1
If (INTEGER013 < 1) INTEGER013 = 2
If (INTEGER013 > 2) INTEGER013 = 1
If (INTEGER013 == 1) Then
AnsiPos 10, 10
Print "@X4Fuse THE MENU as default@X07"
AnsiPos 10, 11
Print "@X0Fuse normal ansi-menu as default@X07"
Endif
If (INTEGER013 == 2) Then
AnsiPos 10, 10
Print "@X0Fuse THE MENU as default@X07"
AnsiPos 10, 11
Print "@X4Fuse normal ansi-menu as default@X07"
Endif
Endif
If (STRING001 == Chr(13)) Then
If (INTEGER013 == 1) TINTEGER014(2) = 1
If (INTEGER013 == 2) TINTEGER014(2) = 0
Endif
EndWhile
FAppend 1, PPEPath() + "THEMENU.USR", 2, 0
FPutLn 1, U_Name()
FPutLn 1, TINTEGER014(2)
FClose 1
Endif
If (INTEGER012 == 1) TINTEGER014(2) = TINTEGER014(1)
If (TINTEGER014(2) == 1) Goto LABEL003
If ((TINTEGER014(2) == 0) && (TokenStr() == "Y")) Goto LABEL006
:LABEL003
FOpen 1, PPEPath() + "THEMENU.DAT", 2, 0
FGet 1, STRING002
FGet 1, STRING003
FGet 1, STRING004
FGet 1, STRING005
FGet 1, STRING006
FGet 1, TSTRING010(1)
FGet 1, TSTRING010(2)
FGet 1, TSTRING010(3)
FGet 1, TSTRING010(4)
For INTEGER010 = 1 To 4
FGet 1, TINTEGER011(INTEGER010)
If (TINTEGER011(INTEGER010) > 9) TINTEGER011(INTEGER010) = 9
If (TINTEGER011(INTEGER010) > INTEGER005) INTEGER005 = TINTEGER011(INTEGER010)
For INTEGER009 = 1 To TINTEGER011(INTEGER010)
FGet 1, TSTRING008(INTEGER010, INTEGER009)
FGet 1, TSTRING009(INTEGER010, INTEGER009)
Next
Next
FClose 1
:LABEL004
KeyFlush
STRING001 = ""
STRING011 = ""
STRING007 = "@X08···-─ YouR SeLeCTioN : @X07"
INTEGER001 = CurConf()
INTEGER002 = U_TimeOn()
INTEGER007 = 1
TINTEGER006(1) = 1
TINTEGER006(2) = 1
TINTEGER006(3) = 1
TINTEGER006(4) = 1
Cls
AnsiPos 1, 1
Print STRING004 + "@X08RV@X0F ▄█▄ ▄@X7F▒@X07▄ @X0F█@X7F▓▓▒@X07 @X0F█@X7F▓▓▒@X0F ▄@X7F▓▓▒@X0F▐█@X7F▓▓@X07▄@X08░ @X78 ░▒▓█@X07 @X78░▒▓█@X08▓"
AnsiPos 1, 2
Print STRING004 + "@X0F ▐@X7F▓▓▒@X07▌@X0F▐@X7F▒░ @X07▌ @X7F▓▓▒░@X0F ▐@X7F▓▓▒░@X08░@X7F▓▓▒░@X07▌ @X7F░ @X78░▒▓@X08░@X78 ░▒▓█"
AnsiPos 1, 3
Print STRING004 + "@X0F █@X7F▓▒░@X08▒@X7F▒░ @X78░@X0F @X7F▓▒░ @X0F @X7F▓▓▒░ @X08▒@X7F▓▒░ @X78░@X07 @X7F▒░ @X78░▒@X08▒@X7F░ @X78░▒▓"
AnsiPos 1, 4
Print STRING004 + "@X0F ▐@X7F▓▒░@X07▌▐@X7F░ @X78░@X07▌▐▌ @X7F▒░ @X78░@X07 @X7F▓▒░ @X07 @X7F▓▒░ @X78░@X07 @X7F▒░ @X78░▒@X07 @X7F▓▒░ @X78░@X07 @X7F▒░ @X78░▒"
AnsiPos 1, 5
Print STRING004 + "@X0F @X7F▓▒░ @X08░@X7F░ @X78░▒@X07 @X78 ░@X0F @X7F░ @X78░▒@X0F @X7F▒░ @X78░▒@X08▒@X7F░ @X78░▒▓@X07 @X7F▓▓▒░ @X08▒@X7F▓▒░ @X78░"
AnsiPos 1, 6
Print STRING004 + "@X0F▐@X7F▒░ @X08▌@X07▐@X77 @X78░▒@X08▌@X07▐@X78░▒@X08▌ @X78 ░▒▓@X0F @X7F░ @X78░▒▓@X08░@X78 ░▒▓█@X07 @X0F▐@X7F▓▓▒░@X08░@X7F▓▓▒░@X07▌"
AnsiPos 1, 7
Print STRING004 + "@X7F▒░ @X78░@X08▒@X78 ░▒▓@X08░@X78░▒▓█@X07 @X78░▒▓█@X07 @X78░▒▓█@X07 @X78 ░▒▓█@X07 @X78░▒▓█@X08▓ @X0F▀@X7F▓▓▒@X0F▐█@X7F▓▓@X07▀@X08░"
AnsiPos 58, 1
Print "@X09THE MENU v2 by cL!@X07"
AnsiPos 55, 2
Print "@X08[@X07@X08] left [@X07INS@X08] help"
AnsiPos 55, 3
Print "[@X07@X08] right [@X07Enter @X08] select"
AnsiPos 55, 4
Print "[@X07@X08] up [@X07ESC@X08] quit"
AnsiPos 55, 5
Print "[@X07@X08] down [@X07DEL@X08] SET FLAG"
AnsiPos 1, 8
Print STRING004 + "┌────--∙∙· · · · ·∙∙-─────────────────────────────────────--∙∙· · · · ·∙∙-─────┐"
AnsiPos 1, 9
Print STRING004 + "| : | : |"
AnsiPos 1, 10
Print STRING004 + "└────--∙∙· · · · ·∙∙-─────────────────────────────────────--∙∙· · · · ·∙∙-─────┘"
AnsiPos 1, 11
Print STRING004
AnsiPos 55, 6
Print "@X07@TIMELEFT@"
Print "@X08 mins left today!"
AnsiPos 55, 7
Print "@X08@INCONF@"
PROC001()
PROC002()
PROC003()
While (STRING001 <> Chr(27)) Do
STRING001 = Inkey()
If (STRING001 == "DOWN") Then
TINTEGER006(INTEGER007) = TINTEGER006(INTEGER007) + 1
PROC001()
Endif
If (STRING001 == "UP") Then
TINTEGER006(INTEGER007) = TINTEGER006(INTEGER007) - 1
PROC001()
Endif
If (STRING001 == "RIGHT") Then
INTEGER007 = INTEGER007 + 1
PROC002()
Endif
If (STRING001 == "LEFT") Then
INTEGER007 = INTEGER007 - 1
PROC002()
Endif
If (((((((((((((STRING001 <> "UP") && (STRING001 <> "DOWN")) && (STRING001 <> Chr(27))) && (STRING001 <> Chr(13))) && (STRING001 <> "LEFT")) && (STRING001 <> "RIGHT")) && (STRING001 <> "INS")) && (STRING001 <> "HOME")) && (STRING001 <> "END")) && (STRING001 <> "DEL")) && (STRING001 <> "PGUP")) && (STRING001 <> "PGDN")) && (STRING001 <> "")) Then
STRING011 = STRING011 + STRING001
PROC003()
Endif
If (STRING001 == "END") Then
INTEGER003 = INTEGER003 + 1
PROC003()
Endif
If (STRING001 == "HOME") Then
STRING011 = ""
PROC003()
Endif
If (STRING001 == "DEL") Then
STRING013 = ScrText(GetX() + 1, 22, 59, 0)
INTEGER004 = GetX()
AnsiPos GetX(), 22
Print STRING013 + " "
AnsiPos INTEGER004, 22
Endif
If (STRING001 == Chr(13)) Goto LABEL007
If (STRING001 == "INS") Goto LABEL005
If (STRING001 == "DEL") Then
TSTRING014(1) = "NOONE"
If (TINTEGER014(1) == 0) TINTEGER014(2) = 1
If (TINTEGER014(1) == 1) TINTEGER014(2) = 0
FOpen 1, PPEPath() + "THEMENU.USR", 2, 0
FGet 1, STRING015
While (TSTRING014(1) <> "") Do
FGet 1, TSTRING014(1)
If (TSTRING014(1) <> U_Name()) FGet 1, TINTEGER014(1)
If (TSTRING014(1) == U_Name()) FPutLn 1, TINTEGER014(2)
EndWhile
Print "@X09■ DONE"
Delay 3
FClose 1
Goto LABEL001
Endif
EndWhile
End
;------------------------------------------------------------------------------
Procedure PROC001()
STRING011 = ""
If (TINTEGER006(INTEGER007) < 1) TINTEGER006(INTEGER007) = TINTEGER011(INTEGER007)
If (TINTEGER006(INTEGER007) > TINTEGER011(INTEGER007)) TINTEGER006(INTEGER007) = 1
For INTEGER009 = 1 To TINTEGER011(INTEGER007)
INTEGER008 = (80 - Len(TSTRING008(INTEGER007, INTEGER009))) / 2
AnsiPos INTEGER008, INTEGER009 + 11
If (INTEGER009 <> TINTEGER006(INTEGER007)) Print STRING003 + TSTRING008(INTEGER007, INTEGER009) + "@X07"
If (INTEGER009 == TINTEGER006(INTEGER007)) Print STRING002 + TSTRING008(INTEGER007, INTEGER009) + "@X07"
Next
Print "@X07"
AnsiPos 1, 22
ClrEol
If (INTEGER003 > 1) INTEGER003 = 0
If (INTEGER003 == 0) Print STRING007 + TSTRING009(INTEGER007, TINTEGER006(INTEGER007)) + " " + STRING011
If (INTEGER003 == 1) Print "@X08···-─ DiRecT CommAnD : @X07" + STRING011
EndProc
;------------------------------------------------------------------------------
Procedure PROC002()
STRING011 = ""
Print "@X08"
For INTEGER009 = 11 To INTEGER005 + 11
AnsiPos 1, INTEGER009
ClrEol
Next
If (INTEGER007 > 4) INTEGER007 = 1
If (INTEGER007 < 1) INTEGER007 = 4
For INTEGER009 = 1 To 4
If (INTEGER009 == INTEGER007) Then
AnsiPos (INTEGER009 - 1) * 20 + (20 - Len(TSTRING010(INTEGER009))) / 2, 9
Print STRING006 + TSTRING010(INTEGER009)
Endif
If (INTEGER009 <> INTEGER007) Then
AnsiPos (INTEGER009 - 1) * 20 + (20 - Len(TSTRING010(INTEGER009))) / 2, 9
Print STRING005 + TSTRING010(INTEGER009)
Endif
Print "@X07"
Next
For INTEGER009 = 1 To TINTEGER011(INTEGER007)
INTEGER008 = (80 - Len(TSTRING008(INTEGER007, INTEGER009))) / 2
AnsiPos INTEGER008, INTEGER009 + 11
If (INTEGER009 <> TINTEGER006(INTEGER007)) Print STRING003 + TSTRING008(INTEGER007, INTEGER009) + "@X07"
If (INTEGER009 == TINTEGER006(INTEGER007)) Print STRING002 + TSTRING008(INTEGER007, INTEGER009) + "@X07"
Next
AnsiPos 1, 22
ClrEol
If (INTEGER003 > 1) INTEGER003 = 0
If (INTEGER003 == 0) Print STRING007 + TSTRING009(INTEGER007, TINTEGER006(INTEGER007)) + " " + STRING011
If (INTEGER003 == 1) Print "@X08···-─ Direct CommAnD : @X07" + STRING011
EndProc
;------------------------------------------------------------------------------
Procedure PROC003()
AnsiPos 1, 22
ClrEol
If (INTEGER003 > 1) INTEGER003 = 0
If (INTEGER003 == 0) Print STRING007 + TSTRING009(INTEGER007, TINTEGER006(INTEGER007)) + " " + STRING011
If (INTEGER003 == 1) Print "@X08···-─ Direct CommAnD : @X07" + STRING011
EndProc
:LABEL005
Cls
AnsiPos 1, 1
Print "@X0D·∙─────═══════ @X0FTHE MENU - HELP!@X0D ═══════─────∙·"
Newline
Newline
PrintLn "- @X07Arrow Keys to choose Heads/Commands"
PrintLn "- @X07RETURN to execute comandline"
PrintLn "- @X07END to switch between DIRECT COMMAND-MODE and ASSISTED-MODE"
PrintLn "- @X07HOME to delete ur manual entry"
PrintLn "- @X07ESC to quit THE MENU"
PrintLn "- @X07DEL to change default flag 4 menu!"
PrintLn "- @X07INS to view this"
Newline
PrintLn "@X08 THE MENU coded by cL!"
Newline
Wait
Goto LABEL004
End
:LABEL006
DispFile STRING015, 1
Stop
:LABEL007
KeyFlush
KbdStuff Chr(13)
KbdStuff Chr(13)
STRING012 = ScrText(26, 22, 59, 0)
KbdString STRING012 + Chr(13)
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 2 End
; 3 Cls
; 4 ClrEol
; 1 Wait
; 46 Goto
; 64 Let
; 47 Print
; 9 PrintLn
; 64 If
; 1 DispFile
; 3 FOpen
; 1 FAppend
; 4 FClose
; 18 FGet
; 3 FPutLn
; 1 GetUser
; 1 Delay
; 4 Newline
; 1 Stop
; 2 KbdStuff
; 39 AnsiPos
; 1 KbdString
; 2 KeyFlush
; 3 EndProc
;
;
; ■ Functions used :
;
; 2 *
; 4 /
; 56 +
; 9 -
; 38 ==
; 21 <>
; 10 <
; 6 <=
; 9 >
; 12 >=
; 29 !
; 26 &&
; 6 ||
; 4 Len(
; 9 Chr()
; 4 U_Name()
; 1 U_TimeOn()
; 2 Inkey()
; 1 CurConf()
; 4 PPEPath()
; 1 TokenStr()
; 3 GetX()
; 2 ScrText()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 6 For/Next
; 4 While/EndWhile
; 19 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------