home *** CD-ROM | disk | FTP | other *** search
- ;------------------------------------------------------------------------------
- ; .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
- ;------------------------------------------------------------------------------
-
- Boolean TBOOLEAN001(1000)
- Integer INTEGER001
- Integer INTEGER002
- Integer INTEGER003
- Integer TINTEGER004(1000)
- String STRING001
- String STRING002
- String STRING003
- String STRING004
- String STRING005
- String STRING006
- String STRING007
- String STRING008
- String STRING009
- String STRING010
-
- ;------------------------------------------------------------------------------
-
- GetUser
- RdUNet PcbNode()
- WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "SCANS FOR NEW FiLES", ""
- If (Exist(PPEPath() + "USERDATA\USERPATH")) Goto LABEL001
- FCreate 1, "DATA.BAT", 2, 0
- FPutLn 1, "@ECHO OFF"
- FPutLn 1, "MD " + PPEPath() + "USERDATA"
- FPutLn 1, "REM > " + PPEPath() + "USERDATA\USERPATH"
- FClose 1
- SaveScrn
- Shell 1, STRING005, "DATA.BAT", 0
- RestScrn
- Delete "DATA.BAT"
- :LABEL001
- INTEGER003 = CurConf()
- STRING006 = PPEPath() + "\USERDATA\"
- INTEGER001 = ReadLine(PCBDat(), 108)
- FClose -1
- For INTEGER002 = 1 To Len(U_Name())
- STRING010 = STRING010 + Asc(Mid(Mixed(U_Name()), INTEGER002, 1)) / 4
- Next
- STRING008 = Strip(U_Name(), " ")
- STRING008 = Strip(STRING008, ".")
- If (Len(U_Name()) < 14) STRING007 = STRING008 + "." + STRING010
- If (STRING007 <> "") Goto LABEL002
- STRING007 = Mid(STRING008, 1, 1)
- STRING007 = STRING007 + Mid(STRING008, 3, 1)
- STRING007 = STRING007 + Mid(STRING008, 5, 1)
- STRING007 = STRING007 + Mid(STRING008, 7, 1)
- STRING007 = STRING007 + Mid(STRING008, 9, 1)
- STRING007 = STRING007 + Mid(STRING008, 11, 1)
- STRING007 = STRING007 + Mid(STRING008, 13, 1)
- STRING007 = STRING007 + Mid(STRING008, 15, 1)
- STRING007 = STRING007 + "." + STRING010
- :LABEL002
- If (Exist(PPEPath() + "SCANDAT" + LangExt())) Goto LABEL004
- If (Exist(PPEPath() + "SCANDAT")) Goto LABEL003
- SPrintLn
- SPrintLn "NO 'SCANDAT' FiLE WAS FOUND ! CREATE ONE BEFORE STARTiNG AGAiN !"
- SPrintLn "READ THE DOCUMENTS FOR FURTHER INFORMATiON !"
- Goto LABEL012
- :LABEL003
- FOpen 2, PPEPath() + "SCANDAT", 0, 0
- :LABEL004
- If (Exist(PPEPath() + "SCANDAT" + LangExt())) FOpen 2, PPEPath() + "SCANDAT" + LangExt() , 0, 0
- FGet 2, STRING001
- FGet 2, STRING002
- FClose 2
- If (Exist(STRING006 + STRING007)) Goto LABEL005
- Call PPEPath() + "SELECT.PPE"
- :LABEL005
- FOpen 2, STRING006 + STRING007, 0, 0
- For INTEGER002 = 0 To INTEGER001
- FGet 2, TINTEGER004(INTEGER002)
- FGet 2, TBOOLEAN001(TINTEGER004(INTEGER002))
- Next
- FClose 2
- Newline
- :LABEL006
- Print "@POFF@", STRING001
- :LABEL007
- STRING005 = Inkey()
- If ((((STRING005 == Chr(13)) || (STRING005 == Chr(10))) || (STRING005 == Chr(32))) || (Upper(STRING005) == YesChar())) Then
- Backup 80
- ClrEol
- Else
- If (((STRING005 == Chr(27)) || (Upper(STRING005) == NoChar())) || (Upper(STRING005) == "Q")) Then
- Backup 80
- ClrEol
- Goto LABEL012
- Endif
- If (Upper(STRING005) == "S") Then
- Backup 80
- ClrEol
- Call PPEPath() + "SELECT.PPE"
- FOpen 2, STRING006 + STRING007, 0, 0
- For INTEGER002 = 0 To INTEGER001
- FGet 2, TINTEGER004(INTEGER002)
- FGet 2, TBOOLEAN001(TINTEGER004(INTEGER002))
- Next
- FClose 2
- Goto LABEL006
- Endif
- Goto LABEL007
- Endif
- :LABEL008
- STRING004 = Mid(U_LDate(), 1, 2) + Mid(U_LDate(), 4, 2) + Mid(U_LDate(), 7, 2)
- PromptStr 72, STRING004, 6, Mask_Num(), 2 + 4 + 1024
- If (ValDate(STRING004) == 0) Then
- Backup 80
- ClrEol
- Goto LABEL008
- Endif
- STRING009 = STRING004
- Backup 80
- ClrEol
- For INTEGER002 = 0 To INTEGER001
- If (TBOOLEAN001(TINTEGER004(INTEGER002)) == 1) Then
- STRING003 = "N " + STRING009 + " U"
- Join INTEGER002
- Newline
- Dir STRING003
- Newline
- If (INTEGER002 <> INTEGER001) Then
- Print STRING002
- :LABEL009
- STRING005 = Inkey()
- If (STRING005 <> "") Goto LABEL010
- Goto LABEL009
- :LABEL010
- If (Upper(STRING005) == NoChar()) Then
- Backup 80
- ClrEol
- Goto LABEL012
- Endif
- If (Upper(STRING005) == YesChar()) Goto LABEL011
- If (Upper(STRING005) == Chr(32)) Goto LABEL011
- If (Upper(STRING005) == Chr(13)) Goto LABEL011
- If (Upper(STRING005) == Chr(10)) Goto LABEL011
- Goto LABEL009
- :LABEL011
- Backup 80
- ClrEol
- Endif
- Endif
- Next
- :LABEL012
- Join INTEGER003
- If (STRING004 <> "") Log "DiAMONDS `SCAN 3.00' FiNiSHED AT " + Mid(Time(), 1, 5) + "", 0
- End
-
- ;------------------------------------------------------------------------------
- ;
- ; Usage report (before postprocessing)
- ;
- ; ■ Statements used :
- ;
- ; 1 End
- ; 7 ClrEol
- ; 35 Goto
- ; 29 Let
- ; 2 Print
- ; 24 If
- ; 1 FCreate
- ; 4 FOpen
- ; 5 FClose
- ; 6 FGet
- ; 3 FPutLn
- ; 1 GetUser
- ; 1 Delete
- ; 1 Log
- ; 1 PromptStr
- ; 3 Newline
- ; 1 Shell
- ; 2 Call
- ; 2 Join
- ; 1 Dir
- ; 1 RdUNet
- ; 1 WrUNet
- ; 7 Backup
- ; 1 SaveScrn
- ; 1 RestScrn
- ; 3 SPrintLn
- ;
- ;
- ; ■ Functions used :
- ;
- ; 1 -
- ; 1 /
- ; 43 +
- ; 15 ==
- ; 4 <>
- ; 5 <
- ; 4 <=
- ; 8 >=
- ; 15 !
- ; 8 &&
- ; 9 ||
- ; 3 Len(
- ; 9 Upper()
- ; 13 Mid()
- ; 7 Chr()
- ; 1 Asc()
- ; 1 Time()
- ; 5 U_Name()
- ; 3 U_LDate()
- ; 2 NoChar()
- ; 2 YesChar()
- ; 2 Strip()
- ; 2 Inkey()
- ; 1 Mask_Num()
- ; 1 CurConf()
- ; 1 PCBDat()
- ; 11 PPEPath()
- ; 1 ValDate()
- ; 2 PcbNode()
- ; 1 ReadLine()
- ; 1 UN_Stat()
- ; 1 UN_Name()
- ; 1 UN_City()
- ; 5 Exist()
- ; 3 LangExt()
- ; 1 Mixed()
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Analysis flags : SCd
- ;
- ; S - Shell to DOS ■ 5
- ; This may be normal if the PPE need to execute an external command,
- ; but may be actually anything... nasty (formating HD, rebooting,...)
- ; or usefull (sorting, maintenance,...). Check!
- ; ■ Search for : SHELL
- ;
- ; C - Call child PPE ■ 3
- ; This is usually normal, but may be a tricky way to launch some
- ; sysop-only commands.
- ; ■ Search for : CALL
- ;
- ; 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
- ;
- ; 4 For/Next
- ; 0 While/EndWhile
- ; 7 If/Then or If/Then/Else
- ; 0 Select Case
- ;
- ;------------------------------------------------------------------------------
- ; AEGiS Corp - Break the routines, code against the machines!
- ;------------------------------------------------------------------------------
-