Home » Archimedes archive » Archimedes World » AW-1994-07-Disc1.adf » Disk1Jul94 » !AWJuly94/Goodies/BankSystem/!BankSys/!RunImage
!AWJuly94/Goodies/BankSystem/!BankSys/!RunImage
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
| Tape/disk: | Home » Archimedes archive » Archimedes World » AW-1994-07-Disc1.adf » Disk1Jul94 |
| Filename: | !AWJuly94/Goodies/BankSystem/!BankSys/!RunImage |
| Read OK: | ✔ |
| File size: | EB45 bytes |
| Load address: | 0000 |
| Exec address: | 0000 |
File contents
D��< ��40�� � �Q��Z �� �BASIC -Quit @00009000,00017AF8 ��z Hk ��
� Bank System
)� Application Written By Ricky Dawson
:
(.� � ș "Hourglass_Smash":�pre_poll_error:�
2:
<xdragasprite_stop%=&62401
F+ș "OS_ReadModeVariable",-1,5 � ,,yeig%
P7� yeig%<2 � sprite$="Sprites22" � sprite$="Sprites"
ZAver$="1.35 (2 May 1994)":copyright$="��Archimedes World 1994"
dFș "OS_File",17,"<Bank$Dir>.Resources."+sprite$ � type%,,,,length%
n� sprite% length%+4
x!sprite%=length%+4
�@ș "OS_SpriteOp",266,sprite%,"<Bank$Dir>.Resources."+sprite$
�� but_ok% 32,but_okquit% 32
�$but_ok%="OK"+�0+�0+�0+�0
�($but_okquit%="OK"+�0+�0+�0+"Quit"+�0
�Z� q% &3000,indir% 7168,temp% 7168,pointer_info% 128,block% 255,oldblock% 255,inq% 1024
�}inq%!0=0:inq%!4=1:inq%!8=2:inq%!12=3:inq%!16=5:inq%!20=10:inq%!24=14:inq%!28=&502:inq%!32=&400C2:inq%!26=&400CC:inq%!40=0
�Iș "Wimp_Initialise",300,&4B534154,"Bank System",inq% � Version,task%
�7ș "WimpExt_Initialise",7,task%,%0100000011,sprite%
��load_options
!q%=0:q%!4=0:q%!8=0:q%!12=0:q%!16=0:q%!20=0:q%!24=0:q%!28=0:q%!32=0:q%!36=0:q%!40=0:q%!44=0:q%!48=0:q%!52=0:q%!56=0:q%!60=0:q%!64=0:q%!68=0
�Ȏ outlinefonts% �
�� 0
�jș "WimpExt_LoadTemplates",q%,q%+68,indir%,indir%+7168,fontb%,"<Bank$Dir>.Resources.Templates",sprite%
+infobox%=!q%:pwbox%=q%!4:standing%=q%!8
3debit%=q%!12:options%=q%!16:file_savebox%=q%!20
:option_back%=q%!24:announce%=q%!28:text_savebox%=q%!32
"1query%=q%!36:credit%=q%!40:searchfound%=q%!44
,/scrolly%=q%!48:printbox%=q%!52:amend%=q%!56
62fileinfo%=q%!60:main_back%=q%!64:search%=q%!68
@� 1
Jfș "WimpExt_LoadTemplates",q%,q%+68,indir%,indir%+7168,fontb%,"<Bank$Dir>.Resources.Fonts",sprite%
T(infobox%=!q%:pwbox%=q%!4:amend%=q%!8
^3standing%=q%!12:debit%=q%!16:option_back%=q%!20
h4announce%=q%!24:text_savebox%=q%!28:query%=q%!32
r5main_back%=q%!36:credit%=q%!40:searchfound%=q%!44
|1scrolly%=q%!48:options%=q%!52:printbox%=q%!56
�5fileinfo%=q%!60:file_savebox%=q%!64:search%=q%!68
��
�2ș "WimpExt_LinkWindows",,,main_back%,scrolly%
�4ș "WimpExt_LinkWindows",,,option_back%,options%
�<� auto_load$="Yes" � ș "WimpExt_SetIcon",,,options%,8,1
�;� password$="Yes" � ș "WimpExt_SetIcon",,,options%,9,1
�e� hyper_help$="Yes" � ș "WimpExt_SetIcon",,,options%,14,1 � ș "WimpExt_SetIcon",,,options%,14,0
�d� hyper_help$="Long" � ș "WimpExt_SetIcon",,,options%,15,1:ș "WimpExt_SetIcon",,,options%,16,0
�e� hyper_help$="Short" � ș "WimpExt_SetIcon",,,options%,15,0:ș "WimpExt_SetIcon",,,options%,16,1
�|�update_icon(options%,7,auto_load_file$):�update_icon(options%,12,password_one$):�update_icon(options%,13,password_one$)
�b� hotkeys$="Yes" � ș "WimpExt_SetIcon",,,options%,17,1 � ș "WimpExt_SetIcon",,,options%,17,0
�
�announce
��file_double_click
� � �error
ȕ � quit%
"ș "XWimpExt_SlabIcon",,,0,0,0
&ș "WimpExt_PrePoll"
0 ș "Wimp_Poll",,q% � reason%
:2ș "WimpExt_Action",task%,q%,reason% � reason%
DȎ reason% �
N7� 0:�check_shaded:� hyper_help$="Yes" � �hyper_help
X� 1:Ȏ !q% �
b� scrolly%:�redraw
l!:ș "WimpExt_AutoRedraw",,q%
v�
�#� 2:ș "WimpExt_OpenLinked",,q%
�� 3:�close(!q%)
�)� 6:�mouse(!q%,q%!4,q%!8,q%!12,q%!16)
�� 7:Ȏ savetype$ �
�i� "E98":ș xdragasprite_stop%:ș "WimpExt_GetIcon",,,file_savebox%,1 � ,,,file$:�initiate_save(file$)
�i� "FFF":ș xdragasprite_stop%:ș "WimpExt_GetIcon",,,text_savebox%,1 � ,,,file$:�initiate_save(file$)
��
�*� 8:�key_pressed(!q%,q%!4,q%!20,q%!24)
�� 9:�decode_menu
�+� 17,18:�messages:�check_printer_driver
��
��
�ș xdragasprite_stop%
ș "XWimpExt_SetPointer",0
ș "XWimpExt_ReleasePointer"
!ș "XWimpExt_CloseDown",task%
ș "XWimp_CloseDown"
*�
4:
>��messages
HȎ q%!16 �
R� 0:quit%=�
\� 2:�datasave
f� 3,5:Ȏ options_open% �
p� �:� q%!12=0 �
z7� q%!40=&E98 � �load_acknowledge:�ok_to_load("E98")
�7� q%!40=&406 � �load_acknowledge:�ok_to_load("406")
��
�P� �:� q%!12=0 � (q%!40=&E98 � q%!40=&406) � �load_acknowledge:�get_path_name
��
�� 4:�load_acknowledge
�� 10:�desktop_save
�� 14:�low_power_warning
�� &502:�help(�help_text)
�C� &400C2:� �string(q%+28)="Bank System" � q%!4<>task% � quit%=�
�� &400CC:�iconize
��
��
�:
��iconize
�get_pinboard_name
#q%!0=48:q%!12=q%!8:q%!16=&400CC
$&$(q%+28)="bank":$(q%+36)=pinboard$
.$ș "Wimp_SendMessage",17,q%,q%!4
8�
B:
L��get_pinboard_name
V(pinboard$=�indirect(file_savebox%,1)
`ȕ �pinboard$,".")<>0
jlength%=�pinboard$
t#pinboard$=�pinboard$,length%-1)
~�
��
�:
���desktop_save
�$block%="Bank$Dir"+�0
�7ș "OS_ReadVarVal",block%,oldblock%,255,0,0 �,,len%
�oldblock%?len%=13
�save$="Run "+$oldblock%
��#(q%!20),save$
��
�:
���get_path_name
�#filename$="":a%=0:b%=q%?(44+a%)
3ȕ b%<>0:filename$+=�(b%):a%+=1:b%=q%?(44+a%):�
&�update_icon(options%,7,filename$)
�
:
(��makemenu
2ș "Hourglass_On"
<� menufree% &2000
F8curws%=temp%:maxws%=temp%+&1000:menustart%=menufree%
P1menuend%=menufree%+&1000:menufree%=menustart%
Z�long_menus
dș "Hourglass_Off"
n�
x:
���long_menus
�0� loop%=menustart% � menuend% � 4:!loop%=0:�
�Niconmenu%=�create_menu("#Bank System,Info>infobox%,Options...,Quit","","")
��monthmenu%=�create_menu("#Month,January,February,March,April,May,June,July,August,September,October,November,December","","")
��year_menu
�asavemenu%=�create_menu("#Save,Bank Data F3>file_savebox%,Text �F3>text_savebox%","","")
��actionmenu%=�create_menu("#Action,Credit F1,Debit F2,Standing Order F5#,Amend F6,Delete F7","","")
�]filemenu%=�create_menu("#File,Info>fileinfo%,Print F0>printbox%,Save>savemenu%","","")
��long_main_menu
��
�:
���short_menus
�0� loop%=menustart% � menuend% � 4:!loop%=0:�
Niconmenu%=�create_menu("#Bank System,Info>infobox%,Options...,Quit","","")
�monthmenu%=�create_menu("#Month,January,February,March,April,May,June,July,August,September,October,November,December","","")
�year_menu
"Tsavemenu%=�create_menu("#Save,Bank Data>file_savebox%,Text>text_savebox%","","")
,Wactionmenu%=�create_menu("#Action,Credit,Debit,Standing Order#,Amend,Delete","","")
6Wfilemenu%=�create_menu("#File,Info>fileinfo%,Print>printbox%,Save>savemenu%","","")
@�short_main_menu
J�
T:
^��year_menu
hoyearmenu%=�create_menu("#Year,"+�(year%)+","+�(year%+1)+","+�(year%+2)+","+�(year%+3)+","+�(year%+4),"","")
rSstatementmenu%=�create_menu("#Statement,Month>monthmenu%,Year>yearmenu%","","")
|�
�:
���long_main_menu
��mainmenu%=�create_menu("#Bank System,Info>infobox%,Options...,Quit#,File>filemenu%,Search F4>search%,Statement>statementmenu%,Action>actionmenu%,Restart F8","","")
��
�:
���short_main_menu
¡mainmenu%=�create_menu("#Bank System,Info>infobox%,Options...,Quit#,File>filemenu%,Search>search%,Statement>statementmenu%,Action>actionmenu%,Restart","","")
��
�:
�&ݤcreate_menu(menu$,menu2$,menu3$)
�2� menufree%+28>menuend% � � 1,"Menu Area Full"
�� m%,r%
�menuptr%=menufree%
r%=0
?� �menu$,1)="#" � r%=1:menutitle$=�par(",") � menutitle$=""
� �menutitle$,1)="{" �
&boticon%=9
0+menutitle$=�menutitle$,�(menutitle$)-1)
:�
Dboticon%=1
N�
X$menuptr%=menutitle$
b;menuptr%?12=7:menuptr%?13=2:menuptr%?14=7:menuptr%?15=0
l3menuptr%!16=196-24:menuptr%!20=44:menuptr%!24=0
v$menuptr%+=28:maxx%=�menutitle$-2
��
�item$=�par(",")
�� item$="++" �
�r%=0
�menu$=menu2$
��
�� item$="+++" �
�r%=0
�menu%=menu3$
��
��menu_item(item$)
��
��
� item$=""
� maxx%>20 � maxx%=20
$m%=menufree%:m%!16=(maxx%*8+6)*2
menufree%=menuptr%
*=m%
4:
>��menu_item(text$)
H3� text$="" � menuptr%!-24=(menuptr%!-24)� &80:�
R2� menuptr%+24 >menuend% � � 1,"Menu Area Full"
\� r%,flag%,V%
f
flag%=&00
pr%=�text$,">")
z� r%>0 �
�subptr%=��text$,r%+1)
�text$=�text$,r%-1)
��
�rr%=�text$,"}")
�
� rr%>0 �
�subptr%=��text$,rr%+1)
�text$=�text,rr%-1)
�flag%+=&08
��
�subptr%=-1
��
��
�7� �text$,1)="#" � text$=�text$,�text$-1):flag%+=&02
7� �text$,1)="\" � text$=�text$,�text$-1):flag%+=&01
rrr%=�text$,"|")
rrrr%=�text$,"�")
$� rrr%=0 � rrrr%=0 �
.mfg%=0<<28:mbg%=7<<24
8�
B
Ȏ rrr% �
L� 0:mfg%=0 <<28
V
`'mfg%=(�(�text$,rrr%+1,2)) � 16)<<28
j'text$=�text$,rrr%-1)+�text$,rrr%+3)
t�
~rrrr%=�text$,"�")
�Ȏ rrrr% �
�� 0:mbg%=7<<24
�
�(mbg%=(�(�text$,rrrr%+1,2)) � 16)<<24
�)text$=�text$,rrrr%-1)+�text$,rrrr%+3)
��
��
�menuptr%!0=flag%
�menuptr%!4=subptr%
�%menuptr%!8=mfg%+mbg%+&20+boticon%
�L� �text$,1)="/" � text$=�text$,�text$-1):menuptr%!8=(menuptr%!8 � 1<<22)
�� �text$,1)="$" �
!menuptr%+=&04
menuptr%!+=&108
r%=�text$,"(")
7� r%>0 � L%=��text$,r%+1):text$=�text$,r%-1)� L%=12
( V%=-1
2menuptr%!12=��text$,2)
<menuptr%!16=-1
Fmenuptr%!20=L%
Ptext$=�L%," ")
Z�
d� �text$<=12 �
n$(menuptr%+12)=text$
x�
�%R%=�workspace(�text$+1):$R%=text$
�6menuptr%!12=R%:menuptr%!16=-1:menuptr%!20=�text$+1
� menuptr%!8=menuptr%!8 � &100
��
��
�!� �text$>maxx% � maxx%=�text$
�menuptr%+=24
��
�:
�ݤpar(sep$)
�%r1%=r%+1:r%=�menu$+sep$,sep$,r1%)
�=�menu$,r1%,r%-r1%)
�:
ݤworkspace(L%)
3� curws%+L%>maxws% � � 1,"No More Buffer Space"
curws%+=L%:=curws%-L%
":
,��error
6� 3
@� error%=2 � �
J,� error%=1 � error%=2:�error2:error%=0:�
Terror%=1
^hș "WimpExt_ControlImmediate",,2,"Error From Bank System",�$+" (@ "+�(�)+")",but_okquit%,0 � button%
herror%=0
r� button%<>3 � �
|�
�:
���error2
�� A$
� A$=�$:� �A$,1)="." � A$=�A$)
�6!q%=�:$(q%+4)=A$+". Click CANCEL to quit program."
�Oș "Wimp_ReportError",q%,%10011,"Serious Error From Bank System" � ,button%
�� button%<>2 � �
��
�:
�2��mouse(mousex%,mousey%,button%,window%,icon%)
�Ȏ window% �
� � -2:
�Ȏ button% �
� 1,4:�open(main_back%)
`� 2:�close_all:ș "WimpExt_CreateMenu",,iconmenu%,mousex%-64,96+(3*44):selectmenu%=iconmenu%
�
&� option_back%
0� button%=4 � Ȏ icon% �
:� 1:�close(option_back%)
D1� hotkeys$="Yes" � �long_menus � �short_menus
Noptions_open%=�
X� main_open%=1 �
b�open(main_back%)
l:already%=-1:select%=-1:old_shaded%=�:shaded%=�:�redraw
v�
�*� 2:�save_options:�close(option_back%)
�1� hotkeys$="Yes" � �long_menus � �short_menus
�options_open%=�
�� main_open%=1 �
��open(main_back%)
�:already%=-1:select%=-1:old_shaded%=�:shaded%=�:�redraw
��
�-� 3:�set_defaults:�restore_options_window
��
�� button%=1 � Ȏ icon% �
�5� 1:� hotkeys$="Yes" � �long_menus � �short_menus
�options_open%=�
�� main_open%=1 �
:already%=-1:select%=-1:old_shaded%=�:shaded%=�:�redraw
�
� 2:�save_options
1� hotkeys$="Yes" � �long_menus � �short_menus
*options_open%=�
4� main_open%=1 �
>:already%=-1:select%=-1:old_shaded%=�:shaded%=�:�redraw
H�
R� 3:�set_defaults
\�
f� options%
p#� (button% � 5)<>0 � Ȏ icon% �
z?� 8:� auto_load$="Yes" � auto_load$="No" � auto_load$="Yes"
�<� 9:� password$="Yes" � password$="No" � password$="Yes"
�C� 14:� hyper_help$="Yes" � hyper_help$="No" � hyper_help$="Yes"
�� 15:hyper_type$="Long"
�� 16:hyper_type$="Short"
�:� 17:� hotkeys$="Yes" � hotkeys$="No" � hotkeys$="Yes"
�� 20:outlinefonts%=1
�� 21:outlinefonts%=0
�� 24:brackets%=�:red%=�
�� 25:brackets%=�:red%=�
�� 26:brackets%=�:red%=�
��
�� file_savebox%
�#� (button% � 5)<>0 � Ȏ icon% �
[� 0:savetype$="E98":ș "WimpExt_DragIcon",%100000101,sprite%,file_savebox%,0,"file_e98"
"� 2:savetype$="E98":�quicksave
�
$� text_savebox%
.#� (button% � 5)<>0 � Ȏ icon% �
8[� 0:savetype$="FFF":ș "WimpExt_DragIcon",%100000101,sprite%,text_savebox%,0,"file_fff"
B"� 2:savetype$="FFF":�quicksave
L�
V� scrolly%
`Ȏ button% �
j4� 1,4:ș "Wimp_GetPointerInfo",,q%:�select(q%!4)
ta� 2:�close_all:ș "WimpExt_CreateMenu",,mainmenu%,mousex%-48,mousey%+10:selectmenu%=mainmenu%
~�
�
� credit%
�Ȏ button% �
�� 4
�Ȏ icon% �
�#� 0:�new_date(-1,credit%,day2%)
�"� 1:�new_date(1,credit%,day2%)
�+� 12:�check(day2%,1,credit%,B%):�redraw
�� 13:�close(credit%)
��
�� 1
�Ȏ icon% �
�"� 0:�new_date(1,credit%,day2%)
#� 1:�new_date(-1,credit%,day2%)
+� 12:�check(day2%,1,credit%,B%):�redraw
� 13:�close(credit%)
�
(�
2� debit%
<Ȏ button% �
F� 4
PȎ icon% �
Z"� 0:�new_date(-1,debit%,day1%)
d!� 1:�new_date(1,debit%,day1%)
n+� 12:�check(day1%,-1,debit%,B%):�redraw
x� 13:�close(debit%)
��
�� 1
�Ȏ icon% �
�!� 0:�new_date(1,debit%,day1%)
�"� 1:�new_date(-1,debit%,day1%)
�+� 12:�check(day1%,-1,debit%,B%):�redraw
�� 13:�close(debit%)
��
��
�� amend%
�Ȏ button% �
�� 4
�Ȏ icon% �
"� 0:�new_date(-1,amend%,day4%)
!� 1:�new_date(1,amend%,day4%)
-� 12:�check(day4%,sign%,amend%,4):�redraw
"� 13:�close(amend%)
,�
6� 1
@Ȏ icon% �
J!� 0:�new_date(1,amend%,day4%)
T"� 1:�new_date(-1,amend%,day4%)
^-� 12:�check(day4%,sign%,amend%,4):�redraw
h� 13:�close(amend%)
r�
|�
�
� search%
�#� (button% � 5)<>0 � Ȏ icon% �
�2� 4:�close(search%):�update_icon(search%,2,"")
�� 5:�go_search
�� 6:�previous
��
�� searchfound%
�#� (button% � 5)<>0 � Ȏ icon% �
�t:� selectfound%(icon%)<>-1 � month%=selectfound%(icon%):yearplus%=month% � 12:�update_time:�close(searchfound%)
��
�� standing%
�Ȏ button% �
�� 4
Ȏ icon% �
%� 0:�new_date(-1,standing%,day3%)
$� 1:�new_date(1,standing%,day3%)
&4� 12:�check_standing(day3%,standing%,B%):�redraw
0� 13:�close(standing%)
:� 17:stand_sign%=1
D� 18:stand_sign%=-1
N� 21:stand_freq%=1
X� 22:stand_freq%=2
b� 23:stand_freq%=3
l� 24:stand_freq%=6
v� 25:stand_freq%=12
��
�� 1
�Ȏ icon% �
�$� 0:�new_date(1,standing%,day3%)
�%� 1:�new_date(-1,standing%,day3%)
�4� 12:�check_standing(day3%,standing%,B%):�redraw
�� 13:�close(standing%)
�� 17:stand_sign%=1
�� 18:stand_sign%=-1
�� 21:stand_freq%=1
�� 22:stand_freq%=2
�� 23:stand_freq%=3
�� 24:stand_freq%=6
� 25:stand_freq%=12
�
�
� query%
*#� (button% � 5)<>0 � Ȏ icon% �
4� 2
>Ȏ querytype$ �
HG� "Clear":�close(query%):ș "WimpExt_ReleasePointer":�clear:�redraw
R?� "Quit":�close(query%):ș "WimpExt_ReleasePointer":quit%=�
\�
f2� 3:�close(query%):ș "WimpExt_ReleasePointer"
p�
z� printbox%
�#� (button% � 5)<>0 � Ȏ icon% �
�� 4:print_quality$="Draft"
�� 5:print_quality$="NLQ"
�� 6:�print
�Q� 7:� print_linefeeds$="Yes" � print_linefeeds$="No" � print_linefeeds$="Yes"
�� 10:print_what$="All"
�Sș "WimpExt_ShadeIcon",,,printbox%,13,1:ș "WimpExt_ShadeIcon",,,printbox%,14,1
�Sș "WimpExt_ShadeIcon",,,printbox%,16,1:ș "WimpExt_ShadeIcon",,,printbox%,17,1
�Sș "WimpExt_ShadeIcon",,,printbox%,18,1:ș "WimpExt_ShadeIcon",,,printbox%,19,1
�� 11:print_what$="Month"
�Sș "WimpExt_ShadeIcon",,,printbox%,13,0:ș "WimpExt_ShadeIcon",,,printbox%,14,0
�Sș "WimpExt_ShadeIcon",,,printbox%,16,0:ș "WimpExt_ShadeIcon",,,printbox%,17,0
�Sș "WimpExt_ShadeIcon",,,printbox%,18,0:ș "WimpExt_ShadeIcon",,,printbox%,19,0
� 12:print_what$="Year"
Sș "WimpExt_ShadeIcon",,,printbox%,13,1:ș "WimpExt_ShadeIcon",,,printbox%,14,0
Sș "WimpExt_ShadeIcon",,,printbox%,16,1:ș "WimpExt_ShadeIcon",,,printbox%,17,1
$Sș "WimpExt_ShadeIcon",,,printbox%,18,0:ș "WimpExt_ShadeIcon",,,printbox%,19,0
.:month_to_print%=0:�update_icon(printbox%,13,"January")
8I� 15:� print_header$="Yes" � print_header$="No" � print_header$="Yes"
BC� 16:month_to_print%+=1:� month_to_print%>59 month_to_print%=59
L6yearplus_print%=month_to_print% � 12:�update_print
VA� 17:month_to_print%-=1:� month_to_print%<0 month_to_print%=0
`6yearplus_print%=month_to_print% � 12:�update_print
jC� 18:yearplus_print%+=1:� yearplus_print%>4 � yearplus_print%=4
tMmonth_to_print%=(month_to_print% � 12)+(yearplus_print%*12):�update_print
~C� 19:yearplus_print%-=1:� yearplus_print%<0 � yearplus_print%=0
�Mmonth_to_print%=(month_to_print% � 12)+(yearplus_print%*12):�update_print
� � 20:print_quality$="RISCOS"
�� 21:�close(printbox%)
��
�� main_back%
�� button%=4 � Ȏ icon% �
�(� 11:month%+=1:� month%>59 month%=59
�&yearplus%=month% � 12:�update_time
�1� 12:yearplus%+=1:� yearplus%>4 � yearplus%=4
�4month%=(month% � 12)+(yearplus%*12):�update_time
��
�� button%=1 � Ȏ icon% �
&� 11:month%-=1:� month%<0 month%=0
&yearplus%=month% � 12:�update_time
1� 12:yearplus%-=1:� yearplus%<0 � yearplus%=0
4month%=(month% � 12)+(yearplus%*12):�update_time
(�
2� button%=2 � Ȏ icon% �
<d� 13:�close_all:ș "WimpExt_CreateMenu",,monthmenu%,mousex%-48,mousey%+10:selectmenu%=monthmenu%
Fb� 14:�close_all:ș "WimpExt_CreateMenu",,yearmenu%,mousex%-48,mousey%+10:selectmenu%=yearmenu%
P_:�close_all:ș "WimpExt_CreateMenu",,mainmenu%,mousex%-48,mousey%+10:selectmenu%=mainmenu%
Z�
d#� (button% � 5)<>0 � Ȏ icon% �
nD� 7:�close_all:�open(file_savebox%):�move_caret(file_savebox%,1)
x#� 8:�close_all:�open(printbox%)
�F� 9:�close_all:�setup_credit:�open(credit%):�move_caret(credit%,7)
�D� 10:�close_all:�setup_debit:�open(debit%):�move_caret(debit%,7)
�d� 13:�close_all:ș "WimpExt_CreateMenu",,monthmenu%,mousex%-48,mousey%+10:selectmenu%=monthmenu%
�b� 14:�close_all:ș "WimpExt_CreateMenu",,yearmenu%,mousex%-48,mousey%+10:selectmenu%=yearmenu%
�� 15:�close_all:�delete
�D� 16:�close_all:�setup_amend:�open(amend%):�move_caret(amend%,7)
�M� 18:�close_all:�setup_standing:�open(standing%):�move_caret(standing%,7)
�9� 19:�close_all:�open(search%):�move_caret(search%,2)
��
��
��
�:
���open(window%)
Ȏ window% �
S� file_savebox%,printbox%,credit%,debit%,amend%,standing%,search%,text_savebox%
Mș "Wimp_GetPointerInfo",,q%:ș "Wimp_CreateMenu",,window%,!q%-48,q%!4+10
"(:ș "WimpExt_OpenWindowTop",window%
,�
6�
@:
J��close(!q%)
T!� !q%=main_back% � �close_all
^ ș "WimpExt_CloseLinked",,q%
h�
r:
|-��key_pressed(window%,icon%,index%,char%)
�Ȏ char% �
�� 13
�Ȏ window% �
�� pwbox%
�@� icon%=1 � �check_entered_password:� wrong%=� � Ȏ tries% �
�L� 3:�update_icon(pwbox%,3,"That password is incorrect! One last try...")
�N:�update_icon(pwbox%,3,"That password is incorrect! Please try again...")
��
�.� main_back%:�get_pinboard_name:Ȏ icon% �
�� 24:�move_caret(main_back%,26):saved%=�:�re_title("Bank System: "+pinboard$+" *"):�update_icon(fileinfo%,5,"Yes"):�read_account_details
�� 26:�move_caret(main_back%,27):saved%=�:�re_title("Bank System: "+pinboard$+" *"):�update_icon(fileinfo%,5,"Yes"):�read_account_details
�� 27:�move_caret(main_back%,29):saved%=�:�re_title("Bank System: "+pinboard$+" *"):�update_icon(fileinfo%,5,"Yes"):�read_account_details
��� 29:�move_caret(main_back%,24):saved%=�:�re_title("Bank System: "+pinboard$+" *"):�update_icon(fileinfo%,5,"Yes"):�read_account_details
�
�
� 27:�close_all
&&� &180:�close_all:�open(printbox%)
0I� &181:�close_all:�setup_credit:�open(credit%):�move_caret(credit%,7)
:F� &182:�close_all:�setup_debit:�open(debit%):�move_caret(debit%,7)
DG� &183:�close_all:�open(file_savebox%):�move_caret(file_savebox%,1)
N;� &184:�close_all:�open(search%):�move_caret(search%,2)
XO� &185:�close_all:�setup_standing:�open(standing%):�move_caret(standing%,7)
bV� &186:� select%<>-1 � �close_all:�setup_amend:�open(amend%):�move_caret(amend%,7)
l-� &187:� select%<>-1 � �close_all:�delete
v� &188:�close_all
�Ȏ saved% �
�� �
�Equerytype$="Clear":�open(query%):ș "WimpExt_LimitPointer",query%
�� �
��clear:�redraw
��
�G� &193:�close_all:�open(text_savebox%):�move_caret(text_savebox%,1)
� ș "Wimp_ProcessKey",char%
��
��
�:
���move_caret(window%,icon%)
�1ș "Wimp_SetCaretPosition",window%,icon%,,,-1
�
:
��decode_menu
� selection%,selection$
*� selection% 255
43ș "Wimp_DecodeMenu",,selectmenu%,q%,selection%
>selection$=$selection%
HȎ selection$ �
R8� "Info":ș "WimpExt_OpenDialogue",,,infobox%,398,44
\� "Options..."
f�restore_options_window
p'�open(option_back%):options_open%=�
z8ș "WimpExt_CheckWindowOpen",main_back% � main_open%
�8� main_open%=1 � �close(main_back%):�close(scrolly%)
�� "Quit":�quit_check
�p� "Action.Credit F1","Action.Credit":�close_all:�setup_credit:�open(credit%):�move_caret(credit%,7)
�l� "Action.Debit F2","Action.Debit":�close_all:�setup_debit:�open(debit%):�move_caret(debit%,7)
�~� "Action.Standing Order F5","Action.Standing Order":�close_all:�setup_standing:�open(standing%):�move_caret(standing%,7)
�l� "Action.Amend F6","Action.Amend":�close_all:�setup_amend:�open(amend%):�move_caret(amend%,7)
�D� "Action.Delete F7","Action.Delete":�close_all:�delete
�N� "January","Statement.Month.January":month%=0+(yearplus%*12):�update_time
�P� "February","Statement.Month.February":month%=1+(yearplus%*12):�update_time
�J� "March","Statement.Month.March":month%=2+(yearplus%*12):�update_time
�J� "April","Statement.Month.April":month%=3+(yearplus%*12):�update_time
�F� "May","Statement.Month.May":month%=4+(yearplus%*12):�update_time
�H� "June","Statement.Month.June":month%=5+(yearplus%*12):�update_time
H� "July","Statement.Month.July":month%=6+(yearplus%*12):�update_time
L� "August","Statement.Month.August":month%=7+(yearplus%*12):�update_time
R� "September","Statement.Month.September":month%=8+(yearplus%*12):�update_time
$N� "October","Statement.Month.October":month%=9+(yearplus%*12):�update_time
.Q� "November","Statement.Month.November":month%=10+(yearplus%*12):�update_time
8Q� "December","Statement.Month.December":month%=11+(yearplus%*12):�update_time
Bf� �(year%),"Statement.Year."+�(year%):yearplus%=0:month%=(month% � 12)+(yearplus%*12):�update_time
Lj� �(year%+1),"Statement.Year."+�(year%+1):yearplus%=1:month%=(month% � 12)+(yearplus%*12):�update_time
Vj� �(year%+2),"Statement.Year."+�(year%+2):yearplus%=2:month%=(month% � 12)+(yearplus%*12):�update_time
`j� �(year%+3),"Statement.Year."+�(year%+3):yearplus%=3:month%=(month% � 12)+(yearplus%*12):�update_time
jj� �(year%+4),"Statement.Year."+�(year%+4):yearplus%=4:month%=(month% � 12)+(yearplus%*12):�update_time
t!� "Restart F8","Restart"
~Ȏ saved% �
�� �
�Equerytype$="Clear":�open(query%):ș "WimpExt_LimitPointer",query%
�� �
��clear:�redraw
��
��
� ș "Wimp_GetPointerInfo",,q%
�0� q%!8=1 � ș "Wimp_CreateMenu",,selectmenu%
��
�:
���update_time
�@%=&0100090A
?� item%=0 � 11:ș "WimpExt_TickEntry",,monthmenu%,item%,0:�
=� item%=0 � 4:ș "WimpExt_TickEntry",,yearmenu%,item%,0:�
>ș "WimpExt_TickEntry",,monthmenu%,month%-(yearplus%*12),1
1ș "WimpExt_TickEntry",,yearmenu%,yearplus%,1
(3�update_icon(main_back%,11,month$(month% � 12))
22�update_icon(main_back%,12,�(year%+yearplus%))
< select%=-1:shaded%=�:�redraw
F�
P:
Z��update_print
d;�update_icon(printbox%,13,month$(month_to_print% � 12))
n7�update_icon(printbox%,14,�(year%+yearplus_print%))
x�
�:
���fonts
�+� fontb% 255:� I%=0 � 255:fontb%?I%=0:�
��
�:
���pre_poll_error
�� 15
�� �$+" @ "+�(�)
� � � �
�� "Pointer 1"
��
�:
�;��update_icon(update_window%,update_icon%,update_text$)
(!q%=update_window%:q%!4=update_icon%
ș "Wimp_GetIconState",,q%
1$(q%!28)=update_text$:q%!36=�(update_text$)+1
"q%!8=0:q%!12=0
,ș "Wimp_SetIconState",,q%
6�
@:
Jݤindirect(!q%,q%!4)
Tș "Wimp_GetIconState",,q%
^
=$(q%!28)
h:
r��announce
|ș "Hourglass_On"
�.�update_icon(announce%,2,"Version: "+ver$)
�(�update_icon(announce%,1,copyright$)
�(ș "WimpExt_OpenWindowTop",announce%
��redraw_window(announce%)
�E�update_icon(announce%,3,"Please Wait: Initialising Bank System")
��initialise_bank_system
�F� wait%=1 � 25:Ȗ:Ȗ:ș "Hourglass_Percentage",�((wait%/25)*100):�
�9�update_icon(announce%,3,"Please Wait: Making Menus")
�
�makemenu
�F� wait%=1 � 25:Ȗ:Ȗ:ș "Hourglass_Percentage",�((wait%/25)*100):�
�F� wait%=1 � 25:Ȗ:Ȗ:ș "Hourglass_Percentage",�((wait%/25)*100):�
�!�update_icon(infobox%,7,ver$)
�-�ms_load("<Bank$Dir>.Resources.Messages")
1ș "WimpExt_IconBarSprite",,,-1,"!BankSys",,3
error%=0:menu%=0:quit%=�
:�update_icon(announce%,3,"Please Wait: Clearing Data")
&%�clear:�update_time:�update_print
0F� wait%=1 � 25:Ȗ:Ȗ:ș "Hourglass_Percentage",�((wait%/25)*100):�
:� auto_load$="Yes" �
D9�update_icon(announce%,3,"Please Wait: Loading File")
N�load_data(auto_load_file$)
X&� password$="No" �open(main_back%)
b�
l+!q%=announce%:ș "Wimp_CloseWindow",,q%
v\� password$="Yes" � �open(pwbox%):�move_caret(pwbox%,1):ș "WimpExt_LimitPointer",pwbox%
�ș "Hourglass_Off"
��
�:
���initialise_bank_system
�I� name$(100,59),amount%(100,59),date%(100,59),entry%(59),balance%(59)
�stand_sign%=1:stand_freq%=1
�;saved%=�:shaded%=�:old_shaded%=�:select%=-1:already%=-1
�-slen%=200:flen%=460:x0%=0:y0%=0:x%=0:y%=0
��init_month
�Dmonth%=((�today>>8)�12):year%=((�today>>8)�12):day%=�today � 255
�;day1%=day%:day2%=day%:day3%=day%:day4%=day%:yearplus%=0
�options_open%=�:tries%=0
�� selectfound%(15)
Bprint_quality$="Draft":print_linefeeds$="No":print_what$="All"
Kmonth_to_print%=month%:yearplus_print%=0:print_header$="Yes":pdriver%=0
$savetype$="E98":searchstring$=""
)account_holder$="":account_branch$=""
*+account_sortcode$="":account_number$=""
4�check_printer_driver
>�
H:
R��init_month
\�� month$(11):month$()="January","February","March","April","May","June","July","August","September","October","November","December"
f�
p:
zݤtoday
�=?q% = 1:ș "OS_Word",14,q%:A%=?q%:Y%=10*(A%>>4)+(A% � 15)
�7A%=q%?1:M%=22799+Y%*12+10*(A%>>4)+(A% � 15):A%=q%?2
�!=(M%<<8)+10*(A%>>4)+(A% � 15)
�:
���redraw_window(window%)
�!q%=window%
�&ș "Wimp_RedrawWindow",,q% � more%
�ȕ more%
�ș "WimpExt_Redraw",,q%
�&ș "Wimp_GetRectangle",,q% � more%
��
��
�:
��ms_load(name$)
%ș "MessageTrans_FileInfo",,name$
� ms_text% 256
$-ș "OS_Module",6,,,17+�(name$)�,,ms_desc%
.$(ms_desc%+16)=name$
83ș "MessageTrans_OpenFile",ms_desc%,ms_desc%+16
B�
L:
V��ms_end
`)ș "XMessageTrans_CloseFile",ms_desc%
jș "XOS_Module",7,,ms_desc%
t�
~:
�ݤms_0(tag$)
�=�ms_2(tag$,"","")
�:
�ݤms_1(tag$,arg1$)
�=�ms_2(tag$,arg1$,"")
�:
�ݤms_2(tag$,arg1$,arg2$)
�
�F%,L%
�Mș "XMessageTrans_Lookup",ms_desc%,tag$,ms_text%,256,arg1$,arg2$�,,,L%;F%
��F%� 1�L%=0
�ms_text%?L%=13
�=$ms_text%
:
��save_options
)auto_load_file$=�indirect(options%,7)
u� auto_load$="Yes" � auto_load_file$="" � � 99,"Please enter the full name of the file to be loaded on start-up."
(8� password$="Yes" � �read_passwords:�check_passwords
2,choices%=�"<Bank$Dir>.Resources.Choices"
<�#choices%,outlinefonts%,auto_load$,auto_load_file$,password$,password_one$,hyper_help$,hyper_type$,hotkeys$,brackets%,red%
F�#choices%
P�
Z:
d��load_options
n,choices%=�"<Bank$Dir>.Resources.Choices"
x� choices%<>0 �
��#choices%,outlinefonts%,auto_load$,auto_load_file$,password$,password_one$,hyper_help$,hyper_type$,hotkeys$,brackets%,red%
��#choices%
��
�Doutlinefonts%=0:auto_load$="No":password$="No":hyper_help$="Yes"
�Ihyper_type$="Long":auto_load_file$="":password_one$="":hotkeys$="Yes"
�brackets%=�:red%=�
��
�old_window%=0:old_icon%=0
�"� hotkeys$="No" � �short_menus
�
�fonts
��
�:
���set_defaults
Gauto_load$="No":password$="No":hyper_help$="Yes":hyper_type$="Long"
Foutlinefonts%=0:auto_load_file$="":password_one$="":hotkeys$="Yes"
Kș "WimpExt_SetIcon",,,options%,8,0:ș "WimpExt_SetIcon",,,options%,9,0
"Mș "WimpExt_SetIcon",,,options%,14,1:ș "WimpExt_SetIcon",,,options%,17,1
,Mș "WimpExt_SetIcon",,,options%,15,1:ș "WimpExt_SetIcon",,,options%,16,0
6(ș "WimpExt_SetIcon",,,options%,17,1
@Mș "WimpExt_SetIcon",,,options%,20,0:ș "WimpExt_SetIcon",,,options%,21,1
J�update_icon(options%,7,"")
T �update_icon(options%,12,"")
^ �update_icon(options%,13,"")
h�
r:
|��quicksave
�Ȏ savetype$ �
�� "E98"
�(fullname$=�indirect(file_savebox%,1)
�3� fullname$="" � � 1,"Please insert a filename"
�L� �fullname$,".")=0 � � 1,"To save, drag the icon to a directory viewer"
��save_data(fullname$)
�&� "SetType "+fullname$+" BankData"
�+�update_icon(file_savebox%,1,fullname$)
�'�update_icon(fileinfo%,7,fullname$)
�I�update_icon(fileinfo%,6,"BankData (e98)"):�change_sprite("file_e98")
��close(file_savebox%)
��get_pinboard_name
�Psaved%=�:�re_title("Bank System: "+pinboard$):�update_icon(fileinfo%,5,"No")
ș "Wimp_CreateMenu",,-1
� "FFF"
(fullname$=�indirect(text_savebox%,1)
&3� fullname$="" � � 1,"Please insert a filename"
0L� �fullname$,".")=0 � � 1,"To save, drag the icon to a directory viewer"
:�save_text(fullname$)
D"� "SetType "+fullname$+" Text"
N+�update_icon(text_savebox%,1,fullname$)
X�close(text_savebox%)
bș "Wimp_CreateMenu",,-1
l�
v�
�:
���initiate_save(fname$)
� ș "Wimp_GetPointerInfo",,q%
�+q%!20=q%!12:q%!12=0:q%!24=q%!16:q%!16=1
�)q%!28=q%!0:q%!0=64:q%!32=q%!4:q%!36=0
�/� savetype$="E98" � q%!40=&E98 � q%!40=&FFF
�!$(q%+44)=�get_leaf(fname$)+�0
�+ș "Wimp_SendMessage",17,q%,q%!20,q%!24
��
�:
�ݤget_leaf(name$)
�ȕ �name$,".")
�name$=�name$,�name$,".")+1)
!�
!
=name$+�0
!:
! ��datasave
!*Ȏ savetype$ �
!4� "E98"
!>fullname$=�string(q%+44)
!H�save_data(fullname$)
!R&� "SetType "+fullname$+" BankData"
!\q%!12=q%!8:q%!16=3
!f$ș "Wimp_SendMessage",17,q%,q%!4
!pș "Wimp_CreateMenu",,-1
!z��close(file_savebox%):�update_icon(fileinfo%,7,fullname$):�update_icon(fileinfo%,6,"BankData (e98)"):�update_icon(file_savebox%,1,fullname$):�change_sprite("file_e98")
!��get_pinboard_name
!�Psaved%=�:�re_title("Bank System: "+pinboard$):�update_icon(fileinfo%,5,"No")
!�� "FFF"
!�fullname$=�string(q%+44)
!��save_text(fullname$)
!�"� "SetType "+fullname$+" Text"
!�q%!12=q%!8:q%!16=3
!�$ș "Wimp_SendMessage",17,q%,q%!4
!�ș "Wimp_CreateMenu",,-1
!�A�close(text_savebox%):�update_icon(text_savebox%,1,fullname$)
!��
!��
!�:
"ݤstring(a%)
"� b$:b$=""
"
ȕ ?a%<>0
"$b$+=�?a%:a%+=1
".�
"8=b$
"B:
"L��save_data(fullname$)
"Vș "Hourglass_On"
"`CH%=�fullname$
"j'�#CH%,"noswaD ykciR yb metsyS knaB"
"t#�#CH%,"4991 dlroW sedemihcrA �"
"~�#CH%,year%
"�K�#CH%,account_holder$,account_branch$,account_sortcode$,account_number$
"�� count%=0 � 59
"�)�#CH%,balance%(count%),entry%(count%)
"� � count2%=0 � entry%(count%)
"�M�#CH%,name$(count2%,count%),amount%(count2%,count%),date%(count2%,count%)
"��
"�L� �((count%/60)*100)<>100 � ș "Hourglass_Percentage",�((count%/60)*100)
"��
"� �#CH%
"�ș "Hourglass_Off"
"��
"�:
# ��save_text(fullname$)
#
� count%,down%,am,tot
#ș "Hourglass_On"
#CH%=�fullname$
#(�save_header
#2� save_month%=0 � 59
#<�save_month(save_month%)
#F� save_month%
#P �#CH%
#Zș "Hourglass_Off"
#d�
#n:
#x��save_header
#�,�#CH%,"Account Holder: "+account_holder$
#�,�#CH%,"Account Branch: "+account_branch$
#�.�#CH%," Sort Code: "+account_sortcode$
#�,�#CH%,"Account Number: "+account_number$
#��
#�:
#���riscos_header
#�2�#CH%,"Account Holder: "+account_holder$+�(13)
#�2�#CH%,"Account Branch: "+account_branch$+�(13)
#�4�#CH%," Sort Code: "+account_sortcode$+�(13)
#�2�#CH%,"Account Number: "+account_number$+�(13)
#��
#�:
$��save_month(save_month%)
$@%=&0100090A
$� entry%(save_month%)<>0 �
$"�#CH%,""
$,B�#CH%,month$(save_month% � 12)+" "+�(year%+(save_month% � 12))
$6U�#CH%,"Date Name Debit Credit Balance"
$@�
$J@%=&010A020A
$T@%=&0102020A
$^?� save_month%=0 � total%=0 � total%=balance%(save_month%-1)
$h� entry%(save_month%)<>0 �
$r/text_to_save$=" Balance Forward:"
$|tot=�(total%/100)
$�W� tot<10000000 � text_to_save$=text_to_save$+" "
$�3� tot<1000000 � text_to_save$=text_to_save$+" "
$�2� tot<100000 � text_to_save$=text_to_save$+" "
$�1� tot<10000 � text_to_save$=text_to_save$+" "
$�0� tot<1000 � text_to_save$=text_to_save$+" "
$�/� tot<100 � text_to_save$=text_to_save$+" "
$�.� tot<10 � text_to_save$=text_to_save$+" "
$�&text_to_save$=text_to_save$+�(tot)
$�V� total%<0 � text_to_save$=text_to_save$+" D" � text_to_save$=text_to_save$+" C"
$��#CH%,text_to_save$
$��
$�&� count%=0 � entry%(save_month%)-1
$�text_to_save$=""
%� entry%(save_month%)<>0 �
%@%=&0100090A
%G� date%(count%,save_month%)<10 � extra_space$=" " � extra_space$=""
%&Ȏ (save_month% � 12) �
%0�� 0,1,2,3,4,5,6,7,8:text_to_save$=extra_space$+�(date%(count%,save_month%))+"/"+�((save_month% � 12)+1)+"/"+�(year%+(save_month% � 12))+" "+name$(count%,save_month%)
%:�� 9,10,11:text_to_save$=extra_space$+�(date%(count%,save_month%))+"/"+�((save_month% � 12)+1)+"/"+�(year%+(save_month% � 12))+" "+name$(count%,save_month%)
%D�
%N@%=&010A020A
%X@%=&0102020A
%b%� amount%(count%,save_month%)<0 �
%l)am=�(amount%(count%,save_month%)/100)
%v
spaces%=7
%�� am>9 � spaces%=6
%�� am>99 � spaces%=5
%�� am>999 � spaces%=4
%�� am>9999 � spaces%=3
%�� am>99999 � spaces%=2
%�� am>999999 � spaces%=1
%�� am>9999999 � spaces%=0
%�[text_to_save$=text_to_save$+�(spaces%+23-�(name$(count%,save_month%)))," ")+�(am)+" "
%�balance_addition%=14
%��
%�&am=amount%(count%,save_month%)/100
%�
spaces%=7
%�� am>9 � spaces%=6
&� am>99 � spaces%=5
&� am>999 � spaces%=4
&� am>9999 � spaces%=3
& � am>99999 � spaces%=2
&*� am>999999 � spaces%=1
&4� am>9999999 � spaces%=0
&>Utext_to_save$=text_to_save$+�(spaces%+34-�(name$(count%,save_month%)))," ")+�(am)
&Hbalance_addition%=6
&R�
&\-total%=total%+amount%(count%,save_month%)
&ftot=�(total%/100)
&p
spaces%=7
&z� tot>9 � spaces%=6
&�� tot>99 � spaces%=5
&�� tot>999 � spaces%=4
&�� tot>9999 � spaces%=3
&�� tot>99999 � spaces%=2
&�� tot>999999 � spaces%=1
&�� tot>9999999 � spaces%=0
&�Htext_to_save$=text_to_save$+�(spaces%+balance_addition%)," ")+�(tot)
&�V� total%<0 � text_to_save$=text_to_save$+" D" � text_to_save$=text_to_save$+" C"
&�@%=&0100090A
&��#CH%,text_to_save$
&��
&�� count%
&��
':
'��riscos_month(save_month%)
'@%=&0100090A
'$� entry%(save_month%)<>0 �
'.�#CH%,""+�(13)
'8H�#CH%,month$(save_month% � 12)+" "+�(year%+(save_month% � 12))+�(13)
'B[�#CH%,"Date Name Debit Credit Balance"+�(13)
'L�
'V@%=&010A020A
'`@%=&0102020A
'j?� save_month%=0 � total%=0 � total%=balance%(save_month%-1)
't� entry%(save_month%)<>0 �
'~/text_to_save$=" Balance Forward:"
'�tot=�(total%/100)
'�W� tot<10000000 � text_to_save$=text_to_save$+" "
'�3� tot<1000000 � text_to_save$=text_to_save$+" "
'�2� tot<100000 � text_to_save$=text_to_save$+" "
'�1� tot<10000 � text_to_save$=text_to_save$+" "
'�0� tot<1000 � text_to_save$=text_to_save$+" "
'�/� tot<100 � text_to_save$=text_to_save$+" "
'�.� tot<10 � text_to_save$=text_to_save$+" "
'�&text_to_save$=text_to_save$+�(tot)
'�V� total%<0 � text_to_save$=text_to_save$+" D" � text_to_save$=text_to_save$+" C"
'��#CH%,text_to_save$+�(13)
'��
( &� count%=0 � entry%(save_month%)-1
(
text_to_save$=""
(� entry%(save_month%)<>0 �
(@%=&0100090A
((G� date%(count%,save_month%)<10 � extra_space$=" " � extra_space$=""
(2Ȏ (save_month% � 12) �
(<�� 0,1,2,3,4,5,6,7,8:text_to_save$=extra_space$+�(date%(count%,save_month%))+"/"+�((save_month% � 12)+1)+"/"+�(year%+(save_month% � 12))+" "+name$(count%,save_month%)
(F�� 9,10,11:text_to_save$=extra_space$+�(date%(count%,save_month%))+"/"+�((save_month% � 12)+1)+"/"+�(year%+(save_month% � 12))+" "+name$(count%,save_month%)
(P�
(Z@%=&010A020A
(d@%=&0102020A
(n%� amount%(count%,save_month%)<0 �
(x)am=�(amount%(count%,save_month%)/100)
(�
spaces%=7
(�� am>9 � spaces%=6
(�� am>99 � spaces%=5
(�� am>999 � spaces%=4
(�� am>9999 � spaces%=3
(�� am>99999 � spaces%=2
(�� am>999999 � spaces%=1
(�� am>9999999 � spaces%=0
(�[text_to_save$=text_to_save$+�(spaces%+23-�(name$(count%,save_month%)))," ")+�(am)+" "
(�balance_addition%=14
(��
(�&am=amount%(count%,save_month%)/100
(�
spaces%=7
)� am>9 � spaces%=6
)� am>99 � spaces%=5
)� am>999 � spaces%=4
)"� am>9999 � spaces%=3
),� am>99999 � spaces%=2
)6� am>999999 � spaces%=1
)@� am>9999999 � spaces%=0
)JUtext_to_save$=text_to_save$+�(spaces%+34-�(name$(count%,save_month%)))," ")+�(am)
)Tbalance_addition%=6
)^�
)h-total%=total%+amount%(count%,save_month%)
)rtot=�(total%/100)
)|
spaces%=7
)�� tot>9 � spaces%=6
)�� tot>99 � spaces%=5
)�� tot>999 � spaces%=4
)�� tot>9999 � spaces%=3
)�� tot>99999 � spaces%=2
)�� tot>999999 � spaces%=1
)�� tot>9999999 � spaces%=0
)�Htext_to_save$=text_to_save$+�(spaces%+balance_addition%)," ")+�(tot)
)�V� total%<0 � text_to_save$=text_to_save$+" D" � text_to_save$=text_to_save$+" C"
)�@%=&0100090A
)��#CH%,text_to_save$+�(13)
)��
)�� count%
*�
*:
*��load_acknowledge
*&q%!12=q%!8:q%!16=4
*0$ș "Wimp_SendMessage",17,q%,q%!4
*:�
*D:
*N��ok_to_load(filetype$)
*X#filename$="":a%=0:b%=q%?(44+a%)
*b3ȕ b%<>0:filename$+=�(b%):a%+=1:b%=q%?(44+a%):�
*l�open(main_back%)
*v-� filetype$="E98" � �load_data(filename$)
*�/� filetype$="406" � �load_banker(filename$)
*��
*�:
*���load_data(datafile$)
*�ș "Hourglass_On"
*�total_entries%=0
*�load_err%=�
*�CH%=�(datafile$)
*��#CH%,dummy$
*ڋ� dummy$<>"noswaD ykciR yb metsyS knaB" � load_err%=�:�#CH%:� 99,"You are trying to load a file that is either invalid or out-of-date."
*��#CH%,dummy$
*�� dummy$<>"4991 dlroW sedemihcrA �" � load_err%=�:�#CH%:� 99,"You are trying to load a file that is either invalid or out-of-date."
*��#CH%,year%
+%yearplus%=((�today>>8)� 12)-year%
+@month%=((�today>>8)� 12):month%=(month% � 12)+(yearplus%*12)
+!� yearplus%>4 � yearplus%<0 �
+ ș "Hourglass_Off"
+*O� 99,"You are trying to load a file that is either invalid or out-of-date."
+4load_err%=�
+> �#CH%
+H�
+R� � load_err% �
+\K�#CH%,account_holder$,account_branch$,account_sortcode$,account_number$
+f� count%=0 � 59
+p)�#CH%,balance%(count%),entry%(count%)
+z"total_entries%+=entry%(count%)
+� � count2%=0 � entry%(count%)
+�M�#CH%,name$(count2%,count%),amount%(count2%,count%),date%(count2%,count%)
+��
+�L� �((count%/60)*100)<>100 � ș "Hourglass_Percentage",�((count%/60)*100)
+��
+� �#CH%
+��
+��year_menu:�update_time
+�9� hotkeys$="Yes" � �long_main_menu � �short_main_menu
+�/�update_icon(fileinfo%,8,�(total_entries%))
+��update_account_details
+�+�update_icon(file_savebox%,1,datafile$)
+�'�update_icon(fileinfo%,7,datafile$)
,I�update_icon(fileinfo%,6,"BankData (e98)"):�change_sprite("file_e98")
,;�get_pinboard_name:�re_title("Bank System: "+pinboard$)
,�open(main_back%)
,$ș "Hourglass_Off"
,.�
,8:
,B��load_banker(datafile$)
,Lș "Hourglass_On"
,Vtotal_entries%=0
,`load_err%=�
,jCH%=�(datafile$)
,t�#CH%,year%
,~%yearplus%=((�today>>8)� 12)-year%
,�@month%=((�today>>8)� 12):month%=(month% � 12)+(yearplus%*12)
,�!� yearplus%>4 � yearplus%<0 �
,�ș "Hourglass_Off"
,�O� 99,"You are trying to load a file that is either invalid or out-of-date."
,�load_err%=�
,� �#CH%
,��
,�� � load_err% �
,�� count%=0 � 59
,�)�#CH%,balance%(count%),entry%(count%)
,�"total_entries%+=entry%(count%)
,� � count2%=0 � entry%(count%)
- M�#CH%,name$(count2%,count%),amount%(count2%,count%),date%(count2%,count%)
-
�
-L� �((count%/60)*100)<>100 � ș "Hourglass_Percentage",�((count%/60)*100)
-�
-( �#CH%
-2�
-<�year_menu:�update_time
-F9� hotkeys$="Yes" � �long_main_menu � �short_main_menu
-P/�update_icon(fileinfo%,8,�(total_entries%))
-Z�update_account_details
-d+�update_icon(file_savebox%,1,datafile$)
-n'�update_icon(fileinfo%,7,datafile$)
-xI�update_icon(fileinfo%,6,"Accounts (406)"):�change_sprite("file_406")
-�;�get_pinboard_name:�re_title("Bank System: "+pinboard$)
-��open(main_back%)
-�ș "Hourglass_Off"
-��
-�:
-���quit_check
-�Ȏ saved% �
-�� �
-�Dquerytype$="Quit":�open(query%):ș "WimpExt_LimitPointer",query%
-�� �
-�quit%=�
-��
-��
.:
.��check_shaded
.)� old_shaded%<>shaded% � Ȏ shaded% �
."�� �:ș "WimpExt_ShadeIcon",,,main_back%,15,1:ș "WimpExt_ShadeIcon",,,main_back%,16,1:ș "WimpExt_ShadeEntry",,actionmenu%,3,1:ș "WimpExt_ShadeEntry",,actionmenu%,4,1
.,�� �:ș "WimpExt_ShadeIcon",,,main_back%,15,0:ș "WimpExt_ShadeIcon",,,main_back%,16,0:ș "WimpExt_ShadeEntry",,actionmenu%,3,0:ș "WimpExt_ShadeEntry",,actionmenu%,4,0
.6�
.@old_shaded%=shaded%
.J�
.T:
.^��hyper_help
.hhyper_text$=""
.r+ș "Wimp_GetPointerInfo",,pointer_info%
.|Cpointer_window%=pointer_info%!12:pointer_icon%=pointer_info%!16
.�?� pointer_window%<>old_window% � pointer_icon%<>old_icon% �
.�Ȏ pointer_window% �
.�� main_back%
.�Ȏ pointer_icon% �
.�.� 0:hyper_text$=�ms_0(hyper_type$+"Hyper")
.�-� 7:hyper_text$=�ms_0(hyper_type$+"Save")
.�.� 8:hyper_text$=�ms_0(hyper_type$+"Print")
.�/� 9:hyper_text$=�ms_0(hyper_type$+"Credit")
.�/� 10:hyper_text$=�ms_0(hyper_type$+"Debit")
.�/� 11:hyper_text$=�ms_0(hyper_type$+"Month")
.�.� 12:hyper_text$=�ms_0(hyper_type$+"Year")
.�/� 13:hyper_text$=�ms_0(hyper_type$+"MMenu")
.�/� 14:hyper_text$=�ms_0(hyper_type$+"YMenu")
/0� 15:hyper_text$=�ms_0(hyper_type$+"Delete")
//� 16:hyper_text$=�ms_0(hyper_type$+"Amend")
/0� 18:hyper_text$=�ms_0(hyper_type$+"SOrder")
/&0� 19:hyper_text$=�ms_0(hyper_type$+"Search")
/0L� 20,21,22,23,24,25,26,27,28,29:hyper_text$=�ms_0(hyper_type$+"Details")
/:�
/D7� scrolly%:hyper_text$=�ms_0(hyper_type$+"Account")
/N�
/X*�update_icon(main_back%,0,hyper_text$)
/b�
/l7old_window%=pointer_window%:old_icon%=pointer_icon%
/v�
/�:
/���close_all
/�+�close(file_savebox%):�close(printbox%)
/�"�close(credit%):�close(debit%)
/�$�close(standing%):�close(amend%)
/�(�close(search%):�close(searchfound%)
/��close(text_savebox%)
/��
/�:
/���delete
/�� count%
/�� count%=month% � 59
/�-balance%(count%)-=amount%(select%,month%)
0�
0'� count%=select% � entry%(month%)-1
0/name$(count%,month%)=name$(count%+1,month%)
0 3amount%(count%,month%)=amount%(count%+1,month%)
0*/date%(count%,month%)=date%(count%+1,month%)
04�
0>entry%(month%) -=1
0Hselect%=-1:shaded%=�
0R�redraw:�get_pinboard_name
0\Vsaved%=�:�re_title("Bank System: "+pinboard$+" *"):�update_icon(fileinfo%,5,"Yes")
0fAtotal_entries%-=1:�update_icon(fileinfo%,8,�(total_entries%))
0p�
0z:
0�(��setextent(xmin%,ymin%,xmax%,ymax%)
0�/!q%=xmin%:q%!4=ymin%:q%!8=xmax%:q%!12=ymax%
0�#ș "Wimp_SetExtent",scrolly%,q%
0��
0�:
0���enter(mon%)
0�� count%,sort%
0��get_pinboard_name
0�Vsaved%=�:�re_title("Bank System: "+pinboard$+" *"):�update_icon(fileinfo%,5,"Yes")
0�slen%=entry%(mon%)*40+240
0�� slen% > flen% �
0�$� PROCsetextent(0,-slen%,1240,0)
0�flen%=slen%
1�
1sort%=entry%(mon%)-1
1� count%=mon% � 59
1$9balance%(count%)=balance%(count%)+amount%(sort%,mon%)
1.�
18ȕ sort%>0
1B-� date%(sort%,mon%)<date%(sort%-1,mon%) �
1L,Ȕ date%(sort%,mon%),date%(sort%-1,mon%)
1V,Ȕ name$(sort%,mon%),name$(sort%-1,mon%)
1`0Ȕ amount%(sort%,mon%),amount%(sort%-1,mon%)
1j�
1t-� date%(sort%,mon%)=date%(sort%-1,mon%) �
1~-� name$(sort%,mon%)<name$(sort%-1,mon%) �
1�,Ȕ date%(sort%,mon%),date%(sort%-1,mon%)
1�,Ȕ name$(sort%,mon%),name$(sort%-1,mon%)
1�0Ȕ amount%(sort%,mon%),amount%(sort%-1,mon%)
1��
1��
1�sort%-=1
1��
1��
1�:
1���select(yy%)
1�;� ((yy%<y0%-50)) � (yy%>((y0%-50)-40*entry%(month%))) �
1�already%=((y0%-50)-yy%)/40
2 � already%=select% �
2
already%=-1:select%=-1
2
shaded%=�
2�
2(select%=already%
22
shaded%=�
2<�
2F�redraw
2P�
2Z�
2d:
2n"��new_date(inc%,window%,� da%)
2x
da%+=inc%
2�Ȏ (month% � 12) �
2�� 0,2,4,6,7,9,11:
2�� da%<1 da%=31
2�� da%>31 da%=1
2�� 3,5,8,10:
2�� da%<1 da%=30
2�� da%>30 da%=1
2�� 1:
2�_� ((year%+yearplus%) � 4=0) � ((year%+yearplus%) � 100 <>0) � ((year%+yearplus%) � 400=0) �
2�� da%<1 da%=29
2�� da%>29 da%=1
2��
2�� da%<1 da%=28
3� da%>28 da%=1
3�
3�
3""�update_icon(window%,2,�(da%))
3,�
36:
3@��check(d%,sg%,window%,B%)
3J!q%=window%
3T
q%!4=7
3^ș "Wimp_GetIconState",,q%
3h� $(q%!28)="" �
3r
err%=�
3|/� 99,"Please enter a name for this action."
3�� name$=$(q%!28):err%=�
3��
3�� � err% �
3�!q%=window%
3�
q%!4=8
3�ș "Wimp_GetIconState",,q%
3�� $(q%!28)="" �
3�
err%=�
3�2� 99,"Please enter an amount for this action."
3�� amount$=$(q%!28)
3�� �(amount$)=0 �
3�
err%=�
3�;� 99,"You have entered an invalid amount. Try again..."
4� err%=�
4�
4�
4&�
40� entry%(month%)>100 �
4:
err%=�
4D_� 99,"I'm sorry to say that you have reached the maximum amount of entries for this month."
4N�
4X� � err% �
4b� window%=amend% �delete
4l&name$(entry%(month%),month%)=name$
4v� �(amount$)>0 �
4�<amount%(entry%(month%),month%)=(�(amount$)+.005)*100*sg%
4��
4�<amount%(entry%(month%),month%)=(�(amount$)-.005)*100*sg%
4��
4�#date%(entry%(month%),month%)=d%
4�entry%(month%)+=1
4��enter(month%)
4�select%=-1:shaded%=�
4��redraw
4�Atotal_entries%+=1:�update_icon(fileinfo%,8,�(total_entries%))
4��close(window%)
4��
4��
5:
5#��check_standing(d%,window%,B%)
5=� name$,amount$,amount2$,mtotal$,mtot%,count%,freq%,sign%
5 !q%=window%
5*
q%!4=7
54ș "Wimp_GetIconState",,q%
5>� $(q%!28)="" �
5H
err%=�
5R/� 99,"Please enter a name for this action."
5\� name$=$(q%!28):err%=�
5f�
5p� � err% �
5z!q%=window%
5�
q%!4=8
5�ș "Wimp_GetIconState",,q%
5�� $(q%!28)="" �
5�
err%=�
5�:� 99,"Please enter an initial amount for this action."
5�� amount$=$(q%!28):err%=�
5�� �(amount$)=0 �
5�
err%=�
5�4� 99,"You have entered an invalid. Try again..."
5�� err%=�
5��
5��
5��
6� � err% �
6!q%=window%
6q%!4=14
6$ș "Wimp_GetIconState",,q%
6.� $(q%!28)="" �
68
err%=�
6B<� 99,"Please enter a subsequent amount for this action."
6L� amount2$=$(q%!28):err%=�
6V� �(amount2$)=0 �
6`
err%=�
6j;� 99,"You have entered an invalid amount. Try again..."
6t� err%=�
6~�
6��
6��
6�� � err% �
6�!q%=window%
6�q%!4=27
6�ș "Wimp_GetIconState",,q%
6�� $(q%!28)="" �
6�
err%=�
6�=� 99,"Please enter the number of months for this action."
6�� mtotal$=$(q%!28):err%=�
6�mtot%=�(mtotal$)
6�� mtot%=0 �
7
err%=�
7
E� 99,"You have entered an invalid number of months. Try again..."
7� err%=�
7)� mtot%>(59-month%) mtot%=(59-month%)
7(�
72�
7<�
7FȎ stand_sign% �
7P� 1:sign%=1
7Z� -1:sign%=-1
7d�
7nȎ stand_freq% �
7x� 1:freq%=1
7�� 2:freq%=2
7�� 3:freq%=3
7�� 6:freq%=6
7�� 12:freq%=12
7��
7�*� count%=month% � month%+mtot% � freq%
7�� entry%(count%)>100 �
7�
err%=�
7�_� 99,"I'm sorry to say that you have reached the maximum amount of entries for this month."
7��
7��
7�� � err% �
7�*� count%=month% � month%+mtot% � freq%
8&name$(entry%(count%),count%)=name$
8� count%=month% �
8>amount%(entry%(count%),count%)=(�(amount$)+.005)*100*sign%
8"�
8,?amount%(entry%(count%),count%)=(�(amount2$)+.005)*100*sign%
86�
8@#date%(entry%(count%),count%)=d%
8Jentry%(count%)+=1
8TAtotal_entries%+=1:�update_icon(fileinfo%,8,�(total_entries%))
8^�enter(count%)
8h�
8rselect%=-1:shaded%=�
8|�redraw
8��close(window%)
8��
8��
8�:
8���redraw
8�!q%=scrolly%
8�&ș "Wimp_RedrawWindow",,q% � more%
8��origin(q%,x0%,y0%)
8�ȕ more%
8��draw(x0%,y0%)
8�&ș "Wimp_GetRectangle",,q% � more%
8��
8��
9:
9��origin(q%,� x0%,� y0%)
9x0%=q%!4-q%!20
9&y0%=q%!16-q%!24
90�
9::
9D��draw(x0%,y0%)
9N� count%,down%,am,tot
9X� 5
9b@%=&010A020A
9l@%=&0102020A
9v5� month%=0 � total%=0 � total%=balance%(month%-1)
9�ș "Wimp_SetColour",8
9�(� x0%+190,y0%-10:�"Balance Forward:"
9�� x0%+950,y0%-10
9�?� total%<0 � ș "Wimp_SetColour",11 � ș "Wimp_SetColour",7
9�tot=total%/100
9�� �(tot)
9��
9�� entry%(month%)<>0 �
9�!� count%=0 � entry%(month%)-1
9�E� select%=count% � ș "Wimp_SetColour",13 � ș "Wimp_SetColour",7
9�down%=50+(count%*40)
9�� x0%+25,y0%-down%
9�@%=&0100090A
:��(date%(count%,month%))
:@%=&010A020A
:@%=&0102020A
: � x0%+190,y0%-down%
:*�name$(count%,month%)
:4 � amount%(count%,month%)<0 �
:>� x0%+580,y0%-down%
:H� � x0%+765,y0%-down%
:R�
:\!am=amount%(count%,month%)/100
:f� �(am)
:p� x0%+950,y0%-down%
:z(total%=total%+amount%(count%,month%)
:�k� select%=count% � ș "Wimp_SetColour",13 � � total%<0 � ș "Wimp_SetColour",11 � ș "Wimp_SetColour",7
:�tot=total%/100
:�� �(tot)
:��
:��
:�@%=&0100090A
:��
:�:
:���setup_credit
:��new_date(0,credit%,day2%)
:��update_icon(credit%,7,"")
:��update_icon(credit%,8,"")
:�F�update_icon(credit%,3,month$(month% � 12)+" "+�(year%+yearplus%))
;$�update_icon(credit%,2,�(day2%))
;�
;:
;$��setup_debit
;.�new_date(0,debit%,day1%)
;8�update_icon(debit%,7,"")
;B�update_icon(debit%,8,"")
;LE�update_icon(debit%,3,month$(month% � 12)+" "+�(year%+yearplus%))
;V#�update_icon(debit%,2,�(day1%))
;`�
;j:
;t��setup_standing
;~ �new_date(0,standing%,day3%)
;� �update_icon(standing%,7,"")
;� �update_icon(standing%,8,"")
;�!�update_icon(standing%,14,"")
;�!�update_icon(standing%,27,"")
;�H�update_icon(standing%,3,month$(month% � 12)+" "+�(year%+yearplus%))
;�&�update_icon(standing%,2,�(day3%))
;��
;�:
;���setup_amend
;�0�update_icon(amend%,7,name$(select%,month%))
;�"am=amount%(select%,month%)/100
;�#�update_icon(amend%,8,�(�(am)))
<