home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Pier Shareware 6
/
The_Pier_Shareware_Number_6_(The_Pier_Exchange)_(1995).iso
/
005
/
v_ssc100.zip
/
INSTALL.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-11-08
|
4KB
|
283 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
Boolean BOOLEAN003
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String TSTRING007(999,2)
String STRING009
Declare Function FUNCTION001() String
Declare Procedure PROC001()
Declare Procedure PROC002()
Declare Procedure PROC003()
Declare Procedure PROC004()
Declare Procedure PROC005(String STRING008)
;------------------------------------------------------------------------------
StartDisp 1
Color 7
Cls
PrintLn "@X7F█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X78▄@X07"
PrintLn "@X7F█ @X70Install-PPE v1.00 Coded by Vinyl @X78█@X07"
PrintLn "@X7F▀@X78▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█@X07"
Newline
Print "@X08■ @X07Creating Backups..."
STRING004 = ReadLine("INSTALL.000", 1)
STRING004 = RTrim(STRING004, "\")
STRING003 = ReadLine("INSTALL.001", 1)
STRING003 = RTrim(STRING003, "\")
STRING001 = ReadLine(PCBDat(), 25) + "PCBTEXT."
STRING002 = ReadLine(PCBDat(), 232)
FClose -1
Copy STRING001, STRING001 + "OLD"
Copy STRING002, Left(STRING002, Len(STRING002) - 3) + "OLD"
PrintLn
FOpen 1, PPEName() + ".INI", 0, 0
PROC005("COMMAND")
While (!Ferr(1) && !(Left(STRING005, 1) == "[")) Do
FGet 1, STRING005
If (!(Left(STRING005, 1) == ";") && !(STRING005 == "")) PROC003()
EndWhile
If (BOOLEAN001) PrintLn
PROC005("PROMPT")
While (!Ferr(1) && !(Left(STRING005, 1) == "[")) Do
If (!(Left(STRING005, 1) == ";") && !(STRING005 == "")) PROC004()
FGet 1, STRING005
EndWhile
FClose 1
If (BOOLEAN002) Then
RestScrn
PrintLn
Endif
Newline
If (INTEGER003 == 0) Then
Print "@X0FPPE Successfully Installed!"
Else
Print "@X07(", INTEGER003, ") "
Print "@X0FPPE Installation Failure, Please contact author!"
Endif
Color 7
End
;------------------------------------------------------------------------------
Procedure PROC004()
If (BOOLEAN002) Goto LABEL001
Print "@X08■ @X07Updating PCBTEXT..."
SaveScrn
BOOLEAN002 = 1
:LABEL001
Shell 0, INTEGER003, STRING004 + "\MKPCBTXT.EXE", STRING001 + " /I:" + FUNCTION001() + " """ + Upper(FUNCTION001()) + """"
EndProc
;------------------------------------------------------------------------------
Procedure PROC003()
If (BOOLEAN001) Goto LABEL002
Print "@X08■ @X07Updating CMD.LST..."
PROC002()
BOOLEAN001 = 1
:LABEL002
BOOLEAN003 = 0
STRING006 = FUNCTION001()
For INTEGER001 = 1 To INTEGER002
If (STRING006 == TSTRING007(INTEGER001, 0)) Then
PROC001()
BOOLEAN003 = 1
Endif
Next
If (BOOLEAN003) Goto LABEL003
Inc INTEGER002
INTEGER001 = INTEGER002
PROC001()
:LABEL003
FCreate 2, STRING002, 1, 0
For INTEGER001 = 1 To INTEGER002
FWrite 2, Left(TSTRING007(INTEGER001, 0) + Replace(" ", " ", Chr(0)), 15), 15
FWrite 2, Chr(TSTRING007(INTEGER001, 1)), 1
FWrite 2, Left(TSTRING007(INTEGER001, 2) + Replace(" ", " ", Chr(0)), 48), 48
Next
FClose 2
EndProc
;------------------------------------------------------------------------------
Procedure PROC005(String STRING008)
Frewind 1
STRING008 = "[" + Upper(STRING008) + "]"
While ((!Ferr(1) && !(Upper(STRING005) == STRING008))) FGet 1, STRING005
STRING005 = ""
EndProc
;------------------------------------------------------------------------------
Function FUNCTION001() String
If (InStr(STRING005, ",") == 0) Then
FUNCTION001 = STRING005
Else
FUNCTION001 = Left(STRING005, InStr(STRING005, ",") - 1)
Endif
If (InStr(FUNCTION001, Chr(34)) == 0) Goto LABEL004
FUNCTION001 = Right(STRING005, Len(STRING005) - InStr(STRING005, Chr(34)))
FUNCTION001 = Left(FUNCTION001, InStr(FUNCTION001, Chr(34)) - 1)
:LABEL004
FUNCTION001 = ReplaceStr(FUNCTION001, "%PATH%", STRING003)
STRING005 = Right(STRING005, Len(STRING005) - InStr(STRING005, ","))
EndFunc
;------------------------------------------------------------------------------
Procedure PROC001()
TSTRING007(INTEGER001, 0) = STRING006
TSTRING007(INTEGER001, 1) = FUNCTION001()
TSTRING007(INTEGER001, 2) = FUNCTION001()
EndProc
;------------------------------------------------------------------------------
Procedure PROC002()
FOpen 2, STRING002, 0, 0
:LABEL005
If (Ferr(2)) Goto LABEL006
Inc INTEGER002
FRead 2, TSTRING007(INTEGER002, 0), 15
FRead 2, TSTRING007(INTEGER002, 1), 1
FRead 2, TSTRING007(INTEGER002, 2), 48
Goto LABEL005
:LABEL006
Dec INTEGER002
FClose 2
EndProc
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 1 Cls
; 2 Color
; 22 Goto
; 27 Let
; 6 Print
; 6 PrintLn
; 17 If
; 1 FCreate
; 2 FOpen
; 4 FClose
; 3 FGet
; 1 StartDisp
; 2 Inc
; 1 Dec
; 2 Newline
; 1 Shell
; 1 SaveScrn
; 1 RestScrn
; 1 Frewind
; 3 FRead
; 3 FWrite
; 2 Copy
; 5 EndProc
; 1 EndFunc
;
;
; ■ Functions used :
;
; 1 -
; 16 +
; 5 -
; 11 ==
; 2 <
; 2 <=
; 4 >=
; 23 !
; 9 &&
; 2 ||
; 3 Len(
; 3 Upper()
; 9 Left()
; 2 Right()
; 4 Ferr()
; 6 Chr()
; 6 InStr()
; 2 RTrim()
; 2 Replace()
; 2 PCBDat()
; 4 ReadLine()
; 1 PPEName()
; 1 ReplaceStr()
;
;------------------------------------------------------------------------------
;
; Analysis flags : Sd
;
; 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
;
; 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
;
; 2 For/Next
; 2 While/EndWhile
; 4 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------