home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carsten's PPE Collection
/
Carstens_PPE_Collection_2007.zip
/
S
/
SSPAGE.ZIP
/
SYSCHAT.PPE
(
.txt
)
< prev
Wrap
PCBoard Programming Language Executable
|
1995-09-19
|
9KB
|
365 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
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
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
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String TSTRING008(25)
String TSTRING009(25)
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
;------------------------------------------------------------------------------
FOpen 1, PPEPath() + "PAGE.CFG", 0, 0
FGet 1, STRING001
FGet 1, STRING002
FClose 1
For STRING005 = 1 To 25
STRING003 = Mid(STRING001, STRING005, 1)
INTEGER001 = Asc(STRING003)
INTEGER002 = INTEGER002 + INTEGER001
Next
STRING004 = (((((((INTEGER002 * Len(Strip(STRING001, " "))) * 9) / 6) * 7) / 6) * 7) / 5) * 18
If (GrafMode() == "N") Goto LABEL008
AnsiPos 1, 23
SaveScrn
If (Exist(PPEPath() + "PAGE." + I2S(PcbNode(), 10))) Then
FAppend 2, PPEPath() + "PAGE." + I2S(PcbNode(), 10), 1, 0
Else
FOpen 2, PPEPath() + "PAGE." + I2S(PcbNode(), 10), 1, 0
Endif
STRING013 = Time()
GetUser
FPutLn 2
FPutLn 2, "-=SYSOP CHAT=-"
FPutLn 2, "USERS NAME : " + U_Name()
FPutLn 2, "USERS CITY : " + U_City
FPutLn 2
STRING014 = Date()
FPutLn 2, "DATE CHAT OCCURED : " + STRING014
FPutLn 2, "TIME CHAT STARTED : " + STRING013
FPutLn 2, "──────────────────────────────────────────────────────────────────────────────"
BOOLEAN002 = (Upper(Left(ReadLine(PPEPath() + "PAGE.cfg", 5), 1)) == "Y")
STRING010 = " "
ResetDisp
Cls
Print "@CLS@@POFF@"
PrintLn "@X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ "
PrintLn "@X7F█@X0F██@X7F▓@X0F█@X7F▓@X0F██@X7F▓@X0F█@X7F▓▓▓▒▒▒ ░ ░ █@X07 "
PrintLn "@X7F█▒▓@X78█@X08 @X78░ @X07 "
PrintLn "@X7F█▒▒@X78▓@X08 @X7F @X78░ ░@X07 "
PrintLn "@X7F▒ ░@X78░@X0F @X7F▒@X78▒░▓@X07 "
PrintLn "@X7F░ @X0F @X7F▓@X78▒▒█@X07 "
PrintLn "@X78░ @X7F▒@X0F @X7F█@X78▓▓█@X07 "
PrintLn "@X78▒ @X7F▓@X0F @X7F█@X78█▓█@X07 "
PrintLn "@X78▓ @X7F█@X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X7F█@X78███@X07 "
PrintLn "@X78█ @X78░ ░ ░░░▒▒▒▓▓▓█▓▓█▓█▓███@X07 "
PrintLn "@X08▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X07 "
PrintLn "@X0F Sysop @FIRST@ "
PrintLn "▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ "
PrintLn "@X7F█@X0F██@X7F▓@X0F█@X7F▓@X0F██@X7F▓@X0F█@X7F▓▓▓▒▒▒ ░ ░ █@X07 "
PrintLn "@X7F█▓▓@X78█@X0F @X78▒ @X7F░@X07 "
PrintLn "@X7F█▒▒@X78▓@X08 @X7F @X78░ ░@X07 "
PrintLn "@X7F▓░▒@X78▒@X0F @X7F░@X78░░▒@X07 "
PrintLn "@X78 @X7F░@X0F @X7F█@X78▓▒█@X07 "
PrintLn "@X78░ @X7F▒@X0F @X7F█@X78▓▓█@X07 "
PrintLn "@X78▒ @X7F▓@X0F @X7F█@X78█▓█@X07 "
PrintLn "@X78▓ @X7F█@X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X7F█@X78███@X07 "
PrintLn "@X78█ @X78░ ░ ░░░▒▒▒▓▓▓█▓▓█▓█▓███@X07 "
PrintLn "@X08▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X07 "
AnsiPos 1, 1
FOpen 1, PPEPath() + "CHAT.CFG", 0, 0
FGet 1, INTEGER004
FGet 1, INTEGER005
FGet 1, INTEGER006
FGet 1, INTEGER007
FGet 1, INTEGER008
FGet 1, INTEGER009
FGet 1, INTEGER010
FGet 1, INTEGER011
FGet 1, STRING011
FGet 1, STRING012
FClose 1
For INTEGER003 = 1 To 23
TSTRING009(INTEGER003) = ""
TSTRING008(INTEGER003) = ""
Next
INTEGER012 = INTEGER004
INTEGER013 = INTEGER005
INTEGER014 = INTEGER008
INTEGER015 = INTEGER009
INTEGER017 = 1
INTEGER016 = 1
Goto LABEL003
:LABEL001
BOOLEAN001 = 1
If (Len(TSTRING008(INTEGER017)) < INTEGER006 - INTEGER004) Then
TSTRING008(INTEGER017) = TSTRING008(INTEGER017) + STRING007
AnsiPos INTEGER012, INTEGER013
Print STRING011 + STRING007
Inc INTEGER012
Else
FPutLn 2, "S : " + TSTRING008(INTEGER017)
Inc INTEGER017
Inc INTEGER013
If (INTEGER013 > INTEGER007) Then
For INTEGER003 = 1 To INTEGER017 - 1
TSTRING008(INTEGER003) = TSTRING008(INTEGER003 + 1)
AnsiPos INTEGER004, INTEGER005 + INTEGER003 - 1
Print TSTRING008(INTEGER003 + 1) + Left(STRING010, INTEGER006 - INTEGER004 - Len(TSTRING008(INTEGER003)))
Next
INTEGER013 = INTEGER007
Dec INTEGER017
Endif
INTEGER012 = INTEGER004
Endif
Goto LABEL003
:LABEL002
BOOLEAN001 = 0
If (Len(TSTRING009(INTEGER016)) < INTEGER010 - INTEGER008) Then
TSTRING009(INTEGER016) = TSTRING009(INTEGER016) + STRING006
AnsiPos INTEGER014, INTEGER015
Print STRING012 + STRING006
Inc INTEGER014
Else
FPutLn 2, "U : " + TSTRING009(INTEGER016)
Inc INTEGER016
Inc INTEGER015
If (INTEGER015 > INTEGER011) Then
For INTEGER003 = 1 To INTEGER016 - 1
TSTRING009(INTEGER003) = TSTRING009(INTEGER003 + 1)
AnsiPos INTEGER008, INTEGER009 + INTEGER003 - 1
Print TSTRING009(INTEGER003 + 1) + Left(STRING010, INTEGER010 - INTEGER008 - Len(TSTRING009(INTEGER003)))
Next
INTEGER015 = INTEGER011
Dec INTEGER016
Endif
INTEGER014 = INTEGER008
Endif
:LABEL003
If (BOOLEAN001) AnsiPos INTEGER012, INTEGER013
If (!BOOLEAN001) AnsiPos INTEGER014, INTEGER015
:LABEL004
STRING007 = KInkey()
STRING006 = MInkey()
If ((STRING007 == "") && (STRING006 == "")) Goto LABEL004
If ((STRING007 == Chr(27)) || ((STRING006 == Chr(27)) && BOOLEAN002)) Goto LABEL007
If (STRING007 == Chr(8)) Then
If (Len(TSTRING008(INTEGER017)) > 0) Then
TSTRING008(INTEGER017) = Left(TSTRING008(INTEGER017), Len(TSTRING008(INTEGER017)) - 1)
Dec INTEGER012
AnsiPos INTEGER012, INTEGER013
Print " "
Goto LABEL003
Goto LABEL005
Endif
Goto LABEL003
Endif
:LABEL005
If (STRING006 == Chr(8)) Then
If (Len(TSTRING009(INTEGER016)) > 0) Then
TSTRING009(INTEGER016) = Left(TSTRING009(INTEGER016), Len(TSTRING009(INTEGER016)) - 1)
Dec INTEGER014
AnsiPos INTEGER014, INTEGER015
Print " "
Goto LABEL003
Goto LABEL006
Endif
Goto LABEL003
Endif
:LABEL006
If (STRING007 == Chr(13)) Then
FPutLn 2, "S : " + TSTRING008(INTEGER017)
Inc INTEGER017
Inc INTEGER013
If (INTEGER013 > INTEGER007) Then
For INTEGER003 = 1 To INTEGER017 - 1
TSTRING008(INTEGER003) = TSTRING008(INTEGER003 + 1)
AnsiPos INTEGER004, INTEGER005 + INTEGER003 - 1
Print TSTRING008(INTEGER003 + 1) + Left(STRING010, INTEGER006 - INTEGER004 - Len(TSTRING008(INTEGER003)))
Next
INTEGER013 = INTEGER007
Dec INTEGER017
Endif
INTEGER012 = INTEGER004
Goto LABEL003
Endif
If (STRING006 == Chr(13)) Then
FPutLn 2, "U :" + TSTRING009(INTEGER016)
Inc INTEGER016
Inc INTEGER015
If (INTEGER015 > INTEGER011) Then
For INTEGER003 = 1 To INTEGER016 - 1
TSTRING009(INTEGER003) = TSTRING009(INTEGER003 + 1)
AnsiPos INTEGER008, INTEGER009 + INTEGER003 - 1
Print TSTRING009(INTEGER003 + 1) + Left(STRING010, INTEGER010 - INTEGER008 - Len(TSTRING009(INTEGER003)))
Next
INTEGER015 = INTEGER011
Dec INTEGER016
Endif
INTEGER014 = INTEGER008
Goto LABEL003
Endif
If ((STRING007 >= " ") && (Len(STRING007) == 1)) Goto LABEL001
If ((STRING006 >= " ") && (Len(STRING006) == 1)) Goto LABEL002
Goto LABEL004
:LABEL007
STRING013 = Time()
FPutLn 2, "──────────────────────────────────────────────────────────────────────────────"
FPutLn 2, " CHAT ENDED AT " + STRING013
FPutLn 2, "══════════════════════════════════════════════════════════════════════════════"
FClose 2
If (STRING004 <> STRING002) Then
Cls
Newlines 2
PrintLn "@POFF@ @X19┌──────────────────────────────────────────@X10┐@X07 "
PrintLn " @X19│ ┌──────────────────────────────@X10┐ │@X08█"
PrintLn " @X19│ │ @X14U N R E G I S T E R E D @X10│ │@X08█"
PrintLn " @X19│ └─@X10─────────────────────────────┘ │@X08█"
PrintLn " @X19└─@X10─────────────────────────────────────────┘@X08█"
PrintLn " ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀"
PrintLn " @X4C┌─────────────────────────────────@X40┐@X08 "
PrintLn " @X4C│@X4A This is an unregistered copy of @X40│@X08█"
PrintLn " @X4C│ @X4AS.S. Page. If you are going to @X40│@X08█"
PrintLn " @X4C│ @X4Acontinue to use this please @X40│@X08█"
PrintLn " @X4C│ @X4Aregister. When you register the @X40│@X08█"
PrintLn " @X4C│ @X4Adelays will be removed. If you @X40│@X08█"
PrintLn " @X4C│ @X4Alike shareware then please @X40│@X08█"
PrintLn " @X4C│ @X4Aregister for only $10. @X40│@X08█"
PrintLn " @X4C│ @X40│@X08█"
PrintLn " @X4C│ @X4A Thanks for using S.S. Page! @X40│@X08█"
PrintLn " @X4C└─@X40────────────────────────────────┘@X08█"
PrintLn " ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀"
PrintLn " @X0A*** 15 sec unregistered pause ***"
Delay 150
Endif
Color 1
Cls
RestScrn
End
:LABEL008
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 2 End
; 3 Cls
; 1 Color
; 46 Goto
; 49 Let
; 9 Print
; 42 PrintLn
; 27 If
; 3 FOpen
; 1 FAppend
; 3 FClose
; 12 FGet
; 15 FPutLn
; 1 ResetDisp
; 1 GetUser
; 1 Delay
; 10 Inc
; 6 Dec
; 1 Newlines
; 12 AnsiPos
; 1 SaveScrn
; 1 RestScrn
;
;
; ■ Functions used :
;
; 5 *
; 3 /
; 45 +
; 24 -
; 12 ==
; 1 <>
; 8 <
; 6 <=
; 6 >
; 14 >=
; 21 !
; 16 &&
; 7 ||
; 13 Len(
; 1 Upper()
; 1 Mid()
; 7 Left()
; 6 Chr()
; 1 Asc()
; 1 Date()
; 2 Time()
; 1 U_Name()
; 1 Strip()
; 6 PPEPath()
; 3 PcbNode()
; 1 ReadLine()
; 1 Exist()
; 3 I2S()
; 1 GrafMode()
; 1 KInkey()
; 1 MInkey()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 6 For/Next
; 0 While/EndWhile
; 14 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------