home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Media Share 9
/
MEDIASHARE_09.ISO
/
pcboard
/
p_bank.zip
/
BANK.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1993-05-18
|
5KB
|
227 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 1.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
String STRING002
String STRING003
String TSTRING004(4)
String STRING005
;------------------------------------------------------------------------------
:LABEL001
STRING002 = ""
GetUser
If (Left(U_Notes(4), 4) <> "BANK") Then
TSTRING004(1) = "BANK"
TSTRING004(2) = "TIME"
TSTRING004(3) = 0
Else
Tokenize U_Notes(4)
STRING003 = 1
GetToken TSTRING004(STRING003)
While (TSTRING004(STRING003) <> "") Do
STRING003 = STRING003 + 1
GetToken TSTRING004(STRING003)
EndWhile
Endif
INTEGER001 = 30
INTEGER002 = 15
INTEGER003 = TSTRING004(3)
If (INTEGER003 > INTEGER002) Then
INTEGER004 = INTEGER002
Else
INTEGER004 = INTEGER003
Endif
PrintLn "@CLS@@X07"
PrintLn "@X07"
PrintLn "@X07"
PrintLn "@X07 @X77 @X70┌─────────────────────────@X7F┐ @X07"
PrintLn "@X0F @X08█@X78 @X70│ @X7AJerusalem Time Bank @X7F│ @X07"
PrintLn "@X0F @X08█@X78 @X70└@X7F─────────────────────────┘ @X07"
PrintLn "@X0F @X08█@X78 @X70┌─────────────────────@X7F┐ @X70┌─────────────────────────────────────@X7F┐ @X07"
PrintLn "@X0F @X08█@X78 @X70│ @X7BD@X78)@X71eposit time @X7F│ @X70│ @X7BIn your Account@X78: @X7E @X78 @X7F│ @X07"
PrintLn "@X0F @X08█@X78 @X70│ @X7BW@X78)@X71ithdraw time @X7F│ @X70│ @X79Maximum Bank Balance@X78: @X7E @X78 @X7F│ @X07"
PrintLn "@X0F @X08█@X78 @X70│ @X7BH@X78)@X71elp! @X7F│ @X70│ @X7F│ @X07"
PrintLn "@X0F @X08█@X78 @X70│ @X7F│ @X70│ @X7BAvailable for Withdrawal@X78: @X7E @X78 @X7F│ @X07"
PrintLn "@X0F @X08█@X78 @X70│ @X7BQ@X78)@X74uit to @X79J@X74B@X7AB@X78S @X7F│ @X70│ @X79Maximum Withdrawal P/Day@X78: @X7E @X78 @X7F│ @X07"
PrintLn "@X0F @X08█@X78 @X70└@X7F─────────────────────┘ @X70└@X7F─────────────────────────────────────┘ @X07"
PrintLn "@X0F @X08█@X78 @X07"
PrintLn "@X08 █@X78 @X07"
PrintLn "@X08 █@X78 @X07"
PrintLn "@X08 ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X07"
AnsiPos 53, 8
Print "@X75"
Print INTEGER003
PrintLn " @X78Min@X07"
AnsiPos 58, 9
Print "@X75"
Print INTEGER001
PrintLn " @X78Min@X07"
AnsiPos 62, 11
Print "@X75"
Print INTEGER004
PrintLn " @X78Min@X07"
AnsiPos 62, 12
Print "@X75"
Print INTEGER002
PrintLn " @X78Min@X07"
AnsiPos 0, 19
InputStr "(@X0C@TIMELEFT@ @X0Emin. left) Jerusalem BBS Time Bank ", STRING002, 14, 1, Mask_AlNum(), 2 + 4 + 8 + 128 + 32
If (STRING002 == "D") Gosub LABEL002
If (STRING002 == "W") Gosub LABEL003
If (STRING002 == "H") Gosub LABEL008
If (STRING002 == "Q") Goto LABEL009
If (STRING002 == "") Goto LABEL009
Goto LABEL001
:LABEL002
If (INTEGER003 == INTEGER001) Then
Goto LABEL004
Endif
INTEGER005 = INTEGER001 - INTEGER003
InputStr "Enter the Amount to Deposit :", INTEGER005, 14, 2, Mask_Num(), 2 + 4 + 8 + 128 + 32
If (INTEGER005 > INTEGER001 - INTEGER003) Then
Goto LABEL005
Endif
TSTRING004(3) = TSTRING004(3) + INTEGER005
U_Notes(4) = TSTRING004(1) + " " + TSTRING004(2) + " " + TSTRING004(3)
STRING005 = INTEGER005
PrintLn "@X0CDepositing @X0E" + STRING005 + "@X0E Min@X0C to Your Account"
Log "Deposited: " + STRING005 + " Min", 0
PutUser
AdjTime -INTEGER005
Goto LABEL009
:LABEL003
If (INTEGER003 == 0) Then
Goto LABEL007
Endif
If (INTEGER004 == 0) Then
Goto LABEL006
Endif
If (INTEGER003 > INTEGER002) Then
INTEGER006 = INTEGER002
Endif
InputStr "Enter the Amount to Withdraw :", INTEGER006, 14, 2, Mask_Num(), 2 + 4 + 8 + 128 + 32
If (INTEGER006 > INTEGER002) Then
Goto LABEL006
Endif
If (INTEGER006 > INTEGER003) Then
Goto LABEL006
Endif
TSTRING004(3) = TSTRING004(3) - INTEGER006
U_Notes(4) = TSTRING004(1) + " " + TSTRING004(2) + " " + TSTRING004(3)
STRING005 = INTEGER006
Print "@X0CWithdrawing @X0E " + STRING005 + " Min@X0C from Your Account"
Log "Withdrawed: " + STRING005 + " Min", 0
PutUser
AdjTime INTEGER006
Goto LABEL009
:LABEL004
Log "Attempted to Deposit When the bank was at Maximum", 0
PrintLn "@X0CYour Bank Balace is at its Maximum!@X07@BEEP@"
Goto LABEL009
:LABEL005
STRING005 = INTEGER005
Log "Attempted to Deposit too much: " + STRING005, 0
PrintLn "@X0CThe Maximum You Can Deposit is:@X0B" + STRING005 + "Min @X07@BEEP@"
Goto LABEL009
:LABEL006
STRING005 = INTEGER006
Log "Attempted to Withdraw too much! :" + STRING005, 0
STRING005 = INTEGER002
Print "@X0CThe Maximum You Can Withdraw is @X0B" + STRING005 + " Min @X07@BEEP@"
Goto LABEL009
:LABEL007
Log "Attempted to Withdraw : No Time in the Bank!", 0
Print "@X0CYou Must deposit time in the Bank in order to Withdraw@X07@BEEP@"
Goto LABEL009
:LABEL008
If (Exist(PPEPath() + "H_BANK")) DispFile PPEPath() + "H_BANK", 4 + 2 + 1
Goto LABEL001
:LABEL009
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 29 Goto
; 22 Let
; 11 Print
; 24 PrintLn
; 16 If
; 1 DispFile
; 1 GetUser
; 2 PutUser
; 2 AdjTime
; 6 Log
; 3 InputStr
; 3 Gosub
; 1 Tokenize
; 2 GetToken
; 5 AnsiPos
;
;
; ■ Functions used :
;
; 1 -
; 40 +
; 3 -
; 8 ==
; 2 <>
; 5 >
; 10 !
; 1 Left()
; 2 Mask_Num()
; 1 Mask_AlNum()
; 2 PPEPath()
; 1 Exist()
;
;------------------------------------------------------------------------------
;
; Analysis flags : WA
;
; 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
;
; A - Adjust online time remaining ■ 5
; Program modify the amount of online time remaining, this may
; be a way to bypass time limits
; ■ Search for : ADJTIME
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 0 For/Next
; 1 While/EndWhile
; 9 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------