home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carsten's PPE Collection
/
Carstens_PPE_Collection_2007.zip
/
S
/
STATS110.ZIP
/
STATS.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-08-13
|
8KB
|
328 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
String TSTRING001(50)
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String TSTRING008(4,2)
String TSTRING009(4,8)
String STRING010
;------------------------------------------------------------------------------
GetUser
If (GrafMode() == "N") Goto LABEL010
If (U_PageLen < 23) Then
If (U_PageLen <> 0) Then
Newline
PrintLn "@X07THE STATiSTiCS ONLY OPERATE WiTH 23 LiNES OR MORE !"
PrintLn "YOUR PAGELENGTH IS SHORTER THAN 23 LiNES. ENTER (P)AGELENGTH FROM THE CMD-LINE."
Wait
Else
Print "
@PRODESC@
"
STRING006 = ScrText(1, GetY(), 22, 0)
RdUNet PcbNode()
WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "ViEWiNG THE STATiSTiCS", ""
STRING010 = " "
TSTRING009(1, 1) = "@X0F@USER@'S STATiST@X07iC@X08S"
TSTRING009(1, 2) = ""
TSTRING009(1, 3) = "@X08T@X07iM@X0FE LEFT / USED @X05:@X0F @TIMELEFT@ / @TIMEUSED@ MiNS"
TSTRING009(1, 4) = "@X08 Y@X07OU@X0FR CONNECT @X05:@X0F " + Mid(Modem(), 1, 22)
TSTRING009(1, 5) = "@X08Y@X07OU@X0FR VOiCE NUMBA @X05:@X0F @HOMEPHONE@"
TSTRING009(1, 6) = "@X08 N@X07UM@X0FBER TiMES ON @X05:@X0F @NUMTIMESON@"
TSTRING009(1, 7) = "@X08L@X07AS@X0FT TiME ON WAS @X05:@X0F @LASTDATEON@ @X07/@X0F @LASTTIMEON@"
TSTRING009(1, 8) = "@X08Y@X07OU@X0FR EXPiRE DATE @X05:@X0F @EXPDAYS@ DAYS"
TSTRING009(2, 1) = "@X08 Y@X07OU@X0F DOWNLOADED @X05:@X0F @DLBYTES@ BYTES"
TSTRING009(2, 2) = " @X05:@X0F @DLFILES@ FiLES"
TSTRING009(2, 3) = "@X08 Y@X07OU@X0F UPLOADED @X05:@X0F @UPBYTES@ BYTES"
TSTRING009(2, 4) = " @X05:@X0F @UPFILES@ FiLES"
TSTRING009(2, 5) = "@X08Y@X07OU@X0FR DL/UL RATIO @X05:@X0F @BYTERATIO@"
TSTRING009(2, 6) = "@X08T@X07OD@X0FAY BYTES LEFT @X05:@X0F @BYTELIMIT@"
TSTRING009(2, 7) = " @X08S@X07E@X0FCURiTY LEVEL @X05:@X0F " + Mid(CurSec(), 1, 22)
TSTRING009(2, 8) = "@X08D@X07EF@X0FAULT PROTOCOL @X05:@X0F " + STRING006
TSTRING009(3, 1) = "@X0FMESSAGE STATiST@X07iC@X08S"
TSTRING009(3, 2) = ""
TSTRING009(3, 3) = "@X08Y@X07OU@X0F WROTE @X05:@X0F @MSGLEFT@ MESSAGES"
TSTRING009(3, 4) = "@X08Y@X07OU@X0F READ @X05:@X0F @MSGREAD@ MESSAGES"
TSTRING009(3, 5) = ""
TSTRING009(3, 6) = "@X08Y@X07OU@X0FR CURRENT CONF @X07(@X0F@CONFNUM@@X07)@POS:28@@X05:@X0F @CONFNAME@"
TSTRING009(3, 7) = "@X08 T@X07HE@X0F HiGHEST MSG # iS @X05:@X0F @HIGHMSGNUM@"
TSTRING009(3, 8) = "@X08 L@X07AS@X0FT MSG # YOU READ @X05:@X0F @LMR@"
STRING004 = U_Stat(1)
TSTRING009(4, 1) = "@X08F@X07iR@X0FST CONNECT WiTH SYSTEM WAS " + STRING004
STRING004 = U_Stat(7)
TSTRING009(4, 2) = "@X082@X0740@X0F0 BPS CONNECTS @X05:@X0F " + STRING004
STRING004 = U_Stat(8)
TSTRING009(4, 3) = "@X089@X0760@X0F0 BPS CONNECTS @X05:@X0F " + STRING004
STRING004 = U_Stat(9)
TSTRING009(4, 4) = "@X081@X074k@X0F+ BPS CONNECTS @X05:@X0F " + STRING004
STRING004 = U_Stat(14)
TSTRING009(4, 5) = "@X08P@X07AS@X0FSWORD ERRORS @X05:@X0F " + STRING004
STRING004 = U_Stat(12)
TSTRING009(4, 6) = "@X08D@X07L @X0FLiMiT REACHED @X05:@X0F " + STRING004
STRING004 = U_Stat(15)
TSTRING009(4, 7) = "@X08V@X07ER@X0FiFY ERRORS @X05:@X0F " + STRING004
STRING004 = U_Stat(2)
TSTRING009(4, 8) = "@X08S@X07YS@X0FOP PAGES @X05:@X0F " + STRING004
TSTRING008(1, 1) = "@X0F PERSONAL STATS "
TSTRING008(2, 1) = "@X0F TRANSFER STATS "
TSTRING008(3, 1) = "@X0F MESSAGES STATS "
TSTRING008(4, 1) = "@X0F SPECiAL STATS "
If (LangExt() == "") Then
TSTRING008(1, 2) = "@X0F▐@X7F▒PERSONAL STATS@X78▒@X08▌"
TSTRING008(2, 2) = "@X0F▐@X7F▒TRANSFER STATS@X78▒@X08▌"
TSTRING008(3, 2) = "@X0F▐@X7F▒MESSAGES STATS@X78▒@X08▌"
TSTRING008(4, 2) = "@X0F▐@X7F▒SPECiAL STATS@X78▒@X08▌"
Endif
If (LangExt() == ".AMI") Then
TSTRING008(1, 2) = "@X01:|@X1FPERSONAL STATS@X01|:"
TSTRING008(2, 2) = "@X01:|@X1FTRANSFER STATS@X01|:"
TSTRING008(3, 2) = "@X01:|@X1FMESSAGES STATS@X01|:"
TSTRING008(4, 2) = "@X01:|@X1FSPECiAL STATS@X01|:"
Endif
INTEGER005 = 4
INTEGER006 = 8
INTEGER007 = 58
INTEGER008 = 6
INTEGER009 = 9
INTEGER004 = 18
STRING003 = ""
STRING007 = 1
If ((!Exist(PPEPath() + "numbas" + GrafMode()) && !Exist(PPEPath() + "numbas")) && !Exist(PPEPath() + "numbas" + LangExt())) End
If (Exist(PPEPath() + "numbas" + GrafMode() + LangExt())) Then
FOpen 1, PPEPath() + "numbas" + GrafMode() + LangExt(), 0, 0
ElseIf (Exist(PPEPath() + "numbas" + LangExt())) Then
FOpen 1, PPEPath() + "numbas" + LangExt(), 0, 0
Else
FOpen 1, PPEPath() + "numbas", 0, 0
Endif
For INTEGER001 = 1 To 12 * INTEGER005
FGet 1, TSTRING001(INTEGER001)
Next
FClose 1
Cls
Print "@POFF@"
DispFile PPEPath() + "FIELD", 1 + 4
If (LangExt() == ".AMI") Goto LABEL001
If (GrafMode() == "A") Then
AnsiPos 1, 24
MPrint "▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀"
Endif
If ((GrafMode() == "G") || (GrafMode() == "R")) Then
AnsiPos 1, 24
MPrint "
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
"
Endif
:LABEL001
AnsiPos INTEGER007, 6
Print TSTRING008(1, 2)
AnsiPos INTEGER007, 7
Print TSTRING008(2, 1)
AnsiPos INTEGER007, 8
Print TSTRING008(3, 1)
AnsiPos INTEGER007, 9
Print TSTRING008(4, 1)
Gosub LABEL008
:LABEL002
STRING003 = STRING002
STRING002 = Time()
For INTEGER001 = 1 To 9
If (Mid(STRING002, INTEGER001, 1) <> Mid(STRING003, INTEGER001, 1)) Then
STRING004 = STRING002
Gosub LABEL009
Endif
Next
STRING005 = Inkey()
If (STRING005 <> "") Goto LABEL003
Delay 1
Goto LABEL002
:LABEL003
If (STRING005 == Chr(27)) Goto LABEL011
If (STRING005 == Chr(13)) Goto LABEL011
If (Upper(STRING005) == "Q") Goto LABEL011
If (STRING005 == " ") Goto LABEL011
If (STRING005 == "4") Goto LABEL004
If (STRING005 == "LEFT") Goto LABEL004
If (STRING005 == "8") Goto LABEL004
If (STRING005 == "UP") Goto LABEL004
If (STRING005 == "2") Goto LABEL005
If (STRING005 == "DOWN") Goto LABEL005
If (STRING005 == "6") Goto LABEL005
If (STRING005 == "RIGHT") Goto LABEL005
Goto LABEL002
:LABEL004
If (STRING007 == "1") Goto LABEL002
Dec STRING007
Gosub LABEL006
Goto LABEL002
:LABEL005
If (STRING007 == "4") Goto LABEL002
Inc STRING007
Gosub LABEL007
Goto LABEL002
:LABEL006
AnsiPos INTEGER007, STRING007 + 6
Print TSTRING008(STRING007 + 1, 1)
AnsiPos INTEGER007, STRING007 + 5
Print TSTRING008(STRING007, 2)
Gosub LABEL008
Return
:LABEL007
AnsiPos INTEGER007, STRING007 + 4
Print TSTRING008(STRING007 - 1, 1)
AnsiPos INTEGER007, STRING007 + 5
Print TSTRING008(STRING007, 2)
Gosub LABEL008
Return
:LABEL008
For INTEGER001 = 1 To 8
AnsiPos INTEGER008, INTEGER001 + 3
Print STRING010
AnsiPos INTEGER008, INTEGER001 + 3
Print TSTRING009(STRING007, INTEGER001)
Next
Return
:LABEL009
INTEGER003 = ""
If (Mid(STRING004, INTEGER001, 1) == "1") INTEGER003 = 1
If (Mid(STRING004, INTEGER001, 1) == "2") INTEGER003 = 2
If (Mid(STRING004, INTEGER001, 1) == "3") INTEGER003 = 3
If (Mid(STRING004, INTEGER001, 1) == "4") INTEGER003 = 4
If (Mid(STRING004, INTEGER001, 1) == "5") INTEGER003 = 5
If (Mid(STRING004, INTEGER001, 1) == "6") INTEGER003 = 6
If (Mid(STRING004, INTEGER001, 1) == "7") INTEGER003 = 7
If (Mid(STRING004, INTEGER001, 1) == "8") INTEGER003 = 8
If (Mid(STRING004, INTEGER001, 1) == "9") INTEGER003 = 9
If (Mid(STRING004, INTEGER001, 1) == ":") INTEGER003 = 10
If (Mid(STRING004, INTEGER001, 1) == ".") INTEGER003 = 11
If (Mid(STRING004, INTEGER001, 1) == "-") INTEGER003 = 11
If (INTEGER003 == "") INTEGER003 = 11
If (Mid(STRING004, INTEGER001, 1) == "0") INTEGER003 = 0
For INTEGER002 = 1 To INTEGER005
AnsiPos INTEGER001 * INTEGER006 - INTEGER006 + INTEGER009, INTEGER002 + INTEGER004 - 1
Print TSTRING001(INTEGER003 * INTEGER005 + INTEGER002)
Next
Return
Endif
Endif
:LABEL010
KbdStuff "V" + Chr(13)
End
:LABEL011
Print "@X07"
Cls
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 3 End
; 2 Cls
; 1 Wait
; 41 Goto
; 89 Let
; 14 Print
; 2 PrintLn
; 45 If
; 1 DispFile
; 3 FOpen
; 1 FClose
; 1 FGet
; 1 GetUser
; 6 Gosub
; 4 Return
; 1 Delay
; 1 Inc
; 1 Dec
; 1 Newline
; 1 KbdStuff
; 1 RdUNet
; 1 WrUNet
; 13 AnsiPos
; 2 MPrint
;
;
; ■ Functions used :
;
; 4 *
; 44 +
; 3 -
; 35 ==
; 3 <>
; 5 <
; 4 <=
; 8 >=
; 17 !
; 10 &&
; 5 ||
; 1 Upper()
; 17 Mid()
; 3 Chr()
; 1 Time()
; 1 Inkey()
; 9 PPEPath()
; 2 PcbNode()
; 1 UN_Stat()
; 1 UN_Name()
; 1 UN_City()
; 1 CurSec()
; 5 Exist()
; 8 LangExt()
; 1 GetY()
; 8 U_Stat()
; 7 GrafMode()
; 1 Modem()
; 1 ScrText()
;
;------------------------------------------------------------------------------
;
; Analysis flags : M
;
; M - Send text to modem only ■ 4
; Some informations are sent only to the modem, not to the local
; screen, this is a well known way to make stealth backdoors, Check!
; ■ Search for : SENDMODEM, MPRINT, MPRINTLN
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 4 For/Next
; 0 While/EndWhile
; 9 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------