home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carsten's PPE Collection
/
Carstens_PPE_Collection_2007.zip
/
T
/
TTABTC15.ZIP
/
TC.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1995-03-24
|
4KB
|
334 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
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
EDate EDATE001
EDate EDATE002
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
String STRING001
String TSTRING002(10)
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
String STRING019
String STRING020
String STRING021
String STRING022
String STRING023
String STRING024
String STRING025
Time TIME001
;------------------------------------------------------------------------------
Goto LABEL003
INTEGER001 = DNext()
STRING001 = " "
Cls
End
Cls
If (Exist(PPEPath() + "")) Then
Endif
If ((0 > 10) || (0 < 1)) Then
Return
Endif
Cls
For INTEGER002 = 0 To 0 - 1
Cls
If (("" == "N") || ("" == "F")) Then
Goto LABEL001
Endif
STRING003 = "0"
:LABEL001
TSTRING002(INTEGER002) = "" + "," + "" + "," + "" + "," + STRING003
Next
DCreate INTEGER001, PPEPath() + "", 0, TSTRING002(BOOLEAN000)
EndProc
DNew INTEGER001
INTEGER003 = DFields(INTEGER001)
For INTEGER004 = 1 To INTEGER003
DPut INTEGER001, DName(INTEGER001, INTEGER004), ""
Next
DAdd INTEGER001
If (DErr(INTEGER001)) Goto LABEL002
:LABEL002
EndProc
:LABEL003
STRING004 = TokenStr()
Tokenize STRING004
GetToken STRING005
STRING025 = "@X8C.UNREGISTRED..UNREGISTRED..UNREGISTRED..UNREGISTRED..UNREGISTRED..UNREGISTRED."
INTEGER014 = 1
GetUser
FOpen 1, PPEPath() + "TC.CFG", 0, 0
FGet 1, STRING012
FGet 1, STRING013
FGet 1, STRING014
FGet 1, STRING015
FGet 1, STRING016
FGet 1, STRING020
FGet 1, STRING021
FGet 1, STRING022
FGet 1, STRING017
FGet 1, STRING018
FGet 1, STRING019
FGet 1, INTEGER010
FGet 1, INTEGER012
FClose 1
STRING023 = Upper(ReadLine(PCBDat(), 2)) + Upper(ReadLine(PCBDat(), 94))
INTEGER013 = 1
For INTEGER014 = 1 To Len(STRING023)
STRING024 = Left(STRING023, INTEGER014)
INTEGER013 = INTEGER013 + Asc(STRING024)
Next
INTEGER013 = 32767 - INTEGER013 * 7
If (Exist(PPEPath() + "CALLERS.DAT")) Goto LABEL004
FCreate 1, PPEPath() + "CALLERS.DAT", 2, 0
FClose 1
:LABEL004
If (Exist(PPEPath() + "TC.DAT")) Goto LABEL005
INTEGER007 = 0
INTEGER008 = 0
INTEGER009 = 0
FCreate 1, PPEPath() + "TC.DAT", 2, 0
FPutLn 1, EDATE001
FPutLn 1, INTEGER007
FPutLn 1, INTEGER008
FPutLn 1, INTEGER009
FClose 1
:LABEL005
STRING010 = U_Name()
STRING011 = U_City
TIME001 = Time()
INTEGER006 = CallNum()
INTEGER005 = PcbNode()
EDATE001 = Date()
STRING006 = " " + STRING012 + Mid(INTEGER006, 1, 14) + STRING013 + Mid(STRING010, 1, 25) + STRING014 + Mid(STRING011, 1, 24) + STRING015 + Mid(TIME001, 1, 10) + STRING016 + Mid(INTEGER005, 1, 3)
If (INTEGER012 == 0) Goto LABEL006
Gosub LABEL011
:LABEL006
STRING005 = Upper(STRING005)
If (STRING005 == "/DISP") Then
Goto LABEL009
Endif
BOOLEAN001 = OnLocal()
If (BOOLEAN001 == 1) Then
Goto LABEL009
Endif
FOpen 1, PPEPath() + "TC.DAT", 2, 0
FGet 1, EDATE002
FGet 1, INTEGER007
FGet 1, INTEGER008
FGet 1, INTEGER009
FClose 1
If (EDATE002 == EDATE001) Goto LABEL007
INTEGER008 = INTEGER007
If (INTEGER007 >= INTEGER009) Then
INTEGER009 = INTEGER007
Endif
INTEGER007 = 0
FOpen 1, PPEPath() + "TC.DAT", 2, 0
FPutLn 1, EDATE001
FPutLn 1, INTEGER007
FClose 1
Delete PPEPath() + "CALLERS.DAT"
FCreate 1, PPEPath() + "CALLERS.DAT", 2, 0
FClose 1
:LABEL007
INTEGER007 = INTEGER007 + 1
FOpen 1, PPEPath() + "TC.DAT", 2, 0
FPutLn 1, EDATE001
FPutLn 1, INTEGER007
FPutLn 1, INTEGER008
FPutLn 1, INTEGER009
FClose 1
FAppend 1, PPEPath() + "CALLERS.DAT", 2, 0
FPutLn 1, STRING006
FClose 1
:LABEL008
PrintLn "@CLS@"
PrintLn "@POFF@"
DispFile PPEPath() + "TC.TOP", 0
Color 10
DispFile PPEPath() + "CALLERS.DAT", 0
Select Case (BOOLEAN002)
Case 0
PrintLn STRING025
Case 1
PrintLn
End Select
DispFile PPEPath() + "TC.BOT", 0
INTEGER011 = GetY()
STRING007 = STRING016 + Mid(INTEGER007, 1, Len(INTEGER007))
STRING008 = STRING017 + Mid(INTEGER009, 1, Len(INTEGER009))
STRING009 = STRING018 + Mid(INTEGER008, 1, Len(INTEGER008))
AnsiPos STRING020, INTEGER011 - INTEGER010
Print STRING007
AnsiPos STRING021, INTEGER011 - INTEGER010
Print STRING008
AnsiPos STRING022, INTEGER011 - INTEGER010
Print STRING009
AnsiPos 1, INTEGER011 + 2
PrintLn "@PON@"
Goto LABEL010
:LABEL009
FOpen 1, PPEPath() + "TC.DAT", 2, 0
FGet 1, EDATE002
FGet 1, INTEGER007
FGet 1, INTEGER008
FGet 1, INTEGER009
FClose 1
Goto LABEL008
:LABEL010
End
:LABEL011
If (INTEGER012 == INTEGER013) Goto LABEL012
BOOLEAN002 = 0
Goto LABEL013
:LABEL012
If (INTEGER012 == INTEGER013) Then
BOOLEAN002 = 1
Endif
:LABEL013
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 2 End
; 4 Cls
; 1 Color
; 30 Goto
; 41 Let
; 3 Print
; 5 PrintLn
; 18 If
; 3 DispFile
; 3 FCreate
; 5 FOpen
; 1 FAppend
; 9 FClose
; 21 FGet
; 11 FPutLn
; 1 GetUser
; 1 Delete
; 1 Gosub
; 2 Return
; 1 Tokenize
; 1 GetToken
; 4 AnsiPos
; 2 EndProc
; 1 DCreate
; 1 DNew
; 1 DAdd
; 1 DPut
;
;
; ■ Functions used :
;
; 1 *
; 43 +
; 6 -
; 10 ==
; 4 <
; 3 <=
; 1 >
; 7 >=
; 18 !
; 6 &&
; 5 ||
; 5 Len(
; 3 Upper()
; 8 Mid()
; 1 Left()
; 1 Asc()
; 1 Date()
; 1 Time()
; 1 U_Name()
; 2 PCBDat()
; 17 PPEPath()
; 1 PcbNode()
; 2 ReadLine()
; 1 OnLocal()
; 3 Exist()
; 1 TokenStr()
; 1 GetY()
; 1 CallNum()
; 1 DErr()
; 1 DFields()
; 1 DName()
; 1 DNext()
;
;------------------------------------------------------------------------------
;
; Analysis flags : d
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 3 For/Next
; 0 While/EndWhile
; 7 If/Then or If/Then/Else
; 1 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------