home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.wwiv.com
/
ftp.wwiv.com.zip
/
ftp.wwiv.com
/
pub
/
BBS
/
MAVO15ZA.ZIP
/
MAUSER.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-11-27
|
4KB
|
238 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
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
;------------------------------------------------------------------------------
If (Psa(6) == 0) Then
PrintLn "Enable your Notes PSA in the PCB Setup!"
Else
GetUser
For INTEGER008 = 0 To 4
If (Left(U_Notes(INTEGER008), 2) == "MV") Then
INTEGER012 = INTEGER008
Goto LABEL001
Endif
Next
INTEGER007 = 0
For INTEGER008 = 0 To 4
If (U_Notes(INTEGER008) == 0) Then
INTEGER007 = INTEGER008
Endif
Next
If (INTEGER007 == 0) Then
PrintLn "@X0CYour account does not have any Notes PSA available!!"
Else
U_Notes(INTEGER007) = "MV00000000000000000000000000000000000000000"
INTEGER012 = INTEGER007
:LABEL001
FOpen 1, PPEPath() + "mavote.cfg", 0, 0
FGet 1, INTEGER003
FGet 1, INTEGER004
FGet 1, INTEGER005
FGet 1, STRING006
FGet 1, STRING003
Print "@X0AWelcome to @X0B"
PrintLn STRING003
If (Len(U_Notes(INTEGER012)) > 43) Then
If (Mid(U_Notes(INTEGER012), 1 + 21 * 2, 2) == "NO") Then
Else
Endif
FClose 1
If (Exist(PPEPath() + "mavote.bin") == 0) Then
PrintLn PPEPath() + "MAVOTE.BIN not found! Creating new MAVOTE.BIN......"
FOpen 1, PPEPath() + "mavote.bin", 2, 0
STRING005 = ""
INTEGER010 = 0
For INTEGER008 = 1 To 20
FWrite 1, STRING005, 60
For INTEGER009 = 1 To 10
FWrite 1, STRING005, 40
FWrite 1, INTEGER010, 5
Next
Next
FClose 1
Endif
If (Exist(PPEPath() + "mavote.dat") == 1) Then
PrintLn PPEPath() + "MAVOTE.DAT found! Converting......."
FOpen 1, PPEPath() + "mavote.bin", 2, 0
FOpen 2, PPEPath() + "mavote.dat", 0, 0
FGet 2, INTEGER011
If (INTEGER011 <> 0) Then
For INTEGER001 = 1 To INTEGER011
FGet 2, STRING005
FWrite 1, STRING005, 60
For INTEGER002 = 1 To 15
FGet 2, STRING005
FGet 2, INTEGER010
If (INTEGER002 < 11) Then
FWrite 1, STRING005, 40
FWrite 1, INTEGER010, 5
Endif
Next
Next
Endif
FClose 2
FClose 1
Rename PPEPath() + "MAVOTE.DAT", PPEPath() + "MAVOTE.OLD"
PrintLn PPEPath() + "MAVOTE.DAT renamed to " + PPEPath() + "MAVOTE.OLD."
Endif
FOpen 1, PPEPath() + "mavote.bin", 0, 0
INTEGER006 = 0
For INTEGER010 = 1 To 20
FSeek 1, 510 * INTEGER010 - 510, 0
FRead 1, STRING003, 60
If (STRING003 <> "") Then
If (ToInt(Mid(U_Notes(INTEGER012), 1 + INTEGER010 * 2, 2)) == 0) Then
INTEGER006 = INTEGER006 + 1
Endif
Endif
Next
If (INTEGER006 == 0) Then
Goto LABEL003
Endif
If (INTEGER006 > 0) Then
PrintLn
Print "@X0AYou have not voted on @X0B"
Print INTEGER006
PrintLn " @X0Aquestions."
PrintLn
Goto LABEL002
Endif
:LABEL002
PrintLn " @X0B[@X0AV@X0B]ote now"
PrintLn " @X0B[@X0AT@X0B]urn off voting notice"
PrintLn
PrintLn " @X0AOr @X0D[@X0FENTER@X0D] @X0Ato continue"
PrintLn
STRING002 = ""
InputText "@X09[@X0BTime Left:@X0E@TIMELEFT@ @X0BMin.@X09] @X0AVote Command", STRING002, 11, 1
STRING002 = Lower(STRING002)
If (STRING002 == "v") Then
Call STRING006
Endif
If (STRING002 == "t") Then
STRING004 = "MV"
For INTEGER008 = 1 To 20
STRING004 = STRING004 + Mid(U_Notes(INTEGER012), 1 + INTEGER008 * 2, 2)
Next
STRING004 = STRING004 + "NO"
U_Notes(INTEGER012) = STRING004
PrintLn
PrintLn "@X0CYour voting notification has been deactivated."
PutUser
Endif
Endif
Endif
Endif
:LABEL003
FClose 1
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 38 Goto
; 31 Let
; 3 Print
; 16 PrintLn
; 24 If
; 5 FOpen
; 5 FClose
; 9 FGet
; 1 GetUser
; 1 PutUser
; 1 InputText
; 1 Call
; 1 Rename
; 1 FSeek
; 1 FRead
; 6 FWrite
;
;
; ■ Functions used :
;
; 4 *
; 28 +
; 1 -
; 11 ==
; 2 <>
; 9 <
; 8 <=
; 2 >
; 16 >=
; 24 !
; 16 &&
; 8 ||
; 1 Len(
; 1 Lower()
; 3 Mid()
; 1 Left()
; 13 PPEPath()
; 2 Exist()
; 1 Psa()
; 1 ToInt()
;
;------------------------------------------------------------------------------
;
; Analysis flags : WC
;
; W - Write user ■ 5
; Program writes a user record. Although this may be normal for a
; User Editor, it may also be a way to modify an account level.
; ■ Search for : PUTUSER
;
; C - Call child PPE ■ 3
; This is usually normal, but may be a tricky way to launch some
; sysop-only commands.
; ■ Search for : CALL
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 8 For/Next
; 0 While/EndWhile
; 16 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------