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 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
- ;------------------------------------------------------------------------------
-
- Boolean BOOLEAN001
- Integer INTEGER001
- Integer INTEGER002
- Integer INTEGER003
- Integer INTEGER004
- Integer INTEGER008
- Integer INTEGER009
- Integer INTEGER010
- String STRING001
- String STRING002
- String TSTRING003(200)
- String STRING004
- String STRING005
- String STRING006
- String STRING007
- String STRING008
- String STRING009
- String STRING010
- String STRING011
- String STRING012
- String STRING013
- String STRING015
- Declare Procedure PROC001(Integer INTEGER005, Integer INTEGER006, Integer INTEGER007, Var String STRING014)
-
- ;------------------------------------------------------------------------------
-
- BOOLEAN001 = 0
- If (Exist(PPEPath() + "LEDIT.KEY")) Then
- FOpen 1, PPEPath() + "LEDIT.KEY", 0, 1
- FGet 1, STRING001
- If (STRING001 <> "This is your a Key 4 LIQUID EDIT") Goto LABEL001
- FGet 1, STRING001
- If (Crc32(0, STRING001) <> 2.50869e+09) Goto LABEL001
- FGet 1, STRING001
- FGet 1, STRING002
- If (Abs((Crc32(0, STRING001) * 4 - 15) / 2) <> STRING002) Goto LABEL001
- BOOLEAN001 = 1
- Endif
- STRING001 = ""
- Goto LABEL002
- :LABEL001
- PrintLn ""
- PrintLn "Error in Keyfile"
- End
- :LABEL002
- STRING009 = "@X03"
- STRING010 = "@X0B"
- STRING011 = "@X09"
- STRING012 = "@X02"
- STRING013 = "@X0E"
- Gosub LABEL010
- STRING008 = ""
- PROC001(35, 12, 24, STRING008)
- STRING008 = Upper(STRING008)
- STRING005 = STRING008
- If (Upper(STRING005) == "SYSOP") STRING008 = Upper(ReadLine(PCBDat(), 2))
- If (Len(STRING008) == 0) Then
- STRING008 = "ALL"
- Print "@X0BALL"
- STRING005 = "ALL"
- Endif
- If ((STRING008 <> "ALL") && (U_RecNum(STRING008) == -1)) Then
- Cls
- Print "@X0BU@X03ser not found@X02"
- Delay 2
- End
- Endif
- STRING008 = ""
- PROC001(35, 13, 24, STRING008)
- STRING006 = STRING008
- If (STRING008 == "") Then
- Cls
- Print "@X0BM@X03essage aborted@X02."
- Delay 2
- End
- Endif
- AnsiPos 51, 14
- STRING008 = ""
- STRING007 = "N"
- If (STRING005 <> "ALL") Then
- InputYN "", STRING008, 9
- If (STRING008 == "Y") STRING007 = "R"
- Endif
- For INTEGER003 = 1 To 200
- TSTRING003(INTEGER003) = " "
- Next
- Gosub LABEL011
- AnsiPos 9, 2
- Print "@X1F" + STRING005
- AnsiPos 9, 3
- Print "@X1F" + STRING006
- INTEGER003 = 0
- Print "@X0E"
- AnsiPos 2, 5
- While (STRING004 <> Chr(19)) Do
- If (GetX() < 2) AnsiPos 2, GetY()
- STRING004 = ""
- While (STRING004 == "") Do
- STRING004 = Inkey()
- EndWhile
- If (GetX() > 78) Then
- AnsiPos 2, GetY() + 1
- Endif
- If (STRING004 == "UP") AnsiPos GetX() , GetY() - 1
- If (STRING004 == "DOWN") AnsiPos GetX() , GetY() + 1
- If (STRING004 == "LEFT") AnsiPos GetX() - 1, GetY()
- If (STRING004 == "RIGHT") AnsiPos GetX() + 1, GetY()
- If (STRING004 == "HOME") AnsiPos 2, GetY()
- If (STRING004 == "END") AnsiPos 78, GetY()
- If (GetX() > 78) Then
- AnsiPos 2, GetY() + 1
- Endif
- If (GetX() < 2) Then
- AnsiPos 78, GetY() - 1
- Endif
- If (GetY() < 5) Then
- INTEGER001 = GetX() - 1
- If (INTEGER003 > 0) Then
- INTEGER003 = INTEGER003 - 1
- For INTEGER004 = 5 To 22
- If (TSTRING003(INTEGER004 - 4 + INTEGER003) <> TSTRING003(INTEGER004 - 3 + INTEGER003)) Then
- AnsiPos 2, INTEGER004
- Print Left(TSTRING003(INTEGER004 - 4 + INTEGER003), 77)
- Endif
- Next
- Endif
- AnsiPos INTEGER001 + 1, 5
- Endif
- If (GetY() > 22) Then
- INTEGER001 = GetX() - 1
- If (INTEGER003 + 19 < 100) Then
- INTEGER003 = INTEGER003 + 1
- For INTEGER004 = 5 To 22
- If (TSTRING003(INTEGER004 - 4 + INTEGER003) <> TSTRING003(INTEGER004 - 5 + INTEGER003)) Then
- AnsiPos 2, INTEGER004
- Print Left(TSTRING003(INTEGER004 - 4 + INTEGER003), 77)
- Endif
- Next
- Endif
- AnsiPos INTEGER001 + 1, 22
- Endif
- If (STRING004 == Chr(13)) Then
- AnsiPos 2, GetY() + 1
- Endif
- If ((STRING004 == Chr(8)) && (GetX() > 2)) Then
- INTEGER001 = GetX() - 1
- INTEGER002 = GetY() + INTEGER003
- Print Chr(8) + " " + Chr(8)
- TSTRING003(INTEGER002 - 4) = Left(TSTRING003(INTEGER002 - 4), INTEGER001 - 2) + " " + Mid(TSTRING003(INTEGER002 - 4), INTEGER001, Len(TSTRING003(INTEGER002 - 4)) - 1)
- Endif
- If (GetX() < 2) AnsiPos 2, GetY()
- Gosub LABEL003
- INTEGER001 = GetX() - 1
- INTEGER002 = GetY() + INTEGER003
- If (((STRING004 <> "") && (STRING004 <> Chr(19))) && (STRING004 <> Chr(1))) Then
- Print STRING004
- INTEGER001 = GetX() - 1
- INTEGER002 = GetY() + INTEGER003
- TSTRING003(INTEGER002 - 4) = Left(TSTRING003(INTEGER002 - 4), INTEGER001 - 2) + STRING004 + Mid(TSTRING003(INTEGER002 - 4), INTEGER001, Len(TSTRING003(INTEGER002 - 4)) - 1)
- Endif
- If (Asc(STRING004) == 1) End
- EndWhile
- Goto LABEL004
- :LABEL003
- If (STRING004 == Chr(13)) STRING004 = ""
- If (STRING004 == Chr(8)) STRING004 = ""
- If (STRING004 == Chr(9)) STRING004 = ""
- If (STRING004 == Chr(10)) STRING004 = ""
- If (STRING004 == Chr(7)) STRING004 = ""
- If (STRING004 == Chr(11)) STRING004 = ""
- If (Len(STRING004) > 1) STRING004 = ""
- Return
- :LABEL004
- INTEGER001 = 1
- For INTEGER003 = 1 To 100
- If (TSTRING003(INTEGER003) <> " ") INTEGER001 = INTEGER003
- Next
- FCreate 1, "C:\MSG.TMP", 1, 3
- For INTEGER003 = 1 To INTEGER001
- FPutLn 1, TSTRING003(INTEGER003)
- Next
- FClose 1
- Message CurConf(), STRING005, U_Name(), STRING006, STRING007, Date(), 0, 0, "C:\MSG.TMP"
- End
-
- ;------------------------------------------------------------------------------
-
- Procedure PROC001(Integer INTEGER005, Integer INTEGER006, Integer INTEGER007, Var String STRING014)
-
- Integer INTEGER008
- Integer INTEGER009
- Integer INTEGER010
- String STRING015
-
- AnsiPos INTEGER005, INTEGER006
- INTEGER008 = INTEGER005 + INTEGER007
- Print "@X07"
- For INTEGER009 = 1 To INTEGER007
- Print "·"
- Next
- AnsiPos INTEGER005, INTEGER006
- STRING014 = ""
- :LABEL005
- STRING015 = ""
- While (STRING015 == "") Do
- STRING015 = Inkey()
- EndWhile
- If (STRING014 == "") STRING015 = Upper(STRING015)
- If (Right(STRING014, 1) == " ") STRING015 = Upper(STRING015)
- Gosub LABEL007
- If (((STRING015 <> Chr(8)) && (GetX() < INTEGER008)) && (STRING015 <> Chr(13))) STRING014 = STRING014 + STRING015
- If (((STRING015 <> Chr(13)) && (STRING015 <> Chr(8))) && (GetX() < INTEGER008)) Then
- Gosub LABEL008
- Endif
- If ((STRING015 == Chr(8)) && (GetX() > INTEGER005)) Gosub LABEL006
- If (STRING015 == Chr(13)) Goto LABEL009
- Goto LABEL005
- :LABEL006
- STRING014 = Left(STRING014, Len(STRING014) - 1)
- Print Chr(8)
- Print "@X07·"
- Print Chr(8)
- Return
- :LABEL007
- If (STRING015 == Chr(9)) STRING015 = ""
- If (STRING015 == Chr(10)) STRING015 = ""
- If (STRING015 == Chr(7)) STRING015 = ""
- If (STRING015 == Chr(11)) STRING015 = ""
- If (STRING015 == "LEFT") STRING015 = ""
- If (STRING015 == "BADKEY") STRING015 = ""
- If (STRING015 == "RIGHT") STRING015 = ""
- If (STRING015 == "HOME") STRING015 = ""
- If (STRING015 == "UP") STRING015 = ""
- If (STRING015 == "DEL") STRING015 = ""
- If (STRING015 == "END") STRING015 = ""
- If (STRING015 == "PGDN") STRING015 = ""
- If (STRING015 == "PGUP") STRING015 = ""
- If (STRING015 == "INS") STRING015 = ""
- If (STRING015 == "DOWN") STRING015 = ""
- Return
- :LABEL008
- INTEGER010 = Asc(STRING015)
- If (INTEGER010 < 48) Print STRING012 + STRING015
- If ((INTEGER010 < 65) && (INTEGER010 > 57)) Print STRING012 + STRING015
- If ((INTEGER010 > 47) && (INTEGER010 < 58)) Print STRING011 + STRING015
- If ((INTEGER010 > 64) && (INTEGER010 < 91)) Print STRING010 + STRING015
- If ((INTEGER010 > 96) && (INTEGER010 < 123)) Print STRING009 + STRING015
- If (INTEGER010 > 128) Print STRING013 + STRING015
- Return
- :LABEL009
- STRING008 = STRING014
-
- EndProc
-
- :LABEL010
- PrintLn "@POFF@@CLS@CWrite a"
- PrintLn " █▀▀▀░▀▀▀▀▀▀█ █▀▀▀░▀▀▀█ █▀▀▀░▀▀▀█ █▀▀▀░▀▀▀█ █▀▀▀░▀▀▀█ █▀▀▀░▀▀▀█ █▀▀▀░▀▀▀█"
- PrintLn " █ ░ █ ░ █ ░ ▄▄█ █ ░ ▄▄█ █ ░ ▄▄█ █ ░ ░ █ ░ "
- PrintLn "AC▄▄█ █ ░ ▄▄█"
- PrintLn " ▓ ▒ ▓ ░ ▒ ▓ ▒ ▓ ▒ ▓ ▒ ▓ ▒ ░ ▒ ▓ ▒ ▓ ▒"
- PrintLn " ▒ ▒ ▒ ▒ ▒ ▒ ▒▄▄ ▀▀▀▀▀▀▀▀▓ ▀▀▀▀▀▀▀▀▓ ▒ ▒ ▒ ▒ ▒ ▒ ▀▀█ ▒ ▒▄▄"
- PrintLn " ▒ ▓ ░ ▓ ▒ ▓ ▒ ▓ ▒ ▒ ▓ ▒ ▒ ▓▀░ ▓ ▒ ▓ ░ ▒ "
- PrintLn "AC▓"
- PrintLn " ░ ▓ ▒ ▓ ░ ▓ ▀▀█ ░ ▓ ░ ░ ▓ ░ ░ ▓ ▒ ▓ ░ ▓ ▒"
- PrintLn "AC ░ ▓ ▀▀█"
- PrintLn " ░▄▄▄█ ▄▄█ ░▄▄▄█▄▄▄█ ░▄▄▄█▄▄▄█ ░▄▄▄█▄▄▄█ ░▄▄▄█ ▄▄█ ░▄▄▄█▄▄▄▓ ░▄▄▄█▄▄▄█"
- PrintLn ""
- PrintLn ""
- PrintLn "C┌───────────────────────────────────────────┐"
- PrintLn "C│ To (Enter=ALL) : ························ │"
- PrintLn "C│ SubjectC: ························ │"
- PrintLn "C│ Is this message private (Y/N)? ( ) │"
- PrintLn "C└───────────────────────────────────────────┘"
- PrintLn ""
- PrintLn ""
- PrintLn ""
- PrintLn ""
- PrintLn ""
- PrintLn ""
- Print "CLiQUiD Edit 1.0 by S∩b ZΣr()"
- Return
- :LABEL011
- PrintLn "┌─────────────────────────────────────────────────────────────────────────────┐"
- PrintLn "│To : LiQUiD Edit V1.0 │"
- PrintLn "│Subj : Str+A - Abort Str+S - Save & Quit│"
- PrintLn "├─────────────────────────────────────────────────────────────────────────────┤"
- PrintLn "│C│"
- PrintLn "│C│"
- PrintLn "│C│"
- PrintLn "│C│"
- PrintLn "│C│"
- PrintLn "│C│"
- PrintLn "│C│"
- PrintLn "│C│"
- PrintLn "│C│"
- PrintLn "│C│"
- PrintLn "│C│"
- PrintLn "│C│"
- PrintLn "│C│"
- PrintLn "│C│"
- PrintLn "│C│"
- PrintLn "│C│"
- PrintLn "│C│"
- PrintLn "│C│"
- Print "└─────────────────────────────────────────────────────────────────────────────┘"
- If (BOOLEAN001 == 0) Then
- AnsiPos 25, 23
- Print "@X8FUNREGISTERED COPY PLEASE REGISTER"
- Endif
- Return
-
- ;------------------------------------------------------------------------------
- ;
- ; Usage report (before postprocessing)
- ;
- ; ■ Statements used :
- ;
- ; 5 End
- ; 2 Cls
- ; 45 Goto
- ; 81 Let
- ; 24 Print
- ; 48 PrintLn
- ; 76 If
- ; 1 FCreate
- ; 1 FOpen
- ; 1 FClose
- ; 4 FGet
- ; 1 FPutLn
- ; 1 InputYN
- ; 6 Gosub
- ; 6 Return
- ; 2 Delay
- ; 23 AnsiPos
- ; 1 Message
- ; 1 EndProc
- ;
- ;
- ; ■ Functions used :
- ;
- ; 1 -
- ; 1 *
- ; 1 /
- ; 42 +
- ; 29 -
- ; 42 ==
- ; 16 <>
- ; 18 <
- ; 6 <=
- ; 12 >
- ; 12 >=
- ; 28 !
- ; 25 &&
- ; 6 ||
- ; 5 Len(
- ; 5 Upper()
- ; 2 Mid()
- ; 5 Left()
- ; 1 Right()
- ; 25 Chr()
- ; 2 Asc()
- ; 1 Date()
- ; 1 U_Name()
- ; 2 Inkey()
- ; 1 CurConf()
- ; 1 PCBDat()
- ; 2 PPEPath()
- ; 1 ReadLine()
- ; 1 Exist()
- ; 18 GetX()
- ; 17 GetY()
- ; 1 Abs()
- ; 1 U_RecNum()
- ; 2 Crc32()
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Analysis flags : d
- ;
- ; 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
- ;
- ; 6 For/Next
- ; 3 While/EndWhile
- ; 19 If/Then or If/Then/Else
- ; 0 Select Case
- ;
- ;------------------------------------------------------------------------------
- ; AEGiS Corp - Break the routines, code against the machines!
- ;------------------------------------------------------------------------------
-