home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
High Voltage Shareware
/
high1.zip
/
high1
/
DIR9
/
VOTE100.ZIP
/
VOTE.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-02-11
|
13KB
|
450 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
Integer TINTEGER013(9)
Integer INTEGER014
Integer INTEGER015
Integer INTEGER016
Integer TINTEGER017(99)
Integer INTEGER018
Integer INTEGER019
Integer INTEGER020
Integer INTEGER021
Integer INTEGER022
Integer INTEGER023
Integer INTEGER024
Integer INTEGER025
String TSTRING001(4)
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String TSTRING008(9)
String STRING009
String STRING010
String TSTRING011(9)
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
;------------------------------------------------------------------------------
GetUser
STRING005 = Time()
Log "+++ Entered Voter++ at -> " + STRING005, 0
RdUNet PcbNode()
WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "RUNNING " + PPEName(), ""
FOpen 1, PPEPath() + PPEName() + ".CFG", 0, 0
For INTEGER001 = 1 To 4
FGet 1, TSTRING001(INTEGER001)
TSTRING001(INTEGER001) = RTrim(Left(TSTRING001(INTEGER001), 29), " ")
Next
FClose 1
STRING014 = TSTRING001(2) + TSTRING001(3)
STRING014 = Strip(STRING014, " ")
For INTEGER018 = 1 To Len(STRING014)
TINTEGER017(INTEGER018) = Asc(Mid(STRING014, INTEGER018, 1))
Next
INTEGER019 = 0
For INTEGER018 = 1 To 80
INTEGER019 = INTEGER019 + TINTEGER017(INTEGER018)
Next
INTEGER016 = INTEGER019 * 709
If (AnsiOn()) Goto LABEL001
PrintLn "Sorry, but this program requires you to have ANSI capabilities, if you"
PrintLn "would like to use this voting door, then please type M at the main menu"
PrintLn "this will place you in graphics mode, and allow you to use this door."
End
:LABEL001
Gosub LABEL010
StartDisp 1
Cls
Newlines 1
PrintLn " @X0F∞ ∞ "
PrintLn " "
PrintLn " @X0A ╓─┐ ╥ ┬ ╥──┐ ╥ ┬ ─╥─ ╥ ┬ ╓──┐ ╥ ╓─╥─┐ ╥──┐ ╓──┐ ╥ ┬ "
PrintLn " @X04 ╙─┐ ║ │ ╟─┬┘ ╙╖┌┘ ║ ╙╖┌┘ ╟──┤ ║ ─── ║ ╟─ ║ ╟──┤ "
PrintLn " @X02╙──┘ ╙──┘ ╨ ┴ ╙┘ ─╨─ ╙┘ ╨ ┴ ╨──┘ ╨ ╨──┘ ╙──┘ ╨ ┴ o"
PrintLn " "
PrintLn " @X0D▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ "
PrintLn " @X0BPRESENTS "
PrintLn " @X0A┌─┐ ┌─┐ ┌──────┐ ┌─────┐ ┌─────┐ ┌──────┐ "
PrintLn " │ │ │ │ │ ┌──┐ │ └─┐ ┌─┘ │ ┌───┘ │ ┌──┐ │ @X09 ┌─┐ ┌─┐ "
PrintLn " @X04└┐└┐ ┌┘┌┘ │ │ │ │ │ │ │ └─┐ │ └──┘ │ @X09┌┘ └┐ ┌┘ └┐ "
PrintLn " @X02 └┐└┐┌┘┌┘ │ │ │ │ │ │ │ ┌─┘ │ ┌─┐ ┌┘ @X09└┐ ┌┘ └┐ ┌┘ "
PrintLn " @X02 └┐└┘┌┘ │ └──┘ │ │ │ │ └───┐ │ │ │ └┐ @X09 └─┘ └─┘ "
PrintLn " @X02 └──┘ └──────┘ └─┘ └─────┘ └─┘ └──┘ "
PrintLn " "
PrintLn " @X06(C)94 Bill Marcy @X03V1.0 "
PrintLn " "
PrintLn " @X0F∞ ∞ "
If (INTEGER016 == TSTRING001(4)) Then
OpText "This program is registered to"
AnsiPos 0, 20
PrintLn "@X09@OPTEXT:76C@"
OpText TSTRING001(3)
AnsiPos 0, 21
PrintLn "@X03@OPTEXT:76C@"
Delay (3 * 182) / 10
Else
For INTEGER015 = 5 To 0 Step -1
AnsiPos 9, 2
PrintLn "@X0EThis @X0B", INTEGER015, "@X0E second delay is removed once this program is registered "
Delay (1.5 * 182) / 18
Next
For INTEGER015 = 5 To 0 Step -1
AnsiPos 2, 21
PrintLn "@X0CPlease help your sysop register this program and remove this@X0E @X8B", INTEGER015, "@X0C second delay@X0F"
Delay (1.5 * 182) / 18
Next
Endif
:LABEL002
Cls
PrintLn "@X70┌─────────────────────────────────────────────────────────────────────────────@X7F┐@X0F"
PrintLn "@X70│@X72··@X7EVoter++@X72···················@X71User Voting Area@X72······················@X74Main Menu@X72··@X7F│@X0F"
PrintLn "@X70└@X7F─────────────────────────────────────────────────────────────────────────────┘@X0F"
PrintLn "@X70┌───────────────────────────────────@X7F┐@X70┌────────────────────────────────────────@X7F┐@X0F"
PrintLn "@X70│ @X76(@X71H@X76) - @X79Help with using Voter++ @X7F│@X70│ @X7ETotal number of booths is @X74 @X7F│@X0F"
PrintLn "@X70│ @X76(@X71L@X76) - @X79Look at available booths @X7F│@X70│ @X7ETotal number of voters is @X740@X7E. @X7F│@X0F"
PrintLn "@X70│ @X76(@X71V@X76) - @X79Vote! on a booth question @X7F│@X70└@X7F────────────────────────────────────────┘@X0F"
PrintLn "@X70│ @X76(@X71D@X76) - @X79Display Voter Results @X7F│@X70┌────────────────────────────────────────@X7F┐@X0F"
PrintLn "@X70│ @X76(@X74Q@X76) - @X74Quit back to the BBS @X7F│@X70│ @X71(C)94 Survival Tech. Software @X75 V1.0ß @X7F│@X0F"
PrintLn "@X70└@X7F───────────────────────────────────┘@X70└@X7F────────────────────────────────────────┘@X0F"
PrintLn "@X70┌───────────────────────────────────@X7F┐@X0F"
PrintLn "@X70│ @X7F│@X0F"
PrintLn "@X70└@X7F───────────────────────────────────┘@X0F"
Gosub LABEL009
AnsiPos 7, 12
PrintLn "@X76─ @X7EWhat is your choice@X0F"
AnsiPos 2, 12
InputStr " @X7E", STRING002, 116, 1, "HhLlVvDdQq", 4
If (Upper(STRING002) == "H") Goto LABEL003
If (Upper(STRING002) == "L") Goto LABEL004
If (Upper(STRING002) == "V") Goto LABEL005
If (Upper(STRING002) == "D") Goto LABEL007
If (Upper(STRING002) == "Q") Goto LABEL008
:LABEL003
Cls
DispFile PPEPath() + "HELP.DSP", 2 + 1 + 4
Wait
Goto LABEL002
Print "@X0F"
:LABEL004
Cls
PrintLn "@X70┌───────────────────────────────────────────────────────────────────────────@X7F┐@X0F"
PrintLn "@X70│ @X7EVoter++ @X74Available Voting Booths @X7F│@X0F"
PrintLn "@X70└@X7F───────────────────────────────────────────────────────────────────────────┘@X0F"
PrintLn "@X70┌───────────────────────────────────────────────────────────────────────────@X7F┐@X0F"
For INTEGER001 = 1 To TSTRING001(1)
STRING003 = INTEGER001
STRING004 = ReadLine(PPEPath() + "VOTE" + STRING003 + ".QUE", 1)
INTEGER002 = 71 - Len(STRING004)
PrintLn "@X70│@X74 ", INTEGER001, "@X76)@X71 ", STRING004 + Space(INTEGER002), "@X7F│@X0F"
Next
PrintLn "@X70└@X7F───────────────────────────────────────────────────────────────────────────┘@X0F"
Newline
Wait
Goto LABEL002
:LABEL005
Cls
PrintLn "@X70┌───────────────────────────────────────────────────────────────────────────@X7F┐@X0F"
PrintLn "@X70│ @X7EVoter++ @X71Please Choose from the booths below @X74Voting Area @X7F│@X0F"
PrintLn "@X70└@X7F───────────────────────────────────────────────────────────────────────────┘@X0F"
PrintLn "@X70┌───────────────────────────────────────────────────────────────────────────@X7F┐@X0F"
For INTEGER001 = 1 To TSTRING001(1)
STRING003 = INTEGER001
STRING004 = ReadLine(PPEPath() + "VOTE" + STRING003 + ".QUE", 1)
INTEGER002 = 71 - Len(STRING004)
PrintLn "@X70│@X74 ", INTEGER001, "@X76)@X71 ", STRING004 + Space(INTEGER002), "@X7F│@X0F"
Next
PrintLn "@X70└@X7F───────────────────────────────────────────────────────────────────────────┘@X0F"
InputStr " @X03 Your Choice -> ", STRING002, 14, 1, "1234567890", 0 + 4
If (STRING002 == "") Goto LABEL005
Gosub LABEL011
If (STRING016 == "Y") Goto LABEL014
:LABEL006
Cls
PrintLn "@X70┌───────────────────────────────────────────────────────────────────────────@X7F┐@X0F"
STRING006 = ReadLine(PPEPath() + "VOTE" + STRING002 + ".QUE", 1)
INTEGER002 = 71 - Len(STRING006)
PrintLn "@X70│ @X74Q: @X71", STRING006 + Space(INTEGER002), "@X7F│@X0F"
PrintLn "@X70└@X7F───────────────────────────────────────────────────────────────────────────┘@X0F"
PrintLn "@X70┌───────────────────────────────────────────────────────────────────────────@X7F┐@X0F"
INTEGER003 = 1
For INTEGER001 = 1 To 9
Inc INTEGER003
STRING006 = ReadLine(PPEPath() + "vote" + STRING002 + ".que", INTEGER003)
If (STRING006 == "") Break
INTEGER002 = 71 - Len(STRING006)
PrintLn "@X70│@X74 ", INTEGER001, "@X76)@X71 ", STRING006 + Space(INTEGER002), "@X7F│@X0F"
Next
PrintLn "@X70└@X7F───────────────────────────────────────────────────────────────────────────┘@X0F"
InputStr " @X03 Your Choice -> ", STRING007, 14, 1, "1234567890", 0 + 4
If (STRING007 == "") Goto LABEL006
FAppend 5, PPEPath() + "vote" + STRING002 + ".nam", 2, 0
FPutLn 5, U_Name() + " / " + String(Date()) + " / Answer " + STRING007
FClose 5
INTEGER005 = INTEGER001 - 1
For INTEGER004 = 1 To INTEGER005
FOpen 6, PPEPath() + "vote" + STRING002 + ".ans", 2, 0
FGet 6, TSTRING008(INTEGER004)
Next
FClose 6
TSTRING008(STRING007) = TSTRING008(STRING007) + 1
FOpen 7, PPEPath() + "VOTE" + STRING002 + ".ANS", 1, 0
For INTEGER006 = 1 To 9
FPutLn 7, TSTRING008(INTEGER006)
Next
FClose 7
Newlines 1
PrintLn "@X70┌───────────────────────────────────────────────────────────────────────────@X7F┐@X0F"
PrintLn "@X70│@X74Thank you for casting your vote Make sure you take a look at the results! @X7F│@X0F"
PrintLn "@X70└@X7F───────────────────────────────────────────────────────────────────────────┘@X0F"
Delay (2 * 182) / 10
Goto LABEL002
:LABEL007
Cls
PrintLn "@X70┌───────────────────────────────────────────────────────────────────────────@X7F┐@X0F"
PrintLn "@X70│ @X7EVoter++ @X74Voter Statistics Area @X7F│@X0F"
PrintLn "@X70└@X7F───────────────────────────────────────────────────────────────────────────┘@X0F"
PrintLn "@X70┌───────────────────────────────────────────────────────────────────────────@X7F┐@X0F"
For INTEGER007 = 1 To TSTRING001(1)
STRING009 = INTEGER007
STRING004 = ReadLine(PPEPath() + "VOTE" + STRING009 + ".QUE", 1)
INTEGER002 = 71 - Len(STRING004)
PrintLn "@X70│@X74 ", INTEGER007, "@X76)@X71 ", STRING004 + Space(INTEGER002), "@X7F│@X0F"
Next
PrintLn "@X70└@X7F───────────────────────────────────────────────────────────────────────────┘@X0F"
InputStr " @X03 See What Stat -> ", STRING010, 14, 1, "1234567890", 0 + 4
Newlines 2
INTEGER014 = 0
FOpen 3, PPEPath() + "VOTE" + STRING010 + ".ANS", 2, 0
For INTEGER008 = 1 To 9
FGet 3, TSTRING011(INTEGER008)
INTEGER014 = INTEGER014 + TSTRING011(INTEGER008)
Next
FClose 3
Cls
PrintLn "@X70┌───────────────────────────────────────────────────────────────────────────@X7F┐@X0F"
STRING013 = ReadLine(PPEPath() + "VOTE" + STRING010 + ".QUE", 1)
INTEGER012 = 71 - Len(STRING013)
PrintLn "@X70│ @X74Q: @X71", STRING013 + Space(INTEGER012), "@X7F│@X0F"
PrintLn "@X70└@X7F───────────────────────────────────────────────────────────────────────────┘@X0F"
PrintLn "@X70┌───────────────────────────────────────────────────────────────────────────@X7F┐@X0F"
PrintLn "@X70│ @X7EVotes @X74%%% @X71Answer @X7F│@X0F"
PrintLn "@X70└@X7F───────────────────────────────────────────────────────────────────────────┘@X0F"
PrintLn "@X70┌───────────────────────────────────────────────────────────────────────────@X7F┐@X0F"
INTEGER009 = 1
For INTEGER011 = 1 To 9
TINTEGER013(INTEGER011) = TSTRING011(INTEGER011)
Inc INTEGER009
STRING012 = ReadLine(PPEPath() + "vote" + STRING010 + ".que", INTEGER009)
If (STRING012 == "") Break
If (TSTRING011(INTEGER011) == "") Then
TSTRING011(INTEGER011) = 0
Endif
If (Len(TSTRING011(INTEGER011)) <= 1) Then
INTEGER020 = 4
Else
Select Case (Len(TSTRING011(INTEGER011)))
Case 2
INTEGER020 = 3
Case 3
INTEGER020 = 2
Endif
End Select
INTEGER022 = (TINTEGER013(INTEGER011) * 100) / INTEGER014
If (Len(INTEGER022) <= 1) Then
INTEGER021 = 5
Else
Select Case (Len(INTEGER022))
Case 2
INTEGER021 = 4
Case 3
INTEGER021 = 3
Endif
End Select
INTEGER010 = 64 - Len(STRING012) + Len(TINTEGER013(INTEGER011)) + Len(TSTRING011(INTEGER011))
PrintLn "@X70│@X7E", Space(INTEGER020), TSTRING011(INTEGER011), "@X74", Space(INTEGER021), INTEGER022, "@X71 ", STRING012 + Space(INTEGER010), "@X7F│@X0F"
Next
PrintLn "@X70└@X7F───────────────────────────────────────────────────────────────────────────┘@X0F"
Newline
Wait
Goto LABEL002
:LABEL008
AnsiPos 38, 11
PrintLn "@X70┌────────────────────────────────────────@X7F┐@X0F"
AnsiPos 38, 12
PrintLn "@X70│ @XF4 @XF6 @X74Thank you for using Voter++ @XF6@XF4@X7F │@X0F"
AnsiPos 38, 13
PrintLn "@X70└@X7F────────────────────────────────────────┘@X0F"
STRING005 = Time()
Log "--- Exited Voter++ at -> " + STRING005, 0
End
:LABEL009
AnsiPos 67, 5
PrintLn "@X74", TSTRING001(1), "@X7E."
AnsiPos 67, 6
PrintLn "@X74", INTEGER025, "@X7E."
Return
:LABEL010
INTEGER025 = 0
INTEGER025 = ReadLine(PPEPath() + PPEName() + ".NUM", 1)
INTEGER025 = INTEGER025 + 1
FOpen 2, PPEPath() + PPEName() + ".NUM", 2, 0
FPut 2, INTEGER025
FClose 2
Return
:LABEL011
INTEGER023 = 0
FOpen 3, PPEPath() + "VOTE" + STRING002 + ".NAM", 2, 0
:LABEL012
If (Ferr(3)) Goto LABEL013
Inc INTEGER023
FGet 3, STRING015
Goto LABEL012
:LABEL013
FClose 3
INTEGER023 = INTEGER023 - 1
If (INTEGER023 == 0) Then
INTEGER023 = 1
Endif
INTEGER024 = Len(U_Name())
FOpen 4, PPEPath() + "VOTE" + STRING002 + ".NAM", 2, 0
For INTEGER001 = 1 To INTEGER023
FGet 4, STRING015
If (Left(STRING015, INTEGER024) == U_Name()) Then
STRING016 = "Y"
Endif
Next
FClose 4
Return
:LABEL014
Newlines 1
PrintLn "@X70┌───────────────────────────────────────────────────────────────────────────@X7F┐@X0F"
PrintLn "@X70│ @X74Sorry but you have already voted on this question, please choose another. @X7F│@X0F"
PrintLn "@X70└@X7F───────────────────────────────────────────────────────────────────────────┘@X0F"
Delay (3 * 182) / 10
Goto LABEL002
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 2 End
; 8 Cls
; 3 Wait
; 61 Goto
; 77 Let
; 1 Print
; 83 PrintLn
; 36 If
; 1 DispFile
; 7 FOpen
; 1 FAppend
; 8 FClose
; 5 FGet
; 1 FPut
; 2 FPutLn
; 1 StartDisp
; 1 GetUser
; 2 Log
; 4 InputStr
; 3 Gosub
; 3 Return
; 5 Delay
; 3 Inc
; 2 Newline
; 4 Newlines
; 2 OpText
; 1 RdUNet
; 1 WrUNet
; 11 AnsiPos
;
;
; ■ Functions used :
;
; 6 -
; 7 *
; 6 /
; 86 +
; 9 -
; 18 ==
; 14 <
; 16 <=
; 28 >=
; 25 !
; 28 &&
; 14 ||
; 18 Len(
; 5 Upper()
; 1 Mid()
; 2 Left()
; 9 Space()
; 1 Ferr()
; 1 Asc()
; 1 RTrim()
; 1 Date()
; 2 Time()
; 3 U_Name()
; 1 Strip()
; 1 String()
; 17 PPEPath()
; 2 PcbNode()
; 8 ReadLine()
; 1 UN_Stat()
; 1 UN_Name()
; 1 UN_City()
; 1 AnsiOn()
; 4 PPEName()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 14 For/Next
; 0 While/EndWhile
; 6 If/Then or If/Then/Else
; 2 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------