home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carsten's PPE Collection
/
Carstens_PPE_Collection_2007.zip
/
F
/
FLAG22.ZIP
/
FLAG2.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1993-09-28
|
3KB
|
248 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 1.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Date DATE001
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
;------------------------------------------------------------------------------
STRING003 = Chr(8)
STRING004 = Chr(127)
STRING005 = Chr(13)
STRING006 = Chr(27)
INTEGER001 = 0
STRING001 = ""
STRING009 = "@X0E(H)elp, (1-@NUMDIR@), (@X0FSPACE@X0E)=Mark, File List Command? "
STRING010 = "@X0E(H)elp, (1-@NUMDIR@), File List Command"
If (AnsiOn()) Goto LABEL001
Print STRING010
End
:LABEL001
RestScrn
ClrEol
Print STRING009
DefColor
:LABEL002
If (BOOLEAN001) Goto LABEL008
STRING002 = Inkey()
If (STRING002 <> "") Then
If ((INTEGER001 == 0) && (STRING002 == " ")) Then
INTEGER002 = GetX()
INTEGER003 = GetY()
INTEGER004 = INTEGER003
Print STRING005 + "@CLREOL@@X0APress @X0FSPACE@X0A to move up, @X0FENTER@X0A to select, @X0FV@X0A to view, @X0FESC@X0A to exit" + STRING005
Gosub LABEL011
If (STRING007 <> "") Then
While (((STRING002 <> STRING006) && (STRING002 <> STRING005)) && (Upper(STRING002) <> "V")) Do
STRING002 = Inkey()
If (STRING002 == " ") Then
Gosub LABEL012
Gosub LABEL011
If (STRING007 == "") Then
Gosub LABEL009
Gosub LABEL010
Goto LABEL007
Endif
Endif
EndWhile
Gosub LABEL012
Gosub LABEL009
If (STRING002 == STRING005) Then
KbdStuff "F " + STRING007 + STRING005
End
Goto LABEL003
Endif
If (Upper(STRING002) == "V") Then
SaveScrn
KbdStuff "V " + STRING007 + STRING005
End
Endif
:LABEL003
Goto LABEL004
Endif
Gosub LABEL009
:LABEL004
Gosub LABEL010
Goto LABEL007
Goto LABEL006
Endif
If ((STRING002 == STRING003) || (STRING002 == STRING004)) Then
If (INTEGER001 > 0) Then
Print STRING003 + " "
INTEGER001 = INTEGER001 - 1
STRING001 = Left(STRING001, INTEGER001)
Goto LABEL005
Endif
Goto LABEL007
:LABEL005
Goto LABEL006
Endif
If (STRING002 == STRING005) Then
STRING001 = STRING001 + STRING002
BOOLEAN001 = 1
Goto LABEL006
Endif
If ((Len(STRING002) > 1) || (STRING002 < " ")) Then
Goto LABEL007
Goto LABEL006
Endif
If ((STRING002 >= " ") && (INTEGER001 < 80)) Then
STRING001 = STRING001 + STRING002
INTEGER001 = INTEGER001 + 1
Endif
:LABEL006
Print STRING002
Endif
:LABEL007
Goto LABEL002
:LABEL008
If (Upper(Left(STRING001, 1)) == "V") Then
SaveScrn
Endif
KbdStuff STRING001
End
:LABEL009
If (INTEGER004 < INTEGER003) Then
Print STRING006 + "[" + String(INTEGER003 - INTEGER004) + "B"
Endif
INTEGER004 = INTEGER003
ClrEol
Return
:LABEL010
Print STRING009
DefColor
Return
:LABEL011
If (INTEGER004 == 1) Then
STRING007 = ""
Return
Endif
INTEGER005 = 0
While (INTEGER004 >= 1) Do
INTEGER004 = INTEGER004 - 1
INTEGER005 = INTEGER005 + 1
INTEGER008 = Trim(ScrText(13, INTEGER004, 11, 0), " ")
If (INTEGER008 > 0) Then
DATE001 = ScrText(24, INTEGER004, 8, 0)
If (DATE001 > 0) Then
STRING007 = RTrim(ScrText(1, INTEGER004, 13, 0), " ")
INTEGER007 = Len(STRING007)
If ((INTEGER007 >= 1) && (INTEGER007 <= 12)) Then
If ((((((InStr(STRING007, " ") || InStr(STRING007, ",")) || InStr(STRING007, ":")) || InStr(STRING007, "\")) || InStr(STRING007, "*")) || InStr(STRING007, "<")) || InStr(STRING007, ">")) Continue
INTEGER006 = InStr(STRING007, ".")
If (((INTEGER006 == 0) && (INTEGER007 <= 8)) || (INTEGER007 - INTEGER006 <= 3)) Then
STRING008 = ScrText(1, INTEGER004, 13, 1)
Print STRING006 + "[" + String(INTEGER005) + "A"
Color 112
Print STRING007 + STRING005
Return
Endif
Endif
Endif
Endif
EndWhile
STRING007 = ""
INTEGER004 = INTEGER004 + INTEGER005
Return
:LABEL012
Print STRING008 + STRING005
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 4 End
; 2 ClrEol
; 1 Color
; 38 Goto
; 32 Let
; 10 Print
; 24 If
; 2 DefColor
; 9 Gosub
; 6 Return
; 3 KbdStuff
; 2 SaveScrn
; 1 RestScrn
;
;
; ■ Functions used :
;
; 20 +
; 4 -
; 12 ==
; 5 <>
; 3 <
; 3 <=
; 4 >
; 3 >=
; 24 !
; 6 &&
; 9 ||
; 2 Len(
; 3 Upper()
; 2 Left()
; 4 Chr()
; 8 InStr()
; 1 RTrim()
; 1 Trim()
; 2 Inkey()
; 2 String()
; 1 AnsiOn()
; 1 GetX()
; 1 GetY()
; 4 ScrText()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 0 For/Next
; 2 While/EndWhile
; 19 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------