home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carsten's PPE Collection
/
Carstens_PPE_Collection_2007.zip
/
S
/
SCROLL09.ZIP
/
SCROLL.PPE
(
.txt
)
< prev
Wrap
PCBoard Programming Language Executable
|
1994-06-06
|
4KB
|
235 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
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
Integer TINTEGER015(4)
Integer INTEGER016
Integer INTEGER017
Integer INTEGER018
Integer INTEGER019
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
;------------------------------------------------------------------------------
STRING009 = TokenStr()
Tokenize STRING009
INTEGER009 = 1
KbdChkOff
STRING010 = "@X8F@X0F"
While (TokCount() > 0) Do
TINTEGER015(INTEGER009) = GetToken()
Inc INTEGER009
EndWhile
STRING011 = " ■ unregistred version of scroll 0.9 ■ "
INTEGER001 = TINTEGER015(1)
INTEGER016 = TINTEGER015(2)
INTEGER019 = TINTEGER015(3)
STRING005 = TINTEGER015(4)
If (STRING005 < 3) STRING005 = 3
STRING002 = ReadLine(PPEPath() + PPEName() + ".CNF", 1)
STRING003 = ReadLine(PPEPath() + PPEName() + ".CNF", 2)
STRING001 = ReadLine(PPEPath() + PPEName() + ".CNF", STRING005)
If (STRING001 == "") STRING001 = "■ SCROLL.PPE 0.9 ■ (c) by Aussie BBS the music BBS ■"
STRING008 = "(@X0E@MINLEFT@@X0B) Min. uebrig. Dein Befehl, @FIRST@?"
STRING001 = STRING001 + STRING011
INTEGER004 = Len(STRING002)
INTEGER005 = Len(STRING003)
If ((INTEGER004 + INTEGER005 < 40) && (INTEGER004 + INTEGER005 > 30)) INTEGER006 = 40
If ((INTEGER004 + INTEGER005 < 30) && (INTEGER004 + INTEGER005 > 20)) INTEGER006 = 50
If ((INTEGER004 + INTEGER005 < 20) && (INTEGER004 + INTEGER005 > 0)) INTEGER006 = 60
If (INTEGER004 + INTEGER005 > 41) Goto LABEL002
INTEGER014 = Len(STRING001)
While (INTEGER014 < INTEGER006 + 1) Do
INTEGER014 = INTEGER014 + " " + INTEGER014
EndWhile
INTEGER002 = (80 - INTEGER006 - INTEGER004 + INTEGER005) / 2
INTEGER007 = INTEGER002 + INTEGER004 + 1
INTEGER003 = INTEGER007 + INTEGER006
INTEGER008 = INTEGER003 - 2
AnsiPos 1, INTEGER016
DispText INTEGER019, 4
Print " ? "
INTEGER017 = GetX()
INTEGER018 = GetY()
Print STRING010
AnsiPos INTEGER002, INTEGER001
Print "@X0C", STRING002
AnsiPos INTEGER003, INTEGER001
Print "@X0C", STRING003
INTEGER009 = 0
INTEGER012 = 1
INTEGER010 = INTEGER008
While (INTEGER010 >= INTEGER007) Do
AnsiPos INTEGER010, INTEGER001
Print "@X0F"
Print Mid(STRING001, INTEGER009, INTEGER012)
Inc INTEGER012
Dec INTEGER010
Delay 1
Gosub LABEL001
EndWhile
INTEGER009 = 2
INTEGER010 = INTEGER006
INTEGER011 = 1
STRING004 = Inkey()
While (STRING004 <> Chr(13)) Do
If (INTEGER009 + INTEGER012 <= INTEGER014 + 1) Then
INTEGER013 = 1
INTEGER011 = 1
AnsiPos INTEGER007, INTEGER001
Print Mid(STRING001, INTEGER009, INTEGER012)
Inc INTEGER009
Else
AnsiPos INTEGER007, INTEGER001
Print Mid(STRING001, INTEGER009 + 1, INTEGER012 - INTEGER011)
Inc INTEGER011
If (INTEGER009 < INTEGER014) Then
Inc INTEGER009
Else
INTEGER009 = 1
Endif
Print Mid(STRING001, 0, INTEGER013)
Inc INTEGER013
Endif
Delay 1
Gosub LABEL001
EndWhile
End
:LABEL001
Delay 2
STRING004 = Inkey()
If (STRING004 == "") Return
AnsiPos INTEGER017, INTEGER018
STRING006 = Len(STRING007)
If (STRING004 == Chr(8)) Then
ClrEol
STRING007 = Mid(STRING007, 1, STRING006 - 1)
Endif
If (STRING004 <> Chr(8)) Then
STRING007 = STRING007 + STRING004
Endif
If ((STRING007 == "") && (STRING004 == Chr(13))) Return
Print STRING007 + STRING010
If (STRING004 == Chr(13)) Then
KbdStuff STRING007
End
Endif
Return
:LABEL002
Cls
PrintLn "The length of the start and the ending block is bigger"
PrintLn "than 41. Can't execute PPE !"
PrintLn "Please read the File SCROLLER.DOC"
STRING004 = Inkey()
While (STRING004 <> Chr(13)) Do
EndWhile
Cls
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 3 End
; 2 Cls
; 1 ClrEol
; 18 Goto
; 44 Let
; 10 Print
; 3 PrintLn
; 18 If
; 2 Gosub
; 3 Return
; 3 Delay
; 6 Inc
; 1 Dec
; 1 Tokenize
; 1 DispText
; 1 KbdStuff
; 1 KbdChkOff
; 7 AnsiPos
;
;
; ■ Functions used :
;
; 1 /
; 26 +
; 5 -
; 6 ==
; 3 <>
; 6 <
; 1 <=
; 5 >
; 1 >=
; 10 !
; 4 &&
; 4 Len(
; 5 Mid()
; 6 Chr()
; 3 Inkey()
; 3 PPEPath()
; 3 ReadLine()
; 1 GetToken()
; 1 TokenStr()
; 1 GetX()
; 1 GetY()
; 3 PPEName()
; 1 TokCount()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 0 For/Next
; 5 While/EndWhile
; 5 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------