home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AMOS PD CD
/
amospdcd.iso
/
sourcecode
/
various
/
state.amos
/
state.amosSourceCode
< prev
Wrap
AMOS Source Code
|
1991-09-16
|
41KB
|
1,465 lines
Set Buffer 10
Load "df0:Copyright_Sprite.Abk"
Screen Open 0,320,256,16,Lowres
Hide : Curs Off : Cls 0
Load Iff "df0:Pics/Horse",0
_SMALL_COPYRIGHT[256]
Wait 100
Screen Close 0 : Show
Dim BALANCE(40),BALANCE$(40),WDRAWN(40),WDRAWN$(40),REF$(40),A$(40),DNAM$(6)
Dim PAIDIN(40),PAIDIN$(40),WD$(40),PD$(40),DAT$(40),DETAILS$(40),NAM$(6)
Fix(2) : YEAR$="1991"
COMMENCE:
Gosub SETUP
Window 4 : Pen 5 : Curs Off
Locate ,1 : Centre "Set DRIVE number if not default which is df0:"
Locate ,3 : Centre "Set YEAR if not default which is 1991"
Locate ,5 : Centre "If using for first time create NEW ACCOUNT"
Locate ,7 : Centre "Open the ACCOUNT"
Locate ,10 : Pen 6 : Centre "Click the left Mouse Button to continue"
While PK=0 : PK=Mouse Key : Wend
Clw
RESTART:
If DISKON=1 Then Gosub QUITORCLEAR
Gosub INITVAR
MAINLOOP:
MZ=0 : K=0
X$=Inkey$
K=Mouse Key
If K=1 Then Gosub MTEST
If X$="" Then Goto MAINLOOP
If X$=Chr$(27) Then Goto RESTART
X$=""
Goto MAINLOOP
MTEST:
Reserve Zone 16
Set Zone 1,101,23 To 162,36
Set Zone 2,101,53 To 162,66
Set Zone 3,196,40 To 304,53
Set Zone 4,336,40 To 444,53
Set Zone 5,478,23 To 539,36
Set Zone 6,478,53 To 539,66
Set Zone 7,22,53 To 67,66
Set Zone 8,22,83 To 67,96
Set Zone 9,22,113 To 67,126
Set Zone 10,22,143 To 67,156
Set Zone 11,22,173 To 67,186
Set Zone 12,572,53 To 617,66
Set Zone 13,572,83 To 617,96
Set Zone 14,572,113 To 617,126
Set Zone 15,572,143 To 617,156
Set Zone 16,572,173 To 617,186
MZ=Mouse Zone
Reserve Zone
On MZ Gosub DISPLAY,FINDACCOUNT,NEWDIR,FINDDIRS,WIPE,NEWNAM,INFORM,FLOAD,FSAVE,CHANGEDRIVE,PRINIT,QUIT,FEDIT,FINDYEAR,ENTER,FILES
Return
SETUP:
Screen Open 1,640,256,8,Hires
Load Iff "df0:Pics/Primary",1
Limit Mouse 136,50 To 438,235
Wind Open 4,95,83,58,14,1
Border 4,6,4
Paper 0 : Clw
Wind Open 2,0,204,78,6,1
Paper 7 : Clw : Curs Off
Title Top "STATUS"
Border 3,6,4
Draw 109,217 To 109,237 : Draw 108,217 To 108,237
Draw 198,217 To 198,237 : Draw 199,217 To 199,237
Draw 307,217 To 307,237 : Draw 308,217 To 308,237
Draw 447,217 To 447,237 : Draw 448,217 To 448,237
Draw 520,217 To 520,237 : Draw 519,217 To 519,237
Box 24,216 To 613,238 : Box 25,217 To 612,237
Ink 4
UX=22 : UY=215 : LX=617 : LY=239
For LI=0 To 4
If LI=>3 Then Ink 6
Box UX-LI,UY-LI To LX+LI,LY+LI
Next LI
DISKDRIVE$="df0:"
Return
FINDYEAR:
OP$="YEAR"
Gosub OPS
Window 4 : Paper 7 : Clw : Curs Off
WRONG:
Locate 8,4 : Pen 5 : Curs Off
Print "ENTER YEAR > ";
Input YEAR$
If Len(YEAR$)<>4
Clw : Curs Off : Pen 4 : Boom
Locate ,4 : Centre "INVALID YEAR ENTRY > "+YEAR$
Wait 200 : YEAR$="" : Clw
Goto WRONG
End If
Gosub CLEARW
Gosub STATUS
Return
FINDACCOUNT:
OP$="ACCOUNT"
Gosub OPS
Window 4 : Paper 7 : Clw : Curs Off
If F>0
Boom : Pen 4
Locate ,5 : Centre "FILE ALREADY LOADED FOR "+ACCOUNT$+" ACCOUNT"
Wait 200 : Pen 5 : Clw
Goto NOACC
End If
COUNT2=0
DD1$=Dir First$(DISKDRIVE$)
While DD1$<>""
If Left$(DD1$,5)="*PAGE"
T1$=DD1$-(Left$(DD1$,6))
COUNT2=COUNT2+1
P=Instr(T1$," ")
T2$=T1$-(Right$(T1$,33-P))
NAM$(COUNT2)=T2$
T1$="" : T2$=""
End If
DD1$=Dir Next$
Wend
If COUNT2=0
Boom : Pen 4 : Clw : Curs Off
Locate ,4 : Centre "THERE ARE NO ACCOUNTS ON YOUR SELECTED DRIVE"
Wait 200 : Clw : Pen 5
Goto NOACC
End If
For LO=1 To 6
L1=Len(NAM$(LO)) : DNAM$(LO)=NAM$(LO)
If L1=1 or L1=3 or L1=5 or L1=7 Then DNAM$(LO)=DNAM$(LO)+" "
L2=Len(DNAM$(LO)) : PL=Int((10-L2)/2)
DNAM$(LO)=Space$(PL)+DNAM$(LO)+Space$(PL)
Next LO
Reserve Zone 7
ZM=0 : KM=0 : K$=""
Locate 6,9 : Pen 6 : Print "Click on Account Name, or Abort"
Pen 5 : Curs Off
Repeat
ZM=Mouse Zone : KM=Mouse Key
If ZM<>1 Then Locate 3,2 : Pen 5 : Print Zone$(Border$(DNAM$(1),1),1)
If ZM=1 Then Locate 3,2 : Pen 3 : Print Zone$(Border$(DNAM$(1),3),1)
If ZM<>2 Then Locate 3,5 : Pen 5 : Print Zone$(Border$(DNAM$(2),1),2)
If ZM=2 Then Locate 3,5 : Pen 3 : Print Zone$(Border$(DNAM$(2),3),2)
If ZM<>3 Then Locate 17,2 : Pen 5 : Print Zone$(Border$(DNAM$(3),1),3)
If ZM=3 Then Locate 17,2 : Pen 3 : Print Zone$(Border$(DNAM$(3),3),3)
If ZM<>4 Then Locate 17,5 : Pen 5 : Print Zone$(Border$(DNAM$(4),1),4)
If ZM=4 Then Locate 17,5 : Pen 3 : Print Zone$(Border$(DNAM$(4),3),4)
If ZM<>5 Then Locate 31,2 : Pen 5 : Print Zone$(Border$(DNAM$(5),1),5)
If ZM=5 Then Locate 31,2 : Pen 3 : Print Zone$(Border$(DNAM$(5),3),5)
If ZM<>6 Then Locate 31,5 : Pen 5 : Print Zone$(Border$(DNAM$(6),1),6)
If ZM=6 Then Locate 31,5 : Pen 3 : Print Zone$(Border$(DNAM$(6),3),6)
If ZM<>7
Locate 45,3 : Pen 4
Print Zone$(Border$(" ABORT ",2),7)
Pen 5
End If
If ZM=7
Locate 45,3 : Pen 4 : Inverse On
Print Zone$(Border$(" ABORT ",4),7)
Pen 5 : Inverse Off
End If
Until KM=1 and ZM>0
Reserve Zone
If ZM=1 Then ACCOUNT$=NAM$(1)
If ZM=2 Then ACCOUNT$=NAM$(2)
If ZM=3 Then ACCOUNT$=NAM$(3)
If ZM=4 Then ACCOUNT$=NAM$(4)
If ZM=5 Then ACCOUNT$=NAM$(5)
If ZM=6 Then ACCOUNT$=NAM$(6)
If ZM=7 Then Goto NOACC
DI$=CD$+ACCOUNT$
NOACC:
Gosub CLEARW
Gosub STATUS
Return
CLEARW:
Window 4 : Paper 0 : Clw : Pen 5 : Curs Off
OP$=" "
Gosub OPS
Return
STATUS:
If F=0 Then Goto NOFIG
TDEBIT#=0 : TCREDIT#=0
For L=1 To F
DEBIT#=Val(WDRAWN$(L))
If L>1 Then TDEBIT#=TDEBIT#+DEBIT#
CREDIT#=Val(PAIDIN$(L))
If L>1 Then TCREDIT#=TCREDIT#+CREDIT#
TEMP=(PAIDIN(L)-WDRAWN(L))+BALANCE(L-1)
BALANCE(L)=TEMP
BL$=Str$(BALANCE(L))
NUM=Len(BL$)
If NUM=2 Then BL$=Right$(BL$,1) : BL$="00"+BL$
If NUM=3 Then BL$=Right$(BL$,2) : BL$="0"+BL$
NUM=Len(BL$)
NUM=NUM-2
BL$=(Left$(BL$,NUM)+"."+Right$(BL$,2))
If Left$(BL$,1)=Chr$(32)
C=Len(BL$)
BL$=Right$(BL$,(C-1))
End If
If Left$(BL$,1)="-" Then BL$=BL$-(Left$(BL$,1))
BALANCE$(L)=BL$
Next L
MONBAL#=TCREDIT#-TDEBIT#
MONBAL$=Str$(MONBAL#)
If Left$(MONBAL$,1)="-" Then MONBAL$=MONBAL$-(Left$(MONBAL$,1))
NOFIG:
Window 2 : Paper 7 : Ink 6,7
B$=" " : Text 34,230,B$ : Text 34,230,MONTH$
B$=" " : Text 69,230,B$ : Text 69,230,YEAR$
B$=" " : Text 118,230,B$ : Text 118,230,ACCOUNT$
If BALANCE(F)>0 Then Ink 5,7 Else Ink 4,7
X=216 : B$=" " : Text X,230,B$
LB=Len(BALANCE$(F)) : PIX=LB*6 : X=276-PIX
Text X,230,BALANCE$(F)
Ink 6,7
R$=Str$(F) : RN$="Records = "+R$
B$=" " : Text 324,230,B$
Text 324,230,RN$
Text 470,230,DISKDRIVE$
MB$=" " : Text 530,230,MB$
If F=0 Then MONBAL$=" "
If MONBAL#>0 Then Ink 5,7 Else Ink 4,7
Text 530,230,MONBAL$
Ink 6,7
Return
INITVAR:
For CM=0 To 40
BALANCE(CM)=0
BALANCE$(CM)=""
WDRAWN(CM)=0
WDRAWN$(CM)=""
REF$(CM)="" : A$(CM)=""
PAIDIN(CM)=0
PAIDIN$(CM)=""
WD$(CM)="" : PD$(CM)=""
DAT$(CM)="" : DETAILS$(CM)=""
Next CM
F=0 : BALANCE$(F)="0.00" : MONTH$="" : TDEBIT#=0 : TCREDIT#=0
CD$="PAGE." : DI$="" : ACCOUNT$="" : MONBAL$=""
DUMB=Free
Colour 6,$FF0 : Colour 7,$333
Flash 3,"(FF0,20)(333,20)"
Gosub STATUS
Return
CHANGEDRIVE:
OP$="CHANGE DRIVE"
Gosub OPS
Window 4 : Paper 7 : Clw : Curs Off
PRESDRIVE$=DISKDRIVE$
Reserve Zone 5
ZM=0 : KM=0 : K$=""
Locate ,9 : Pen 6 : Centre "Click on Drive Number, or Abort"
Pen 5 : Curs Off
Repeat
ZM=Mouse Zone : KM=Mouse Key
If ZM<>1 Then Locate 3,3 : Pen 5 : Print Zone$(Border$("df0:",1),1)
If ZM=1 Then Locate 3,3 : Pen 3 : Print Zone$(Border$("df0:",3),1)
If ZM<>2 Then Locate 14,3 : Pen 5 : Print Zone$(Border$("df1:",1),2)
If ZM=2 Then Locate 14,3 : Pen 3 : Print Zone$(Border$("df1:",3),2)
If ZM<>3 Then Locate 25,3 : Pen 5 : Print Zone$(Border$("df2:",1),3)
If ZM=3 Then Locate 25,3 : Pen 3 : Print Zone$(Border$("df2:",3),3)
If ZM<>4 Then Locate 36,3 : Pen 5 : Print Zone$(Border$("dh0:",1),4)
If ZM=4 Then Locate 36,3 : Pen 3 : Print Zone$(Border$("dh0:",3),4)
If ZM<>5
Locate 45,3 : Pen 4
Print Zone$(Border$(" ABORT ",2),5)
Pen 5
End If
If ZM=5
Locate 45,3 : Pen 4 : Inverse On
Print Zone$(Border$(" ABORT ",4),5)
Pen 5 : Inverse Off
End If
Until KM=1 and ZM>0
Reserve Zone
If ZM=1 Then DISKDRIVE$="df0:"
If ZM=2 Then DISKDRIVE$="df1:"
If ZM=3 Then DISKDRIVE$="df2:"
If ZM=4 Then DISKDRIVE$="dh0:"
DD=Exist(DISKDRIVE$)
If DD=0
Clw : Pen 4 : Curs Off : Boom
Locate ,4 : Centre "THIS DRIVE DOES NOT EXIST ON YOUR SYSTEM"
Locate ,6 : Centre "OR THERE IS NO DISK PRESENT IN"
Locate ,8 : Centre DISKDRIVE$
DISKDRIVE$=PRESDRIVE$
Wait 200
End If
Gosub CLEARW
Gosub STATUS
Return
ENTER:
OP$="ENTER DATA"
Gosub OPS
F=F+1
DATER:
Window 4 : Paper 7 : Clw : Curs Off
If F>40
Locate ,4 : Pen 4 : Boom
Centre "SORRY CAN ONLY ACCEPT UP TO 40 ENTRIES A MONTH"
Wait 250 : Gosub CLEARW : F=F-1
Return
End If
If ACCOUNT$=""
Gosub ZEROACCOUNT
F=F-1
Gosub CLEARW
Return
End If
EDENTER:
TDEBIT#=0 : TCREDIT#=0
Pen 6
Locate 3,1 : Print "DATE >"
Locate 3,3 : Print "DETAILS >"
Locate 3,5 : Print "REF >"
Locate 3,7 : Print "PAID-IN >"
Locate 30,7 : Print "WITHDRAWN >"
Pen 5
Locate 15,1 : Input K$
If K$="" Then K=1 Else K=0
If SET3 and K=1
Locate 15,1
Print DAT$(F)
Else
DAT$(F)=K$
End If
If DAT$(F)="" Then Goto QUITED
If Len(DAT$(F))<>6
Boom : Pen 4 : Clw : Curs Off
Locate ,4 : Centre "ILLEGAL DATE FORMAT ENTERED"
Wait 200
Goto DATER
End If
If SET3
DETAILS$(F)=DETAILS$(F)-A$(F)
End If
AG:
Locate 15,3 : Input K$
If K$="" Then K=1 Else K=0
If SET3 and K=1
Locate 15,3
Print DETAILS$(F)
Else
DETAILS$(F)=K$
End If
If Len(K$)>25
Locate 15,3 : Print Space$(30) : Curs Off
Locate 15,3 : Pen 4 : Print "NO MORE THAN 25 CHARACTERS"
Wait 200 : Pen 5 : Locate 15,3 : Print Space$(30)
Goto AG
End If
If K$="o" Then DETAILS$(F)=" Opening Balance"
Locate 15,5 : Input K$
If K$="" Then K=1 Else K=0
If SET3 and K=1
Locate 15,5
Print REF$(F)
Else
REF$(F)=K$
End If
If K$="d" Then REF$(F)="D.D."
If K$="s" Then REF$(F)="S.O."
LD=Len(DETAILS$(F)) : SP=28-LD : A$(F)=Space$(SP)+REF$(F)
DETAILS$(F)=DETAILS$(F)+A$(F)
Locate 15,7 : Input K$
If K$="" Then K=1 Else K=0
If SET3 and K=1
Locate 15,7
Print PAIDIN$(F)
Goto LABS
End If
PAIDIN$(F)=K$
If Len(PAIDIN$(F))<4
PAIDIN$(F)="0.00"
Locate 18,7 : Print PAIDIN$(F)
PAIDIN(F)=0
Else
ZZ=Len(PAIDIN$(F))
XX=8-ZZ : ZZ=5-XX
PAIDIN(F)=Val(Left$(PAIDIN$(F),ZZ)+Right$(PAIDIN$(F),2))
End If
LABS:
Locate 42,7 : Input K$
If K$="" Then K=1 Else K=0
If SET3 and K=1
Locate 42,7
Print WDRAWN$(F)
Goto LABT
End If
WDRAWN$(F)=K$
If Len(WDRAWN$(F))<4
WDRAWN$(F)="0.00"
Locate 45,7 : Print WDRAWN$(F)
WDRAWN(F)=0
Else
ZZ=Len(WDRAWN$(F))
XX=8-ZZ : ZZ=5-XX
WDRAWN(F)=Val(Left$(WDRAWN$(F),ZZ)+Right$(WDRAWN$(F),2))
End If
LABT:
Curs Off
If SET3 Then Return
Reserve Zone 2
Set Zone 1,200,9 To 439,27
Set Zone 2,95,83 To 543,186
Pen 3
Locate ,9 : Centre "Click on BANK STATEMENT if Okey!"
Pen 5
Locate ,11 : Centre "If Not Okey Click in this Window"
MC=0 : MZ=0
Repeat
MZ=Mouse Zone : MC=Mouse Click
Until MC>0 and MZ>0 and MZ<3
Reserve Zone
Gosub CLEARW
If MZ=2
F=F-1
Return
Else If MZ=1
Goto NORMAL
End If
End If
QUITED:
Clw
Locate ,4 : Centre "Okey Data Entry Aborted"
Curs Off : F=F-1 : Wait 200
Gosub CLEARW
Return
NORMAL:
DISKON=1
Gosub STATUS
Return
DISPLAY:
If F=0
OP$="DISPLAY DATA"
Gosub OPS
M$="DISPLAY"
Gosub NODATMEM
Gosub CLEARW
Return
End If
Screen Hide 1
Screen Open 2,640,500,8,Hires
Screen Display 2,,32,,
Screen Offset 2,,48
Curs Off : Cls 7 : Paper 7
ANSWER
Pen 2 : Cls : Hide
If YEANEA=1 Then Goto VERIFYIT
Screen Open 3,640,40,8,Hires
Screen Display 3,,38,,
Cls 1 : Curs Off
Pen 0 : Locate ,1
Print " L-Mouse=Scroll Up : R-Mouse=Scroll Down : L&R-Mouse=Quit"
Pen 2 : Locate ,3
Print " DATE DETAILS REF WITHDRAWN";
Print " PAID-IN BALANCE"
P=13 : Screen 2
For L=1 To F
If L<10 Then Locate 1,P : Print L
If L=>10 Then Locate ,P : Print L
Locate 5,P : Print DAT$(L)
Locate 13,P : Print DETAILS$(L)
DEBIT#=Val(WDRAWN$(L))
If L=1 or DEBIT#=0 Then Goto JUMP
Locate 57-Len(WDRAWN$(L)),P : Print WDRAWN$(L)
JUMP:
CREDIT#=Val(PAIDIN$(L))
If L=1 or CREDIT#=0 Then Goto JUMP2
Locate 67-Len(PAIDIN$(L)),P : Print PAIDIN$(L)
JUMP2:
If BALANCE(L)<0 Then Pen 4 Else Pen 5
Locate 77-Len(BALANCE$(L)),P : Print BALANCE$(L)
VERIFY#=Val(BALANCE$(L))
Pen 2 : P=P+1
Next L
Pen 2
Locate 51, : Print "--------------------------"
Locate 49, : Print Using "#####.##";TDEBIT#;
Locate 59, : Print Using "#####.##";TCREDIT#;
If MONBAL#<0 Then Pen 4 Else Pen 5
Locate 69, : Print Using "#####.##";MONBAL#
Channel 1 To Screen Display 2
P$="L R0=0 ; L R1=180 ; "
P$=P$+"D: If K2=-1 then J U else L R0=1 ; L R1=R1+1 ; J S ; "
P$=P$+"U: If K1=0 then J D else L R0=-1 ; L R1=R1-1 ; J S ; "
P$=P$+"S: L R2=K1 ; L R3=K2 ; "
P$=P$+"If R1>180 J U ; If R1<8 J D ; "
P$=P$+"If R3>R2 J Q ; M 0,R0,1 ; "
P$=P$+"J D ; Q: E ; "
Amal 1,P$
Amal On 1
Repeat
M=Mouse Key
Until M=3
Amal Off 1
Screen Close 3
If YEANEA=2 Then Goto FINISH
VERIFYIT:
Cls : Pen 6 : Locate ,8
Print " DATE DETAILS REF WITHDRAWN";
Print " PAID-IN BALANCE"
PAGE1:
If F>20 Then FP=20
If F>20 Then SP=(F-FP)+20
If F=<20 Then FP=F
P=10 : Pen 2
For L=1 To FP
Locate 2,P : Print DAT$(L)
Locate 11,P : Print DETAILS$(L)
DEBIT#=Val(WDRAWN$(L))
If L=1 or DEBIT#=0 Then Goto HOP
Locate 57-Len(WDRAWN$(L)),P : Print WDRAWN$(L)
HOP:
CREDIT#=Val(PAIDIN$(L))
If L=1 or CREDIT#=0 Then Goto HOP2
Locate 67-Len(PAIDIN$(L)),P : Print PAIDIN$(L)
HOP2:
If BALANCE(L)<0 Then Pen 4 Else Pen 5
Locate 77-Len(BALANCE$(L)),P : Print BALANCE$(L)
If F>20 Then VERIFY#=Val(BALANCE$(SP))
If F=<20 Then VERIFY#=Val(BALANCE$(L))
Pen 2 : P=P+1
Next L
If F>20
Locate 20,34 : Print "PAGE 1"
Locate 36,34 : Pen 3 : Print "Enter s to View Page 2"
End If
Goto TERMINAL
PAGE2:
P=10 : Pen 2
For L=21 To SP
Locate 2,P : Print DAT$(L)
Locate 11,P : Print DETAILS$(L)
DEBIT#=Val(WDRAWN$(L))
If DEBIT#=0 Then Goto HOP3
Locate 57-Len(WDRAWN$(L)),P : Print WDRAWN$(L)
HOP3:
CREDIT#=Val(PAIDIN$(L))
If CREDIT#=0 Then Goto HOP4
Locate 67-Len(PAIDIN$(L)),P : Print PAIDIN$(L)
HOP4:
If BALANCE(L)<0 Then Pen 4 Else Pen 5
Locate 77-Len(BALANCE$(L)),P : Print BALANCE$(L)
VERIFY#=Val(BALANCE$(L))
Pen 2 : P=P+1
Next L
Locate 20,34 : Print "PAGE 2"
Locate 36,34 : Pen 3 : Print "Enter f to View Page 1"
Goto TERMINAL
TERMINAL:
Pen 6 : Ink 6
Box 250,300 To 530,313 : Box 249,299 To 531,314
If VERIFY#>0 Then Pen 5 Else Pen 4
Locate 57,38 : Print Using "#####.##";VERIFY#;
Pen 3
Locate 11,38 : Print "Enter v when done"
Pen 2
Repeat
Locate 32,38 : Print "WITHDRAWN +";
Locate 45,38 : Input VERI$;
If(VERI$="v") or(VERI$="f") or(VERI$="s") Then Exit
ADJP#=Val(VERI$)
VERIFY#=VERIFY#+ADJP#
Locate 45,38 : Print " ";
If VERIFY#>0 Then Pen 5 Else Pen 4
Locate 57,38 : Print Using "#####.##";VERIFY#;
Pen 2
Locate 32,38 : Print "PAID-IN -";
Locate 45,38 : Input VERI$;
If(VERI$="v") or(VERI$="f") or(VERI$="s") Then Exit
ADJM#=Val(VERI$)
VERIFY#=VERIFY#-ADJM#
Locate 45,38 : Print " ";
If VERIFY#>0 Then Pen 5 Else Pen 4
Locate 57,38 : Print Using "#####.##";VERIFY#;
Pen 2
Until VERI$="v"
Locate 45,38 : Print " ";
If VERI$="v" Then Goto FINISH
Cls 7,0,80 To 640,280
If VERI$="f" Then Goto PAGE1
Cls 7,0,80 To 640,280
If VERI$="s" Then Goto PAGE2
FINISH:
Cls : Screen Close 2
Screen Show 1
Show
Return
FSAVE:
OP$="SAVE DATA" : LSD$=" TO SAVE"
Gosub OPS
Window 4 : Paper 7 : Clw : Curs Off
If F=0
M$="SAVE"
Gosub NODATMEM
Goto ABORT_S
End If
Gosub CAL
MONTH$=K$
If K$="" Then Goto ABORT_S
NM$=DISKDRIVE$+DI$+"/"+MONTH$+YEAR$
Clw : Curs Off
If NM$<>"" and F>0
Locate ,4 : Centre "SAVING..."+NM$
Open Out 2,NM$
Print #2,F
For L=1 To F
WD$(L)=Str$(WDRAWN(L))
PD$(L)=Str$(PAIDIN(L))
Print #2,WD$(L)
Print #2,PD$(L)
Print #2,DAT$(L)
Print #2,DETAILS$(L)
Print #2,A$(L)
Print #2,REF$(L)
Print #2,WDRAWN$(L)
Print #2,PAIDIN$(L)
Next L
Close 2
DISKON=0
End If
ABORT_S:
Gosub CLEARW
Gosub STATUS
Return
FLOAD:
OP$="LOAD DATA" : LSD$=" TO LOAD"
Gosub OPS
Window 4 : Paper 7 : Clw : Curs Off
AL=0
If F>0
Pen 4 : Boom
Locate ,5 : Centre "YOU ALREADY HAVE A FILE LOADED"
Wait 250 : AL=1
Goto ABORT_L
End If
If ACCOUNT$="" Then Gosub ZEROACCOUNT
If ACCOUNT$="" Then AL=1 : Goto ABORT_L
Gosub CAL
Clw : Curs Off
If K$="" Then AL=1 : Goto ABORT_L
MONTH$=K$
NM$=DISKDRIVE$+DI$+"/"+MONTH$+YEAR$
FLAG=Exist(NM$)
If FLAG=0
Pen 4 : Boom
Locate ,4 : Centre "NO FILE FOR "+MONTH$+" "+YEAR$+" ON "+DISKDRIVE$
MONTH$="" : Wait 250 : AL=1
Goto ABORT_L
End If
Locate ,4 : Centre "LOADING..."+NM$
Open In 2,NM$
Input #2,F
For L=1 To F
Input #2,WD$(L)
Input #2,PD$(L)
WDRAWN(L)=Val(WD$(L))
PAIDIN(L)=Val(PD$(L))
Input #2,DAT$(L)
Input #2,DETAILS$(L)
Input #2,A$(L)
Input #2,REF$(L)
Input #2,WDRAWN$(L)
Input #2,PAIDIN$(L)
Next L
Close 2
ABORT_L:
Gosub CLEARW
If AL=1 Then Return
Gosub STATUS
Return
WIPE:
OP$="DELETE FILE" : LSD$=" TO DELETE"
Gosub OPS
Window 4 : Paper 7 : Clw : Curs Off
If ACCOUNT$="" Then Gosub ZEROACCOUNT
If ACCOUNT$="" Then Goto GONE
Gosub CAL
Clw : Curs Off
If K$="" Then Goto GONE
Curs Off
DEL$=DISKDRIVE$+DI$+"/"+K$+YEAR$
FIND=Exist(DEL$)
If FIND=0
Clw : Pen 4 : Boom
Locate ,4 : Centre "THIS FILE DOES NOT EXIST"
Wait 200 : Clw : Pen 4 : Goto GONE
End If
Locate 9,4 : Print "ARE YOU CERTAIN (Y/N) > ";
Input KB$
If Asc(KB$)=89 or Asc(KB$)=121
Kill DEL$
Clw
If K$=MONTH$
Gosub INITVAR
End If
End If
GONE:
Gosub CLEARW
Return
NEWNAM:
OP$="RENAME"
Gosub OPS
Window 4 : Paper 7 : Clw
WHICHKEY
If WHICH=1 Then Goto DERRENAME Else If WHICH=2 Then Goto FILERENAME
Return
FILERENAME:
Gosub CLEARW
OP$="RENAME MONTH"
Gosub OPS
Window 4 : Paper 7 : Clw
If ACCOUNT$="" Then Gosub ZEROACCOUNT
If ACCOUNT$="" Then Goto NN1
Locate 18,3 : Print "ENTER OLD NAME ";
Input OLD$
Curs Off
If OLD$="" Then Goto NN1
N1$=DISKDRIVE$+DI$+"/"+OLD$+YEAR$
FIND1=Exist(N1$)
If FIND1=0
Clw : Pen 4 : Boom
Locate ,3 : Centre "THIS FILE DOES NOT EXIST"
Locate ,5 : Centre " SO CANNOT BE RENAMED "
Wait 200 : Pen 5 : Goto NN1
End If
Locate 18,5 : Print "ENTER NEW NAME ";
Input K$
If K$="" Then Goto NN1
Curs Off
N2$=DISKDRIVE$+DI$+"/"+K$+YEAR$
FIND2=Exist(N2$)
If FIND2=-1
Clw : Pen 4 : Boom
Locate ,3 : Centre "THIS FILE ALREADY EXISTS"
Locate ,5 : Centre "SO CANNOT USE THIS NAME"
Wait 200 : Pen 5 : Goto NN1
End If
Rename N1$ To N2$
If OLD$=MONTH$
MONTH$=K$
Gosub STATUS
End If
NN1:
Gosub CLEARW
Return
DERRENAME:
OP$="RENAME ACCOUNT"
Gosub OPS
Window 4 : Paper 7 : Clw : Curs Off
Locate 18,3 : Print "ENTER OLD NAME ";
Input OLD$
Curs Off
If OLD$="" Then Goto NN2
DI$=CD$+OLD$
N1$=DISKDRIVE$+DI$
FIND1=Exist(N1$)
If FIND1=0
Clw : Pen 4 : Boom
Locate ,3 : Centre "ACCOUNT DOES NOT EXIST"
Locate ,5 : Centre " SO CANNOT BE RENAMED "
Wait 200 : Pen 5 : Goto NN2
End If
MORE:
Locate 18,5 : Print "ENTER NEW NAME ";
Input K$
Curs Off
If K$="" Then Goto NN2
If Len(K$)>8
Boom : Clw : Pen 4
Locate ,4 : Centre "NAME TO LONG MAXIMUM OF EIGHT CHARACTERS"
Wait 200 : Clw : Pen 5
Goto MORE
End If
DI$=CD$+K$
N2$=DISKDRIVE$+DI$
FIND2=Exist(N2$)
If FIND2=-1
Clw : Pen 4 : Boom
Locate ,3 : Centre "ACCOUNT ALREADY EXISTS"
Locate ,5 : Centre "SO CANNOT USE THIS NAME"
Wait 200 : Pen 5 : Goto NN2
End If
Rename N1$ To N2$
If OLD$=ACCOUNT$
ACCOUNT$=K$
Gosub STATUS
End If
NN2:
Gosub CLEARW
Return
PRINIT:
OP$="PRINT-OUT"
Gosub OPS
Window 4 : Paper 7 : Clw : Curs Off
If F=0
M$="PRINT"
Gosub NODATMEM
Gosub CLEARW
Return
End If
FEATURES
Paper 7 : Clw : Pen 5
Locate ,4 : Centre "NOW PRINTING"
Open Port 2,"Par:"
If SELECT=1 Then Print #2,Chr$(27);"x0";
If SELECT=2 Then Print #2,Chr$(27);"x1";
Print #2,ACCOUNT$;" ACCOUNT"
Print #2," "
Print #2," DATE DETAILS REF WITHDRAWN";
Print #2," PAID-IN BALANCE"
Print #2," "
For L=1 To F
Print #2,Chr$(27);"D";Chr$(9);Chr$(57-Len(WDRAWN$(L)));Chr$(67-Len(PAIDIN$(L)));Chr$(77-Len(BALANCE$(L)));Chr$(0);
Print #2,DAT$(L);
Print #2,Chr$(9);DETAILS$(L);
DEBIT#=Val(WDRAWN$(L))
If L=1 or DEBIT#=0 Then Print #2,Chr$(9); : Goto JUMP3
Print #2,Chr$(9);WDRAWN$(L);
JUMP3:
CREDIT#=Val(PAIDIN$(L))
If L=1 or CREDIT#=0 Then Print #2,Chr$(9); : Goto JUMP4
Print #2,Chr$(9);PAIDIN$(L);
JUMP4:
If BALANCE(L)<0 Then BAL2$=BALANCE$(L)+"-" Else BAL2$=BALANCE$(L)
Print #2,Chr$(9);BAL2$
Next L
DE$=Str$(TDEBIT#) : CR$=Str$(TCREDIT#) : MB$=Str$(MONBAL#)
If Left$(MB$,1)="-"
MB$=MB$-(Left$(MB$,1))
MB$=MB$+"-"
End If
Print #2,Chr$(27);"D";Chr$(57-(Len(DE$)));Chr$(67-(Len(CR$)));Chr$(78-(Len(MB$)));Chr$(0);
Print #2," "
Print #2,Chr$(9);"---------------------------"
Print #2,Chr$(9);TDEBIT#;
Print #2,Chr$(9);TCREDIT#;
Print #2,Chr$(9);MB$
Close 2
If SELECT=1 Then DELAY=Int((F*1.5)*50)
If SELECT=2 Then DELAY=Int((F*4.5)*50)
Wait DELAY
Gosub CLEARW
Return
NEWDIR:
OP$="NEW ACCOUNT"
Gosub OPS
Window 4 : Paper 7 : Clw : Pen 5 : Curs Off
NUMACC=0
DD$=Dir First$(DISKDRIVE$)
While DD$<>""
If Left$(DD$,5)="*PAGE" Then NUMACC=NUMACC+1
DD$=Dir Next$
Wend
If NUMACC=6
Boom : Pen 4
Locate ,4 : Centre "THERE ARE ALREADY SIX ACCOUNTS ON "+DISKDRIVE$
Wait 200
Gosub CLEARW
Return
End If
REDO:
Locate ,2 : Centre "ENTER ACCOUNT NAME"
Locate ,4 : Centre "UPTO 8 CHARACTERS"
Locate 22,7
Input KK$
If KK$="" Then Goto REDO
If Len(KK$)>8
Boom : Clw : Pen 4 : Curs Off
Locate ,4 : Centre "TO LONG, NO MORE"
Locate ,6 : Centre "THAN 8 CHARACTERS"
Locate ,8 : Centre "TRY AGAIN PLEASE"
Wait 250 : Clw : Pen 5
Goto REDO
End If
Mkdir DISKDRIVE$+CD$+KK$
Gosub FINDDIRS
Return
FINDDIRS:
OP$="ACCOUNT NAMES"
Gosub OPS
Window 4 : R=4 : COUNT=0 : Paper 7 : Clw : Pen 5 : Curs Off
DD$=Dir First$(DISKDRIVE$)
While DD$<>""
If Left$(DD$,5)="*PAGE"
T$=DD$-(Left$(DD$,6))
Locate 23,R : Print T$
R=R+1 : COUNT=COUNT+1
End If
DD$=Dir Next$
Wend
If COUNT>0 Then Locate ,2 : Centre "ON "+DISKDRIVE$
If COUNT=0
Locate ,4 : Pen 4
Boom
Centre "NO ACCOUNT NAMES"
Locate ,6 : Centre "ON "+DISKDRIVE$
Wait 200
Gosub CLEARW
Return
End If
Wait 300
Gosub CLEARW
Return
FILES:
OP$="FILE NAMES"
Gosub OPS
CHECK=0
Window 4 : Paper 7 : Clw : ROW=4 : CL=10 : Curs Off
If ACCOUNT$="" Then Gosub ZEROACCOUNT
If ACCOUNT$="" Then Goto ALLUP
FLAG=Exist(DISKDRIVE$+DI$+"/")
If FLAG=0 Then Goto NOAVAIL
FF$=Dir First$(DISKDRIVE$+DI$+"/")
NOAVAIL:
If FF$=""
Pen 4 : Clw : Boom
Locate ,4 : Centre "NO FILES EXIST FOR "+ACCOUNT$
Locate ,6 : Centre "ACCOUNT"
Locate ,8 : Centre "ON "+DISKDRIVE$
Wait 200
Goto ALLUP
End If
While FF$<>""
If Mid$(FF$,5,4)=YEAR$
Locate ,2 : Centre "FOR "+DI$-(Left$(DI$,5))+" ACCOUNT "+YEAR$
Locate CL,ROW : Print Left$(FF$,8) : CHECK=1
End If
Inc ROW
If ROW=10
CL=37 : ROW=4
End If
FF$=Dir Next$
Wend
If CHECK=0
Boom : Pen 4 : Clw : Locate ,4
Centre "NO FILES EXIST FOR "+DI$-(Left$(DI$,5))+" ACCOUNT"
Locate ,6 : Centre "FOR "+YEAR$+" ON "+DISKDRIVE$
End If
Wait 250
ALLUP:
Gosub CLEARW
Return
QUIT:
QT=1
If DISKON=1 Then Gosub QUITORCLEAR
OP$="QUIT! QUIT!"
Gosub OPS
Window 4 : Paper 7 : Clw : Pen 5 : Curs Off
Locate 4,4 : Print "ARE YOU SURE YOU WANT TO EXIT PROGRAM Y/N ";
Input K$ : KP=Asc(K$)
Curs Off
If KP<>89 and KP<>121
Clw
Locate ,4 : Centre "OKEY RETURNING TO PROGRAM"
Wait 150
Gosub CLEARW
Return
End If
Paper 0 : Clw
For X=1 To 640
Cls 0,X-1,0 To X,256
Next X
Wind Close
Window 2 : Paper 0 : Clw : Wind Close : Curs Off
Hide : Cls 5 : X=2
For Y=4 To 26
Locate X,Y
Print "G O I N G"
Wait 4
X=X+3
Next Y
Wait 15
Cls 4 : X1=2 : Pen 5 : Paper 4
For Y1=26 To 4 Step -1
Locate X1,Y1
Print "G O I N G"
Wait 4
X1=X1+3
Next Y1
Wait 15
Cls 0 : Pen 3 : Paper 0
For Y3=4 To 26 Step 2
Locate ,Y3
Centre "G O N E"
Wait 5
Next Y3
Wait 50
Cls 7
Get Disc Fonts
Set Font 1
LIN1$="O.K." : TL1=Text Length(LIN1$)
LIN2$="BANK CLOSED" : TL2=Text Length(LIN2$)
LIN3$="PLEASE RESET" : TL3=Text Length(LIN3$)
LIN4$="OR SWITCH OFF" : TL4=Text Length(LIN4$)
Text 320-TL1/2,40,LIN1$
Text 320-TL2/2,100,LIN2$
Text 320-TL3/2,160,LIN3$
Text 320-TL4/2,220,LIN4$
Show
Do : Loop
Return
FEDIT:
OP$="EDIT DATA"
Gosub OPS
Window 4 : Paper 7 : Clw : Curs Off
If F=0
M$="EDIT"
Gosub NODATMEM
Gosub CLEARW
Return
End If
Locate 8,3 : Print "EDIT WHICH LINE > ";
Input K$
ED=Val(K$)
Clw : Curs Off
If ED<1 or ED>F Then Goto HEXIT
SET3=-1
TEMPSTORE=F
F=ED
Gosub EDENTER
SET3=0
F=TEMPSTORE : ED=0
Goto OKEY
HEXIT:
Clw : Pen 4 : Boom
Locate ,4 : Centre "THIS LINE DOES NOT EXIST"
Wait 150 : Clw : Pen 5
OKEY:
Gosub CLEARW
Gosub STATUS
Return
OPS:
Window 0
Paper 5 : Pen 4
Locate ,8 : Centre " "
Locate ,8 : Centre OP$
Return
ZEROACCOUNT:
Boom : Pen 4 : Curs Off
Locate ,4 : Centre "NO ACCOUNT SELECTED"
Wait 150 : Pen 5
Return
NODATMEM:
Window 4 : Paper 7 : Clw : Curs Off
Boom : Pen 4 : Curs Off
Locate ,4 : Centre "NO DATA IN MEMORY TO "+M$
Wait 200 : Pen 5
Return
CAL:
Reserve Zone 13
Pen 6
Locate 40,6 : Print "CLICK ON MONTH"
Locate 40,8 : Print LSD$
Locate 40,10 : Print " OR ABORT"
ZM=0 : KM=0 : K$=""
Repeat
ZM=Mouse Zone : KM=Mouse Key
If ZM<>1 Then Locate 4,1 : Pen 5 : Print Zone$(Border$(" JAN ",1),1)
If ZM=1 Then Locate 4,1 : Pen 3 : Print Zone$(Border$(" Jan ",3),1)
If ZM<>2 Then Locate 4,4 : Pen 5 : Print Zone$(Border$(" FEB ",1),2)
If ZM=2 Then Locate 4,4 : Pen 3 : Print Zone$(Border$(" Feb ",3),2)
If ZM<>3 Then Locate 4,7 : Pen 5 : Print Zone$(Border$(" MAR ",1),3)
If ZM=3 Then Locate 4,7 : Pen 3 : Print Zone$(Border$(" Mar ",3),3)
If ZM<>4 Then Locate 4,10 : Pen 5 : Print Zone$(Border$(" APR ",1),4)
If ZM=4 Then Locate 4,10 : Pen 3 : Print Zone$(Border$(" Apr ",3),4)
If ZM<>5 Then Locate 16,1 : Pen 5 : Print Zone$(Border$(" MAY ",1),5)
If ZM=5 Then Locate 16,1 : Pen 3 : Print Zone$(Border$(" May ",3),5)
If ZM<>6 Then Locate 16,4 : Pen 5 : Print Zone$(Border$(" JUN ",1),6)
If ZM=6 Then Locate 16,4 : Pen 3 : Print Zone$(Border$(" Jun ",3),6)
If ZM<>7 Then Locate 16,7 : Pen 5 : Print Zone$(Border$(" JUL ",1),7)
If ZM=7 Then Locate 16,7 : Pen 3 : Print Zone$(Border$(" Jul ",3),7)
If ZM<>8 Then Locate 16,10 : Pen 5 : Print Zone$(Border$(" AUG ",1),8)
If ZM=8 Then Locate 16,10 : Pen 3 : Print Zone$(Border$(" Aug ",3),8)
If ZM<>9 Then Locate 28,1 : Pen 5 : Print Zone$(Border$(" SEP ",1),9)
If ZM=9 Then Locate 28,1 : Pen 3 : Print Zone$(Border$(" Sep ",3),9)
If ZM<>10 Then Locate 28,4 : Pen 5 : Print Zone$(Border$(" OCT ",1),10)
If ZM=10 Then Locate 28,4 : Pen 3 : Print Zone$(Border$(" Oct ",3),10)
If ZM<>11 Then Locate 28,7 : Pen 5 : Print Zone$(Border$(" NOV ",1),11)
If ZM=11 Then Locate 28,7 : Pen 3 : Print Zone$(Border$(" Nov ",3),11)
If ZM<>12 Then Locate 28,10 : Pen 5 : Print Zone$(Border$(" DEC ",1),12)
If ZM=12 Then Locate 28,10 : Pen 3 : Print Zone$(Border$(" Dec ",3),12)
If ZM<>13
Locate 42,2 : Pen 4
Print Zone$(Border$(" ABORT ",2),13)
Pen 5
End If
If ZM=13
Locate 42,2 : Pen 4 : Inverse On
Print Zone$(Border$(" ABORT ",4),13)
Pen 5 : Inverse Off
End If
Until KM=1 and ZM>0
Reserve Zone
If ZM=1 Then K$="Jan"
If ZM=2 Then K$="Feb"
If ZM=3 Then K$="Mar"
If ZM=4 Then K$="Apr"
If ZM=5 Then K$="May"
If ZM=6 Then K$="Jun"
If ZM=7 Then K$="Jul"
If ZM=8 Then K$="Aug"
If ZM=9 Then K$="Sep"
If ZM=10 Then K$="Oct"
If ZM=11 Then K$="Nov"
If ZM=12 Then K$="Dec"
If ZM=13 Then K$=""
Return
INFORM:
Screen Hide 1
Screen Open 2,640,256,8,Hires
Hide
AGAIN:
Home : Curs Off : Paper 7 : Cls : Pen 5 : CN=0 : KM=0
Locate ,4 : Centre "MENU OF DOCUMENTATION"
Locate 24,8 : Print "1 Gadgets A - D"
Locate 24,10 : Print "2 Gadgets D - E"
Locate 24,12 : Print "3 Gadgets F - R"
Locate 24,14 : Print "4 Gadgets S - Y"
Locate 24,16 : Print "4 Esc Key"
Locate 24,18 : Print "4 Status Window"
Locate 24,20 : Print "5 QUIT Documentation"
Locate 30,26 : Input "Enter Choice Number ";CN
On CN Gosub A_D,D_E,F_R,S_Y,KAPUT
If CN=5 Then Return
Goto AGAIN
KAPUT:
Cls
Screen Close 2
Screen Show 1
Show
Return
A_D:
Cls : Curs Off
Locate 2,1 : Under On : Pen 6 : Print "ACCOUNT" : Under Off : Pen 5 : Locate 6,2
Print "Allows you to select the name of the Account you want to deal with."
Locate 6,3
Print "Point either to the Account Name you want, or Abort, and click the left"
Locate 6,4
Print "mouse button. Select an Account before entering/loading/saving data."
Locate 2,6 : Under On : Pen 6 : Print "ACCOUNT NAMES" : Under Off : Pen 5 : Locate 6,7
Print "Lists the Account Names on your selected drive."
Locate 2,9 : Under On : Pen 6 : Print "DELETE" : Under Off : Pen 5 : Locate 6,10
Print "Deletes a month from your selected disk, account and year."
Locate 6,11
Print "Point either to the month you want to delete, or Abort, and click"
Locate 6,12
Print "the left mouse button."
Locate 2,14 : Under On : Pen 6 : Print "DISPLAY" : Under Off : Pen 5 : Locate 6,15
Print "Takes you to a selection screen, selecting NO displays your data on "
Locate 6,16
Print "screen, pressing the left mouse button scrolls the data upwards while"
Locate 6,17
Print "pressing the right mouse button scrolls it back down, pressing both"
Locate 6,18
Print "mouse buttons together aborts the display mode. The figures under the"
Locate 6,19
Print "line at the bottom are your total receipts and payments for the month"
Locate 6,20
Print "followed by the balance between the two."
Locate 6,21
Print "Selecting YES on the selection screen again displays your data but here"
Locate 6,22
Print "you are able to try and verify your balance with that of the statement"
Locate 6,23
Print "received from your bank. To do this just enter the amounts that have not"
Locate 6,24
Print "yet come through on your statement."
Locate 6,25
Print "If you have more than twenty entries in a month you will have two pages"
Locate 6,26
Print "of data, enter either < f > or < s > as requested to swap pages."
Locate 6,27
Print "Enter < v > to abort this screen."
Gosub RODENT
Return
D_E:
Cls : Curs Off
Locate 2,1 : Under On : Pen 6 : Print "DOCS" : Under Off : Pen 5 : Locate 6,2
Print "Brings up the Menu screen for this documentation."
Locate 2,4 : Under On : Pen 6 : Print "DRIVE" : Under Off : Pen 5 : Locate 6,5
Print "Allows you to select which drive you want to save to and load from."
Locate 6,6
Print "Default is df0:, to change this click on the required Drive number."
Locate 2,8 : Under On : Pen 6 : Print "EDIT" : Under Off : Pen 5 : Locate 6,9
Print "Enter the Number of the Line you wish to edit, the line Numbers are"
Locate 6,10
Print "shown on the Display Screen down the left-hand side."
Locate 6,11
Print "To edit the line just enter the new data for which ever item you are"
Locate 6,12
Print "changing and press return, for items that do not require to be altered"
Locate 6,13
Print "just press return."
Locate 2,15 : Under On : Pen 6 : Print "ENTER" : Under Off : Pen 5 : Locate 6,16
Print "To enter your Data. First enter the date, by using the first three"
Locate 6,17
Print "letters of the month followed by a space then two digits, include"
Locate 6,18
Print "a leading zero if the date is between the 1st and 9th < Jun 04 >."
Locate 6,19
Print "Pressing Return here without entering the date aborts data entry."
Locate 6,20
Print "Next enter details of your transaction, maximum of 25 characters."
Locate 6,21
Print "Enter < o > for the opening balance at start of month."
Locate 6,22
Print "Next as reference, enter either your cheque number, < d > if a"
Locate 6,23
Print "Direct Debit, < s > if a Standing Order, or leave blank."
Locate 6,24
Print "Lastly enter the amount under Paid-in or Withdrawn. Include a zero"
Locate 6,25
Print "before the decimal point if only entering pence < 0.85 >, also if"
Locate 6,26
Print "entering only pounds include the two zeros after the point."
Locate 6,27
Print "Now if all your entries are okey click the Left Mouse Button on"
Locate 6,28
Print "BANK STATEMENT, if not click in this Window and try again."
Locate 6,29
Print "You are allowed up to 40 entries per month."
Gosub RODENT
Return
F_R:
Cls : Curs Off
Locate 2,1 : Under On : Pen 6 : Print "FILES" : Under Off : Pen 5 : Locate 6,2
Print "This lists the file names (Months) that are available on your selected"
Locate 6,3
Print "drive, for whatever Account you have selected."
Locate 2,5 : Under On : Pen 6 : Print "LOAD" : Under Off : Pen 5 : Locate 6,6
Print "Loads data from your selected disk, account and year. Point either to"
Locate 6,7
Print "the month you want to load, or abort, and click the left mouse button."
Locate 2,9 : Under On : Pen 6 : Print "NEW ACCOUNT" : Under Off : Pen 5 : Locate 6,10
Print "Enter the name of your account, up to 8 characters."
Locate 6,11
Print "You are allowed a maximum of six Accounts on a disk."
Locate 2,13 : Under On : Pen 6 : Print "PRINT" : Under Off : Pen 5 : Locate 6,14
Print "Hi-Light either Draft or NLQ by moving the pointer onto it, then click"
Locate 6,15
Print "on the OK box for a Print-Out."
Locate 2,17 : Under On : Pen 6 : Print "QUIT" : Under Off : Pen 5 : Locate 6,18
Print "Quits the program after asking if this what you want to do."
Locate 2,20 : Under On : Pen 6 : Print "RENAME" : Under Off : Pen 5 : Locate 6,21
Print "This allows you to Rename either an Account or a Month."
Locate 6,22
Print "Hi-Light which option you want to Rename by moving the pointer"
Locate 6,23
Print "onto it, then click on OK. Then enter the old (present) name followed"
Locate 6,24
Print "by the new name as requested. When changing the name of a month you"
Locate 6,25
Print "will have to have selected a valid Account name and Year."
Gosub RODENT
Return
S_Y:
Cls : Curs Off
Locate 2,1 : Under On : Pen 6 : Print "SAVE" : Under Off : Pen 5 : Locate 6,2
Print "Saves data to your selected disk, account and year. Point either to"
Locate 6,3
Print "month you want to save, or abort, and click the left mouse button."
Locate 2,5 : Under On : Pen 6 : Print "YEAR" : Under Off : Pen 5 : Locate 6,6
Print "Alows you to change the year when you have more than one years monthly"
Locate 6,7
Print "statements. Just enter the year as four digits. Default is 1991."
Locate 2,9 : Under On : Pen 6 : Print "Esc KEY" : Under Off : Pen 5 : Locate 6,10
Print "Clears the current data out of memory, but first you are given a chance"
Locate 6,11
Print "to save it, in case you forgot."
Locate 2,14 : Under On : Pen 6 : Print "STATUS WINDOW"
Locate 6,16 : Under Off : Pen 5
Print "This shows from Left to Right:-"
Locate 41,16 : Print "Month & Year"
Locate 41,18 : Print "Account Name"
Locate 41,20 : Print "Your Latest Balance"
Locate 41,22 : Print "The Number of Records (Lines)"
Locate 41,24 : Print "Current Disk Drive"
Locate 41,26 : Print "Monthly Receipts & Payments Balance"
Gosub RODENT
Return
RODENT:
Locate ,31 : Pen 3 : Centre "Click Left Mouse Button to Return to Menu"
While KM=0 : KM=Mouse Key : Wend
Pen 5
Return
QUITORCLEAR:
If QT=1 Then L3$="BEFORE QUITING" Else L3$="BEFORE CLEARING MEMORY"
If F>0
OP$="DATA NOT SAVED"
Gosub OPS
Window 4 : Paper 7 : Clw : Pen 4 : Curs Off : Boom
Locate ,2 : Centre "DATA HAS NOT BEEN SAVED"
Locate ,4 : Centre "DO YOU WANT TO SAVE IT"
Locate ,6 : Centre L3$
Locate 21,8 : Print " Y or N "; : Input YN$
Paper 0 : Clw : Pen 5 : QT=0
End If
If YN$="y" Then Gosub FSAVE
OP$=""
Gosub OPS
Return
Procedure FEATURES
Shared SELECT
QQ=0 : Curs Off
Reserve Zone 3
Pen 4 : Locate 10,5
Print Zone$(Border$("DRAFT",4),1)
Locate 41,5
Print Zone$(Border$(" NLQ ",4),2)
Locate ,7
Centre Zone$(Border$(" O.K ",6),3)
DUMMY=1
GOJO:
QQ=Mouse Zone : KK=Mouse Key
If QQ=1 or DUMMY=1
Locate 10,5 : Pen 5
Inverse On
Print Zone$(Border$("DRAFT",4),1)
Locate 41,5 : Pen 4
Inverse Off
Print Zone$(Border$(" NLQ ",4),2)
SELECT=1
Else If QQ=2
Locate 10,5 : Pen 4
Inverse Off
Print Zone$(Border$("DRAFT",4),1)
Locate 41,5 : Pen 5
Inverse On
Print Zone$(Border$(" NLQ ",4),2)
SELECT=2
End If
End If
If QQ=3 and KK=1 and INV=0
Locate ,7 : Pen 4
Inverse Off
Centre Zone$(Border$(" O.K ",6),3)
INV=1 : GOTIT=0
Else If QQ=3 and KK=1 and INV=1
Locate ,7 : Pen 5
Inverse On
Centre Zone$(Border$(" O.K ",6),3)
INV=0 : GOTIT=1
Wait 25
End If
End If
DUMMY=0
If GOTIT=0 Then Goto GOJO
Paper 0 : Clw
Reserve Zone
End Proc
Procedure WHICHKEY
Shared WHICH
Q=0 : Curs Off
Reserve Zone 3
Pen 4 : Locate 5,5
Print Zone$(Border$("RENAME ACCOUNT",4),1)
Locate 37,5
Print Zone$(Border$(" RENAME MONTH ",4),2)
Locate ,7
Centre Zone$(Border$(" O K ",6),3)
JOGO:
QQ=Mouse Zone : KK=Mouse Key
If QQ=1
Locate 5,5 : Pen 5
Inverse On
Print Zone$(Border$("RENAME ACCOUNT",4),1)
Locate 37,5 : Pen 4
Inverse Off
Print Zone$(Border$(" RENAME MONTH ",4),2)
WHICH=1
Else If QQ=2
Locate 5,5 : Pen 4
Inverse Off
Print Zone$(Border$("RENAME ACCOUNT",4),1)
Locate 37,5 : Pen 5
Inverse On
Print Zone$(Border$(" RENAME MONTH ",4),2)
WHICH=2
End If
End If
If QQ=3 and KK=1 and INV=0
Locate ,7 : Pen 4
Inverse Off
Centre Zone$(Border$(" O K ",6),3)
INV=1 : GOTIT=0
Else If QQ=3 and KK=1 and INV=1
Locate ,7 : Pen 5
Inverse On
Centre Zone$(Border$(" O K ",6),3)
INV=0 : GOTIT=1
Wait 25
End If
End If
If GOTIT=0 Then Goto JOGO
Paper 0 : Clw
Reserve Zone
End Proc
Procedure ANSWER
Shared YEANEA
Curs Off
Locate ,37 : Pen 3 : Centre "Click Left Mouse Button on YES or NO"
Reserve Zone 3
Pen 4 : Locate ,16
Centre Zone$(Border$(" Y E S ",3),1)
Locate ,22 : Pen 5 : Inverse On
Centre Zone$(Border$(" DO YOU WANT TO VERIFY WITH BANK STATEMENT ",4),3)
Locate ,28 : Pen 4 : Inverse Off
Centre Zone$(Border$(" N O ",3),2)
JODI:
QQ=Mouse Zone : KK=Mouse Key
If QQ=1
Locate ,16 : Pen 5
Inverse On
Centre Zone$(Border$(" Y E S ",3),1)
Locate ,28 : Pen 4
Inverse Off
Centre Zone$(Border$(" N O ",3),2)
YEANEA=1
Else If QQ=2
Locate ,16 : Pen 4
Inverse Off
Centre Zone$(Border$(" Y E S ",3),1)
Locate ,28 : Pen 5
Inverse On
Centre Zone$(Border$(" N O ",3),2)
YEANEA=2
End If
End If
If KK>0 and QQ<>1 and QQ<>2 Then Goto JODI
If KK=0 Then Goto JODI
Wait 8
Reserve Zone
End Proc
Procedure _SMALL_COPYRIGHT[YDISPLAY]
'
Auto View Off
'
Screen Open 7,320,24,16,0 : Curs Off : Flash Off : Cls 0
Screen Display 7,,-100,,
Paste Bob 260,3,1
Paper 0 : Pen 7 : Print At(1,1);"This program was written using"
Get Sprite Palette
View : Wait Vbl
'
For Y=1 To Screen Height/2
Screen Display 7,,YDISPLAY+Screen Height/2-Y,,Y*2
Screen Offset 7,,Screen Height/2-Y
View : Wait Vbl
Next
'
Wait 250
'
For Y=Screen Height/2 To 0 Step -1
Screen Display 7,,YDISPLAY+Screen Height/2-Y,,Y*2
Screen Offset 7,,Screen Height/2-Y
View : Wait Vbl
Next
'
Screen Close 7
Auto View On
'
End Proc