home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.wwiv.com
/
ftp.wwiv.com.zip
/
ftp.wwiv.com
/
pub
/
BBS
/
JM_PD_12.ZIP
/
PULL.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1995-01-07
|
10KB
|
563 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
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String TSTRING012(50)
String STRING013
String TSTRING014(5,25)
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
Declare Procedure PROC001()
Declare Procedure PROC004(Integer INTEGER005)
Declare Procedure PROC005()
;------------------------------------------------------------------------------
PROC001()
End
;------------------------------------------------------------------------------
Procedure PROC001()
WrUNet PcbNode(), "Q", UN_Name(), UN_City(), "PullDown Menu System", " "
If (Exist(!PPEPath() + PPEName() + ".CNF")) Then
Lang INTEGER003
PROC004(1)
Endif
INTEGER004 = ReadLine(PPEPath() + PPEName() + ".CNF", 5)
INTEGER003 = ReadLine(PPEPath() + PPEName() + ".CNF", 5)
If (GrafMode() == "N") Then
DispFile PPEPath() + "NOANSI", 2 + 4 + 1
Lang INTEGER003
End
Endif
If (Carrier() < INTEGER004) Then
DispFile PPEPath() + "TOOSLOW", 2 + 4 + 1
Lang INTEGER003
End
Endif
If (Exist(!PPEPath() + "PROMPTS") || Exist(!PPEPath() + "PROMPTS" + LangExt())) Then
Lang INTEGER003
PROC004(2)
Endif
If (Exist(!PPEPath() + "m1.key")) Then
Lang INTEGER003
PROC004(3)
Endif
If (Exist(!PPEPath() + "m2.key")) Then
Lang INTEGER003
PROC004(4)
Endif
If (Exist(!PPEPath() + "m3.key")) Then
Lang INTEGER003
PROC004(5)
Endif
If (Exist(!PPEPath() + "m4.key")) Then
Lang INTEGER003
PROC004(6)
Endif
If (Exist(!PPEPath() + "m5.key")) Then
Lang INTEGER003
PROC004(7)
Endif
If (Exist(!PPEPath() + "m1.men")) Then
Lang INTEGER003
PROC004(8)
Endif
If (Exist(!PPEPath() + "m2.men")) Then
Lang INTEGER003
PROC004(9)
Endif
If (Exist(!PPEPath() + "m3.men")) Then
Lang INTEGER003
PROC004(10)
Endif
If (Exist(!PPEPath() + "m4.men")) Then
Lang INTEGER003
PROC004(11)
Endif
If (Exist(!PPEPath() + "m5.men")) Then
Lang INTEGER003
PROC004(12)
Endif
If (Exist(PPEPath() + "INITIAL")) DispFile PPEPath() + "INITIAL", 2 + 4 + 1
KbdChkOn
STRING015 = ""
STRING016 = ""
STRING017 = ""
STRING018 = ""
STRING019 = ""
STRING020 = ""
STRING021 = ""
STRING022 = ""
STRING023 = ""
STRING024 = ""
STRING025 = ""
STRING026 = ""
STRING027 = ""
STRING028 = ""
STRING029 = ""
STRING013 = "1.2ß"
STRING011 = "@X0FPullDown Menu System@X0E v" + STRING013 + "@X09 ■ @X0E(C)opyright 1994-5, Cutting Edge Online"
For INTEGER001 = 1 To 21
If (Exist(PPEPath() + "PROMPTS" + LangExt())) Then
TSTRING012(INTEGER001) = ReadLine(PPEPath() + "PROMPTS" + LangExt(), INTEGER001)
Continue
Endif
If (Exist(PPEPath() + "PROMPTS.")) Then
TSTRING012(INTEGER001) = ReadLine(PPEPath() + "PROMPTS.", INTEGER001)
Continue
Endif
Log "PullDown Menu System v" + STRING013 + " PROMPTS.[language] file not found!", 0
TSTRING012(1) = "@X01┌──────────────┬──────────────┬──────────────┬──────────────┬──────────────────@X09┐@X07"
TSTRING012(2) = "@X01│ @X0FCtrl@X09-@X0E@X0FF@X0Eile @X01│ @X0FCtrl@X09-@X0EMess@X0FA@X0Ege @X01│ @X0FCtrl@X09-@X0E@X0FD@X0Eoors @X01│ @X0FCtrl@X09-@X0ES@X0FY@X0Estem @X01│ @X0FCtrl@X09-@X0FO@X0Eptions @X09│@X07"
TSTRING012(3) = "@X01└@X09──────────────┴──────────────┴──────────────┴──────────────┴──────────────────┘@X07"
TSTRING012(5) = "@X01├@X07"
TSTRING012(6) = "@X01┼@X07"
TSTRING012(7) = "@X01──────────────────@X07"
TSTRING012(8) = "@X09┤@X07"
TSTRING012(9) = "@X09┬@X07"
TSTRING012(10) = "@X01└@X09──────────────────┘@X07"
TSTRING012(11) = "@X01│@X07"
TSTRING012(12) = "@X0E @OPTEXT@ @X07"
TSTRING012(13) = "@X09│@X07"
TSTRING012(14) = "@X01│@X07"
TSTRING012(15) = "@X1F @OPTEXT@ @X07"
TSTRING012(16) = "@X09│@X07"
TSTRING012(17) = "@X0E(@X0F@MINLEFT@@X01@X0E Min Left, @X0F@BYTESLEFT@@X0E Bytes Left)@X07"
TSTRING012(18) = "@X0E@X0F@INCONF@@X0ECommand? @X07"
TSTRING012(20) = "@X0F @OPTEXT@ @X07"
TSTRING012(21) = "@X01──────────────┴───@X07"
Next
Color 7
Cls
AnsiPos 1, 5
DispFile PPEPath() + "BACK", 2 + 1 + 4
PROC005()
STRING008 = Mask_Ascii()
STRING008 = STRING008 + " "
Print "@POFF@"
AnsiPos 1, 1
Print STRING011
AnsiPos 1, 2
Print TSTRING012(1)
AnsiPos 1, 3
Print TSTRING012(2)
AnsiPos 1, 22
Print TSTRING012(17)
AnsiPos 1, 23
Print TSTRING012(18)
STRING007 = 5
STRING001 = 1
STRING002 = 1
Gosub LABEL004
:LABEL001
AnsiPos 1, 21
STRING003 = ""
STRING003 = Inkey()
While (STRING003 == "") Do
STRING003 = Inkey()
EndWhile
Select Case (STRING003)
Case STRING020
STRING001 = 1
STRING002 = 1
Gosub LABEL004
Goto LABEL003
Case STRING015
STRING001 = 2
STRING002 = 16
Gosub LABEL004
Goto LABEL003
Case STRING018
STRING001 = 3
STRING002 = 31
Gosub LABEL004
Goto LABEL003
Case STRING029
STRING001 = 4
STRING002 = 46
Gosub LABEL004
Goto LABEL003
Case STRING023
STRING001 = 5
STRING002 = 61
Gosub LABEL004
Goto LABEL003
End Select
Select Case (STRING003)
Case "LEFT"
Select Case (STRING001)
Case 1
STRING001 = 5
STRING002 = 61
Gosub LABEL004
Case 2
STRING001 = 1
STRING002 = 1
Gosub LABEL004
Case 3
STRING001 = 2
STRING002 = 16
Gosub LABEL004
Case 4
STRING001 = 3
STRING002 = 31
Gosub LABEL004
Case 5
STRING001 = 4
STRING002 = 46
Gosub LABEL004
End Select
If (STRING003 == "RIGHT") Then
If (STRING001 == 1) Then
STRING001 = 2
STRING002 = 16
Gosub LABEL004
Goto LABEL002
Endif
If (STRING001 == 2) Then
STRING001 = 3
STRING002 = 31
Gosub LABEL004
Goto LABEL002
Endif
If (STRING001 == 3) Then
STRING001 = 4
STRING002 = 46
Gosub LABEL004
Goto LABEL002
Endif
If (STRING001 == 4) Then
STRING001 = 5
STRING002 = 61
Gosub LABEL004
Goto LABEL002
Endif
If (STRING001 == 5) Then
STRING001 = 1
STRING002 = 1
Gosub LABEL004
Endif
:LABEL002
Goto LABEL001
Endif
Case "DOWN"
Gosub LABEL007
Inc STRING007
Gosub LABEL006
Case "UP"
Gosub LABEL007
Dec STRING007
Gosub LABEL006
Case Else
If (InStr(STRING008, STRING003) <> 0) Then
AnsiPos 1, 22
Print TSTRING012(4)
Goto LABEL001
Endif
If (STRING003 == Chr(13)) Then
STRING007 = STRING007 - 4
STRING009 = "m" + STRING001 + ".key"
STRING010 = ReadLine(PPEPath() + STRING009, STRING007)
Print "@X07"
Cls
KbdStuff STRING010 + Chr(13)
Endif
End
End Select
:LABEL003
Goto LABEL001
:LABEL004
AnsiPos 1, 4
PrintLn TSTRING012(3)
For INTEGER001 = 5 To 21
If (STRING006 == 1) Then
AnsiPos STRING006, INTEGER001
Print TSTRING014(1, INTEGER001)
Continue
Endif
If (STRING006 == 16) Then
AnsiPos STRING006, INTEGER001
Print TSTRING014(2, INTEGER001)
Continue
Endif
If (STRING006 == 31) Then
AnsiPos STRING006, INTEGER001
Print TSTRING014(3, INTEGER001)
Continue
Endif
If (STRING006 == 46) Then
AnsiPos STRING006, INTEGER001
Print TSTRING014(4, INTEGER001)
Continue
Endif
If (STRING006 == 61) Then
AnsiPos STRING006, INTEGER001
Print TSTRING014(5, INTEGER001)
Endif
Next
AnsiPos STRING002, 4
If (STRING001 == 1) Then
Print TSTRING012(5)
Else
Print TSTRING012(6)
Endif
If (STRING001 == 5) Then
Print TSTRING012(7)
Else
Print TSTRING012(21)
Endif
If (STRING001 == 5) Then
Print TSTRING012(8)
Else
PrintLn TSTRING012(9)
Endif
STRING004 = 1
:LABEL005
If (STRING004 == 17) Then
Return
Endif
STRING005 = ReadLine(PPEPath() + "M" + STRING001 + ".MEN", STRING004)
If ((STRING005 == "") || (STRING005 == Chr(13))) Then
AnsiPos STRING002, STRING004 + 4
PrintLn TSTRING012(10)
STRING006 = STRING002
Gosub LABEL006
Return
Endif
AnsiPos STRING002, STRING004 + 4
Print TSTRING012(11)
STRING005 = Left(STRING005, 16)
While (Len(STRING005) < 16) Do
Inc STRING005
If (Len(STRING005) < 16) Then
EndWhile
Endif
OpText STRING005
Print TSTRING012(12)
PrintLn TSTRING012(13)
Inc STRING004
Goto LABEL005
:LABEL006
While ((STRING007 <= 4)) Inc STRING007
STRING005 = ReadLine(PPEPath() + "M" + STRING001 + ".MEN", STRING007 - 4)
If ((STRING005 == "") || (STRING005 == Chr(13))) Then
Dec STRING007
Goto LABEL006
Endif
STRING005 = Left(STRING005, 16)
While (Len(STRING005) < 16) Do
STRING005 = STRING005 + " "
If (Len(STRING005) < 16) Then
EndWhile
Endif
AnsiPos STRING002, STRING007
OpText STRING005
Print TSTRING012(14)
Print TSTRING012(15)
PrintLn TSTRING012(16)
Return
:LABEL007
STRING005 = ReadLine(PPEPath() + "M" + STRING001 + ".MEN", STRING007 - 4)
If ((STRING005 == "") || (STRING005 == Chr(13))) Then
Dec STRING007
Goto LABEL007
Endif
STRING005 = Left(STRING005, 16)
While (Len(STRING005) < 16) Do
STRING005 = STRING005 + " "
If (Len(STRING005) < 16) Then
EndWhile
Endif
AnsiPos STRING002, STRING007
OpText STRING005
Print TSTRING012(11)
Print TSTRING012(12)
PrintLn TSTRING012(13)
Return
EndProc
;------------------------------------------------------------------------------
Procedure PROC004(Integer INTEGER005)
Select Case (INTEGER005)
Case 1
Log "PullDown Menu System Error: File Missing: PULL.CNF", 0
Case 2
Log "PullDown Menu System Error: File Missing: PROMPTS.[language]", 0
Case 3
Log "PullDown Menu System Error: File Missing: M1.KEY", 0
Case 4
Log "PullDown Menu System Error: File Missing: M2.KEY", 0
Case 5
Log "PullDown Menu System Error: File Missing: M3.KEY", 0
Case 6
Log "PullDown Menu System Error: File Missing: M4.KEY", 0
Case 7
Log "PullDown Menu System Error: File Missing: M5.KEY", 0
Case 8
Log "PullDown Menu System Error: File Missing: M1.MEN", 0
Case 9
Log "PullDown Menu System Error: File Missing: M2.MEN", 0
Case 10
Log "PullDown Menu System Error: File Missing: M3.MEN", 0
Case 11
Log "PullDown Menu System Error: File Missing: M4.MEN", 0
Case 12
Log "PullDown Menu System Error: File Missing: M5.MEN", 0
Case Else
Log "PullDown Menu System Error: File Missing: UnDefined Error", 0
End Select
End
EndProc
;------------------------------------------------------------------------------
Procedure PROC005()
For INTEGER001 = 1 To 5
For INTEGER002 = 5 To 21
Select Case (INTEGER001)
Case 1
STRING002 = 1
Case 2
STRING002 = 16
Case 3
STRING002 = 31
Case 4
STRING002 = 46
Case 5
STRING002 = 61
End Select
TSTRING014(INTEGER001, INTEGER002) = ScrText(STRING002, INTEGER002, 20, 1)
Next
Next
EndProc
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 5 End
; 2 Cls
; 1 Color
; 137 Goto
; 105 Let
; 24 Print
; 6 PrintLn
; 79 If
; 4 DispFile
; 14 Log
; 21 Gosub
; 4 Return
; 4 Inc
; 3 Dec
; 1 KbdStuff
; 1 KbdChkOn
; 3 OpText
; 1 WrUNet
; 19 AnsiPos
; 14 Lang
; 3 EndProc
;
;
; ■ Functions used :
;
; 64 +
; 3 -
; 54 ==
; 1 <>
; 11 <
; 5 <=
; 8 >=
; 90 !
; 8 &&
; 8 ||
; 6 Len(
; 3 Left()
; 5 Chr()
; 1 InStr()
; 2 Inkey()
; 1 Mask_Ascii()
; 28 PPEPath()
; 1 PcbNode()
; 8 ReadLine()
; 1 UN_Name()
; 1 UN_City()
; 16 Exist()
; 1 Carrier()
; 3 LangExt()
; 1 GrafMode()
; 3 PPEName()
; 1 ScrText()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 4 For/Next
; 4 While/EndWhile
; 39 If/Then or If/Then/Else
; 5 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------