home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carsten's PPE Collection
/
Carstens_PPE_Collection_2007.zip
/
T
/
THTLC113.ZIP
/
THTLC.PPE
(
.txt
)
< prev
Wrap
PCBoard Programming Language Executable
|
1994-10-27
|
8KB
|
467 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 INTEGER015
Integer INTEGER016
Integer INTEGER017
Integer INTEGER018
Integer INTEGER019
String STRING002
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
String STRING026
String STRING027
String STRING028
String STRING029
String STRING030
String STRING031
String STRING032
String STRING033
String STRING034
String STRING035
String STRING036
String STRING037
String STRING038
String STRING039
String STRING040
String STRING041
String STRING042
String STRING043
String STRING044
String STRING045
String STRING046
String STRING047
String STRING048
Time TIME001
Time TIME002
;------------------------------------------------------------------------------
If (!OnLocal()) CdChkOff
If (!(STRING048 == "0")) Print "" ; PPLC BUG!
STRING048 = ((((((((((((((((1.12222e+49 + (99 * 10000) * 99) * 1e+64) * 4.54545e+27) * 34343434) * 56) * 6545645) * 4545) * 4343443) * 1e+43) * 6) * 6) * 8) * 5.65657e+20) * 78) * 78) * (6 ^ 565656)) * 1e+10
STRING037 = Chr(83) + Chr(117) + Chr(112) + Chr(101) + Chr(114) + Chr(45) + Chr(65) + Chr(77) + Chr(73) + Chr(45) + Chr(88) + Chr(32) + Chr(76) + Chr(111) + Chr(103) + Chr(32) + Chr(66) + Chr(121) + Chr(32) + Chr(84) + Chr(104) + Chr(101) + Chr(32) + Chr(77) + Chr(97) + Chr(115) + Chr(116) + Chr(101) + Chr(114) + Chr(32) + Chr(118) + Chr(49) + Chr(46) + Chr(49) + Chr(51) + Space(22) + Chr(40) + Chr(67) + Chr(41) + Chr(32) + Chr(60) + Chr(60) + Chr(84) + Chr(72) + Chr(84) + Chr(62) + Chr(62)
INTEGER019 = ReadLine(PPEPath() + PPEName() + ".cnf", 1)
STRING004 = ReadLine(PPEPath() + PPEName() + ".cnf", 14)
FClose -1
GetUser
U_Alias = RTrim(U_Alias, " ")
If ((Alias() == 1) && (U_Alias <> "")) Then
STRING047 = U_Alias
Else
STRING047 = U_Name()
Endif
FDefIn 1
FDefOut 2
STRING003 = Right(Modem(), Len(Modem()) - 8)
STRING003 = Left(STRING003, 5)
STRING036 = PPEPath() + PPEName() + ".tmp"
STRING002 = PPEPath() + "NODETMP"
STRING038 = TokenStr()
If (Upper(STRING038) == "/UPDATE") Goto LABEL002
If (U_Sec < INTEGER019) Goto LABEL001
Cls
DispFile PPEPath() + PPEName() + ".pcb", 0
INTEGER011 = GetY()
AnsiPos 1, 1
Print "@X07" + STRING037
AnsiPos 1, INTEGER011
DispFile STRING036, 1 + 4
DispFile PPEPath() + PPEName() + ".ftr", 0
Print STRING004
:LABEL001
FCreate 2, STRING002 + "." + String(PcbNode()), 1, 0
FDPutLn Left(Time(), 5)
FDPutLn U_MsgWr()
FDPutLn U_MsgRd()
FDPutLn U_Stat(3)
FDPutLn U_Stat(2)
FDPutLn U_Ful()
FDPutLn U_Fdl()
FDPutLn Date()
FDPutLn STRING047
FDPutLn String(U_Stat(10))
FDPutLn String(U_Bdl() / 1024)
FDPutLn String(U_Bul() / 1024)
FDPutLn STRING003
FDPutLn U_Stat(12)
FDPutLn U_Stat(14)
FClose 2
If (!OnLocal()) CdChkOn
End
:LABEL002
If (Exist(PPEPath() + PPEName() + ".loc")) Goto LABEL002
FCreate 1, PPEPath() + PPEName() + ".loc", 1, 0
FClose 1
FOpen 1, PPEPath() + PPEName() + ".cnf", 0, 0
FDGet INTEGER019
FDGet INTEGER018
FDGet STRING023
FDGet STRING024
FDGet STRING025
FDGet STRING026
FDGet STRING027
FDGet STRING028
FDGet STRING029
FDGet STRING029
FDGet STRING030
FDGet STRING039
FDGet STRING040
FClose 1
TIME002 = Left(Time(), 5)
INTEGER012 = U_MsgWr()
INTEGER013 = U_MsgRd()
STRING013 = U_Stat(3)
STRING012 = U_Stat(2)
INTEGER014 = U_Ful()
INTEGER015 = U_Fdl()
STRING016 = Date()
STRING011 = STRING047
STRING014 = U_Stat(10)
INTEGER016 = U_Bdl() / 1024
INTEGER017 = U_Bul() / 1024
STRING015 = U_City
STRING041 = U_Stat(12)
STRING042 = U_Stat(14)
If (Exist(STRING002 + "." + String(PcbNode()))) Then
FOpen 1, STRING002 + "." + String(PcbNode()), 0, 0
FDGet TIME001
FDGet INTEGER002
FDGet INTEGER001
FDGet STRING008
FDGet STRING007
FDGet INTEGER003
FDGet INTEGER004
FDGet STRING006
FDGet STRING005
FDGet STRING009
FDGet INTEGER005
FDGet INTEGER006
FDGet STRING003
FDGet STRING043
FDGet STRING044
FClose 1
If (STRING043 <> STRING041) Then
STRING045 = "!"
Goto LABEL003
Endif
STRING045 = "-"
:LABEL003
If (STRING044 <> STRING042) Then
STRING046 = "X"
Goto LABEL004
Endif
STRING046 = "-"
:LABEL004
If (STRING014 <> STRING009) Then
STRING034 = "H"
Goto LABEL005
Endif
STRING034 = "-"
:LABEL005
If (!CDOn() && !OnLocal()) Then
STRING033 = "C"
Goto LABEL006
Endif
STRING033 = "-"
:LABEL006
If (STRING003 == " ") Then
STRING003 = "LoCL"
Goto LABEL008
Endif
If (Mid(STRING003, 5, 1) <> "/") Then
STRING003 = STRING003
Goto LABEL007
Endif
STRING003 = " " + STRING003
:LABEL007
STRING003 = Left(STRING003, 3)
STRING003 = Left(STRING003, 2) + "." + Right(STRING003, 1)
:LABEL008
If (INTEGER016 - INTEGER005 == 0) Then
STRING032 = " 0"
Goto LABEL009
Endif
INTEGER009 = Len(INTEGER016 - INTEGER005)
If (INTEGER009 == 4) Then
STRING032 = Space(4 - INTEGER009) + String(INTEGER016 - INTEGER005)
Goto LABEL009
Endif
STRING032 = Space(4 - INTEGER009) + String(INTEGER016 - INTEGER005)
:LABEL009
If (INTEGER017 - INTEGER006 == 0) Then
STRING031 = " 0"
Goto LABEL010
Endif
INTEGER009 = Len(INTEGER017 - INTEGER006)
If (INTEGER009 == 4) Then
STRING031 = Space(4 - INTEGER009) + String(INTEGER017 - INTEGER006)
Goto LABEL010
Endif
STRING031 = Space(4 - INTEGER009) + String(INTEGER017 - INTEGER006)
:LABEL010
If (INTEGER012 > INTEGER002) Then
STRING019 = "W"
Goto LABEL011
Endif
STRING019 = "-"
:LABEL011
If (INTEGER013 > INTEGER001) Then
STRING020 = "R"
Goto LABEL012
Endif
STRING020 = "-"
:LABEL012
If (INTEGER015 > INTEGER004) Then
STRING021 = "D"
Goto LABEL013
Endif
STRING021 = "-"
:LABEL013
If (INTEGER014 > INTEGER003) Then
STRING022 = "U"
Goto LABEL014
Endif
STRING022 = "-"
:LABEL014
If (STRING013 > STRING008) Then
STRING017 = "G"
Goto LABEL015
Endif
STRING017 = "-"
:LABEL015
If (STRING012 > STRING007) Then
STRING018 = "P"
Goto LABEL016
Endif
STRING018 = "-"
:LABEL016
INTEGER008 = TIME001
INTEGER007 = TIME002
INTEGER007 = TIME002 - TIME001
TIME001 = INTEGER007
STRING010 = Left(TIME001, 5)
If ((Mid(STRING010, 1, 1) == 0) && (Mid(STRING010, 1, 2) <> ":")) STRING010 = Mid(STRING010, 2, 4)
FAppend 2, PPEPath() + PPEName() + ".TMP", 1, 0
FDPutLn STRING023 + STRING003 + STRING024 + "@POS:6@" + String(PcbNode()) + "@POS:8@" + STRING025 + Left(STRING047, 14) + "@POS:25@" + STRING026 + Left(STRING015, 17) + "@POS:43@" + STRING027 + String(TIME002) + "@POS:52@" + STRING028 + "[" + STRING019 + STRING020 + STRING021 + STRING022 + STRING017 + STRING018 + STRING033 + STRING034 + STRING045 + STRING046 + "@POS:63@]" + "@POS:65@" + STRING029 + STRING010 + "@POS:70@" + STRING029 + STRING031 + "@POS:75@" + STRING030 + STRING032
FClose 2
INTEGER010 = 0
FOpen 1, PPEPath() + PPEName() + ".tmp", 0, 0
:LABEL017
If (Ferr(1)) Goto LABEL018
FDGet STRING035
If (Ferr(1)) Goto LABEL018
Inc INTEGER010
Goto LABEL017
:LABEL018
If (INTEGER010 > INTEGER018) Then
FAppend 2, PPEPath() + PPEName() + ".wrk", 1, 0
Frewind 1
FDGet STRING035
:LABEL019
If (Ferr(1)) Goto LABEL020
FDGet STRING035
If (Ferr(1)) Goto LABEL020
FDPutLn STRING035
Goto LABEL019
:LABEL020
FClose 1
FClose 2
Endif
If (Exist(PPEPath() + PPEName() + ".wrk")) Then
Delete PPEPath() + PPEName() + ".tmp"
Rename PPEPath() + PPEName() + ".wrk", PPEPath() + PPEName() + ".tmp"
Endif
Endif
FClose 1
If (Exist(STRING002 + "." + String(PcbNode()))) Delete STRING002 + "." + String(PcbNode())
If (STRING039 == YesChar()) Then
FCreate 2, STRING040 + PPEName() + ".blt", 1, 0
FOpen 1, PPEPath() + PPEName() + ".pcb", 0, 0
:LABEL021
If (Ferr(1)) Goto LABEL022
FDGet STRING035
If (Ferr(1)) Goto LABEL022
FDPutLn STRING035
Goto LABEL021
:LABEL022
FClose 1
FOpen 1, PPEPath() + PPEName() + ".tmp", 0, 0
:LABEL023
If (Ferr(1)) Goto LABEL024
FDGet STRING035
If (Ferr(1)) Goto LABEL024
FDPutLn STRING035
Goto LABEL023
:LABEL024
FClose 1
FOpen 1, PPEPath() + PPEName() + ".ftr", 0, 0
:LABEL025
If (Ferr(1)) Goto LABEL026
FDGet STRING035
If (Ferr(1)) Goto LABEL026
FDPutLn STRING035
Goto LABEL025
:LABEL026
FClose 1
FClose 2
Endif
If (Exist(PPEPath() + PPEName() + ".loc")) Delete PPEPath() + PPEName() + ".loc"
Stop
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 1 Cls
; 56 Goto
; 68 Let
; 3 Print
; 40 If
; 3 DispFile
; 3 FCreate
; 6 FOpen
; 2 FAppend
; 13 FClose
; 1 GetUser
; 3 Delete
; 1 CdChkOn
; 1 CdChkOff
; 1 Inc
; 1 Stop
; 2 AnsiPos
; 1 Rename
; 1 Frewind
; 1 FDefIn
; 1 FDefOut
; 34 FDGet
; 20 FDPutLn
;
;
; ■ Functions used :
;
; 1 -
; 1 ^
; 18 *
; 4 /
; 145 +
; 14 -
; 10 ==
; 6 <>
; 1 <
; 7 >
; 32 !
; 3 &&
; 3 Len(
; 1 Upper()
; 4 Mid()
; 8 Left()
; 2 Right()
; 5 Space()
; 10 Ferr()
; 46 Chr()
; 1 RTrim()
; 2 Date()
; 2 Time()
; 1 U_Name()
; 2 U_Ful()
; 2 U_Fdl()
; 2 U_Bdl()
; 2 U_Bul()
; 1 YesChar()
; 14 String()
; 21 PPEPath()
; 2 U_MsgRd()
; 2 U_MsgWr()
; 6 PcbNode()
; 2 ReadLine()
; 3 OnLocal()
; 5 Exist()
; 1 TokenStr()
; 1 CDOn()
; 1 GetY()
; 10 U_Stat()
; 21 PPEName()
; 2 Modem()
; 1 Alias()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;
;------------------------------------------------------------------------------
;
; One or more PPLC bugs were found, this is not a PPLX error, but PPLX is
; reporting the error ;) Some statements like VAR = !!!!10, VAR = !0*!0
; or similar things are not handled correctly by PPLC, some may use this
; to avoid a correct decompilation... This doesn't mean that there is
; actually an error, but the probability of error is high...
; ■ Search for : PPLC BUG
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 0 For/Next
; 0 While/EndWhile
; 21 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------