home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / sourcecode / various / state.amos / state.amosSourceCode < prev   
AMOS Source Code  |  1991-09-16  |  41KB  |  1,465 lines

  1. Set Buffer 10
  2. Load "df0:Copyright_Sprite.Abk"
  3. Screen Open 0,320,256,16,Lowres
  4. Hide : Curs Off : Cls 0
  5. Load Iff "df0:Pics/Horse",0
  6. _SMALL_COPYRIGHT[256]
  7. Wait 100
  8. Screen Close 0 : Show 
  9. Dim BALANCE(40),BALANCE$(40),WDRAWN(40),WDRAWN$(40),REF$(40),A$(40),DNAM$(6)
  10. Dim PAIDIN(40),PAIDIN$(40),WD$(40),PD$(40),DAT$(40),DETAILS$(40),NAM$(6)
  11. Fix(2) : YEAR$="1991"
  12. COMMENCE:
  13.   Gosub SETUP
  14.   Window 4 : Pen 5 : Curs Off 
  15.   Locate ,1 : Centre "Set DRIVE number if not default which is df0:"
  16.   Locate ,3 : Centre "Set YEAR if not default which is 1991"
  17.   Locate ,5 : Centre "If using for first time create NEW ACCOUNT"
  18.   Locate ,7 : Centre "Open the ACCOUNT"
  19.   Locate ,10 : Pen 6 : Centre "Click the left Mouse Button to continue"
  20.   While PK=0 : PK=Mouse Key : Wend 
  21.   Clw 
  22. RESTART:
  23.   If DISKON=1 Then Gosub QUITORCLEAR
  24.   Gosub INITVAR
  25. MAINLOOP:
  26.   MZ=0 : K=0
  27.   X$=Inkey$
  28.   K=Mouse Key
  29.   If K=1 Then Gosub MTEST
  30.   If X$="" Then Goto MAINLOOP
  31.   If X$=Chr$(27) Then Goto RESTART
  32.   X$=""
  33.   Goto MAINLOOP
  34. MTEST:
  35.   Reserve Zone 16
  36.   Set Zone 1,101,23 To 162,36
  37.   Set Zone 2,101,53 To 162,66
  38.   Set Zone 3,196,40 To 304,53
  39.   Set Zone 4,336,40 To 444,53
  40.   Set Zone 5,478,23 To 539,36
  41.   Set Zone 6,478,53 To 539,66
  42.   Set Zone 7,22,53 To 67,66
  43.   Set Zone 8,22,83 To 67,96
  44.   Set Zone 9,22,113 To 67,126
  45.   Set Zone 10,22,143 To 67,156
  46.   Set Zone 11,22,173 To 67,186
  47.   Set Zone 12,572,53 To 617,66
  48.   Set Zone 13,572,83 To 617,96
  49.   Set Zone 14,572,113 To 617,126
  50.   Set Zone 15,572,143 To 617,156
  51.   Set Zone 16,572,173 To 617,186
  52.   MZ=Mouse Zone
  53.   Reserve Zone 
  54.   On MZ Gosub DISPLAY,FINDACCOUNT,NEWDIR,FINDDIRS,WIPE,NEWNAM,INFORM,FLOAD,FSAVE,CHANGEDRIVE,PRINIT,QUIT,FEDIT,FINDYEAR,ENTER,FILES
  55.   Return 
  56. SETUP:
  57.   Screen Open 1,640,256,8,Hires
  58.   Load Iff "df0:Pics/Primary",1
  59.   Limit Mouse 136,50 To 438,235
  60.   Wind Open 4,95,83,58,14,1
  61.   Border 4,6,4
  62.   Paper 0 : Clw 
  63.   Wind Open 2,0,204,78,6,1
  64.   Paper 7 : Clw : Curs Off 
  65.   Title Top "STATUS"
  66.   Border 3,6,4
  67.   Draw 109,217 To 109,237 : Draw 108,217 To 108,237
  68.   Draw 198,217 To 198,237 : Draw 199,217 To 199,237
  69.   Draw 307,217 To 307,237 : Draw 308,217 To 308,237
  70.   Draw 447,217 To 447,237 : Draw 448,217 To 448,237
  71.   Draw 520,217 To 520,237 : Draw 519,217 To 519,237
  72.   Box 24,216 To 613,238 : Box 25,217 To 612,237
  73.   Ink 4
  74.   UX=22 : UY=215 : LX=617 : LY=239
  75.   For LI=0 To 4
  76.     If LI=>3 Then Ink 6
  77.     Box UX-LI,UY-LI To LX+LI,LY+LI
  78.   Next LI
  79.   DISKDRIVE$="df0:"
  80.   Return 
  81. FINDYEAR:
  82.   OP$="YEAR"
  83.   Gosub OPS
  84.   Window 4 : Paper 7 : Clw : Curs Off 
  85. WRONG:
  86.   Locate 8,4 : Pen 5 : Curs Off 
  87.   Print "ENTER YEAR > ";
  88.   Input YEAR$
  89.   If Len(YEAR$)<>4
  90.     Clw : Curs Off : Pen 4 : Boom 
  91.     Locate ,4 : Centre "INVALID YEAR ENTRY >  "+YEAR$
  92.     Wait 200 : YEAR$="" : Clw 
  93.     Goto WRONG
  94.   End If 
  95.   Gosub CLEARW
  96.   Gosub STATUS
  97.   Return 
  98. FINDACCOUNT:
  99.   OP$="ACCOUNT"
  100.   Gosub OPS
  101.   Window 4 : Paper 7 : Clw : Curs Off 
  102.   If F>0
  103.     Boom : Pen 4
  104.     Locate ,5 : Centre "FILE ALREADY LOADED FOR "+ACCOUNT$+" ACCOUNT"
  105.     Wait 200 : Pen 5 : Clw 
  106.     Goto NOACC
  107.   End If 
  108.   COUNT2=0
  109.   DD1$=Dir First$(DISKDRIVE$)
  110.   While DD1$<>""
  111.     If Left$(DD1$,5)="*PAGE"
  112.       T1$=DD1$-(Left$(DD1$,6))
  113.       COUNT2=COUNT2+1
  114.       P=Instr(T1$," ")
  115.       T2$=T1$-(Right$(T1$,33-P))
  116.       NAM$(COUNT2)=T2$
  117.       T1$="" : T2$=""
  118.     End If 
  119.     DD1$=Dir Next$
  120.   Wend 
  121.   If COUNT2=0
  122.     Boom : Pen 4 : Clw : Curs Off 
  123.     Locate ,4 : Centre "THERE ARE NO ACCOUNTS ON YOUR SELECTED DRIVE"
  124.     Wait 200 : Clw : Pen 5
  125.     Goto NOACC
  126.   End If 
  127.   For LO=1 To 6
  128.     L1=Len(NAM$(LO)) : DNAM$(LO)=NAM$(LO)
  129.     If L1=1 or L1=3 or L1=5 or L1=7 Then DNAM$(LO)=DNAM$(LO)+" "
  130.     L2=Len(DNAM$(LO)) : PL=Int((10-L2)/2)
  131.     DNAM$(LO)=Space$(PL)+DNAM$(LO)+Space$(PL)
  132.   Next LO
  133.   Reserve Zone 7
  134.   ZM=0 : KM=0 : K$=""
  135.   Locate 6,9 : Pen 6 : Print "Click on Account Name, or Abort"
  136.   Pen 5 : Curs Off 
  137.   Repeat 
  138.     ZM=Mouse Zone : KM=Mouse Key
  139.     If ZM<>1 Then Locate 3,2 : Pen 5 : Print Zone$(Border$(DNAM$(1),1),1)
  140.     If ZM=1 Then Locate 3,2 : Pen 3 : Print Zone$(Border$(DNAM$(1),3),1)
  141.     If ZM<>2 Then Locate 3,5 : Pen 5 : Print Zone$(Border$(DNAM$(2),1),2)
  142.     If ZM=2 Then Locate 3,5 : Pen 3 : Print Zone$(Border$(DNAM$(2),3),2)
  143.     If ZM<>3 Then Locate 17,2 : Pen 5 : Print Zone$(Border$(DNAM$(3),1),3)
  144.     If ZM=3 Then Locate 17,2 : Pen 3 : Print Zone$(Border$(DNAM$(3),3),3)
  145.     If ZM<>4 Then Locate 17,5 : Pen 5 : Print Zone$(Border$(DNAM$(4),1),4)
  146.     If ZM=4 Then Locate 17,5 : Pen 3 : Print Zone$(Border$(DNAM$(4),3),4)
  147.     If ZM<>5 Then Locate 31,2 : Pen 5 : Print Zone$(Border$(DNAM$(5),1),5)
  148.     If ZM=5 Then Locate 31,2 : Pen 3 : Print Zone$(Border$(DNAM$(5),3),5)
  149.     If ZM<>6 Then Locate 31,5 : Pen 5 : Print Zone$(Border$(DNAM$(6),1),6)
  150.     If ZM=6 Then Locate 31,5 : Pen 3 : Print Zone$(Border$(DNAM$(6),3),6)
  151.     If ZM<>7
  152.       Locate 45,3 : Pen 4
  153.       Print Zone$(Border$(" ABORT ",2),7)
  154.       Pen 5
  155.     End If 
  156.     If ZM=7
  157.       Locate 45,3 : Pen 4 : Inverse On 
  158.       Print Zone$(Border$(" ABORT ",4),7)
  159.       Pen 5 : Inverse Off 
  160.     End If 
  161.   Until KM=1 and ZM>0
  162.   Reserve Zone 
  163.   If ZM=1 Then ACCOUNT$=NAM$(1)
  164.   If ZM=2 Then ACCOUNT$=NAM$(2)
  165.   If ZM=3 Then ACCOUNT$=NAM$(3)
  166.   If ZM=4 Then ACCOUNT$=NAM$(4)
  167.   If ZM=5 Then ACCOUNT$=NAM$(5)
  168.   If ZM=6 Then ACCOUNT$=NAM$(6)
  169.   If ZM=7 Then Goto NOACC
  170.   DI$=CD$+ACCOUNT$
  171. NOACC:
  172.   Gosub CLEARW
  173.   Gosub STATUS
  174.   Return 
  175. CLEARW:
  176.   Window 4 : Paper 0 : Clw : Pen 5 : Curs Off 
  177.   OP$="                    "
  178.   Gosub OPS
  179.   Return 
  180. STATUS:
  181.   If F=0 Then Goto NOFIG
  182.   TDEBIT#=0 : TCREDIT#=0
  183.   For L=1 To F
  184.     DEBIT#=Val(WDRAWN$(L))
  185.     If L>1 Then TDEBIT#=TDEBIT#+DEBIT#
  186.     CREDIT#=Val(PAIDIN$(L))
  187.     If L>1 Then TCREDIT#=TCREDIT#+CREDIT#
  188.     TEMP=(PAIDIN(L)-WDRAWN(L))+BALANCE(L-1)
  189.     BALANCE(L)=TEMP
  190.     BL$=Str$(BALANCE(L))
  191.     NUM=Len(BL$)
  192.     If NUM=2 Then BL$=Right$(BL$,1) : BL$="00"+BL$
  193.     If NUM=3 Then BL$=Right$(BL$,2) : BL$="0"+BL$
  194.     NUM=Len(BL$)
  195.     NUM=NUM-2
  196.     BL$=(Left$(BL$,NUM)+"."+Right$(BL$,2))
  197.     If Left$(BL$,1)=Chr$(32)
  198.       C=Len(BL$)
  199.       BL$=Right$(BL$,(C-1))
  200.     End If 
  201.     If Left$(BL$,1)="-" Then BL$=BL$-(Left$(BL$,1))
  202.     BALANCE$(L)=BL$
  203.   Next L
  204.   MONBAL#=TCREDIT#-TDEBIT#
  205.   MONBAL$=Str$(MONBAL#)
  206.   If Left$(MONBAL$,1)="-" Then MONBAL$=MONBAL$-(Left$(MONBAL$,1))
  207. NOFIG:
  208.   Window 2 : Paper 7 : Ink 6,7
  209.   B$="   " : Text 34,230,B$ : Text 34,230,MONTH$
  210.   B$="    " : Text 69,230,B$ : Text 69,230,YEAR$
  211.   B$="        " : Text 118,230,B$ : Text 118,230,ACCOUNT$
  212.   If BALANCE(F)>0 Then Ink 5,7 Else Ink 4,7
  213.   X=216 : B$="           " : Text X,230,B$
  214.   LB=Len(BALANCE$(F)) : PIX=LB*6 : X=276-PIX
  215.   Text X,230,BALANCE$(F)
  216.   Ink 6,7
  217.   R$=Str$(F) : RN$="Records = "+R$
  218.   B$="              " : Text 324,230,B$
  219.   Text 324,230,RN$
  220.   Text 470,230,DISKDRIVE$
  221.   MB$="         " : Text 530,230,MB$
  222.   If F=0 Then MONBAL$="         "
  223.   If MONBAL#>0 Then Ink 5,7 Else Ink 4,7
  224.   Text 530,230,MONBAL$
  225.   Ink 6,7
  226.   Return 
  227. INITVAR:
  228.   For CM=0 To 40
  229.     BALANCE(CM)=0
  230.     BALANCE$(CM)=""
  231.     WDRAWN(CM)=0
  232.     WDRAWN$(CM)=""
  233.     REF$(CM)="" : A$(CM)=""
  234.     PAIDIN(CM)=0
  235.     PAIDIN$(CM)=""
  236.     WD$(CM)="" : PD$(CM)=""
  237.     DAT$(CM)="" : DETAILS$(CM)=""
  238.   Next CM
  239.   F=0 : BALANCE$(F)="0.00" : MONTH$="" : TDEBIT#=0 : TCREDIT#=0
  240.   CD$="PAGE." : DI$="" : ACCOUNT$="" : MONBAL$=""
  241.   DUMB=Free
  242.   Colour 6,$FF0 : Colour 7,$333
  243.   Flash 3,"(FF0,20)(333,20)"
  244.   Gosub STATUS
  245.   Return 
  246. CHANGEDRIVE:
  247.   OP$="CHANGE DRIVE"
  248.   Gosub OPS
  249.   Window 4 : Paper 7 : Clw : Curs Off 
  250.   PRESDRIVE$=DISKDRIVE$
  251.   Reserve Zone 5
  252.   ZM=0 : KM=0 : K$=""
  253.   Locate ,9 : Pen 6 : Centre "Click on Drive Number, or Abort"
  254.   Pen 5 : Curs Off 
  255.   Repeat 
  256.     ZM=Mouse Zone : KM=Mouse Key
  257.     If ZM<>1 Then Locate 3,3 : Pen 5 : Print Zone$(Border$("df0:",1),1)
  258.     If ZM=1 Then Locate 3,3 : Pen 3 : Print Zone$(Border$("df0:",3),1)
  259.     If ZM<>2 Then Locate 14,3 : Pen 5 : Print Zone$(Border$("df1:",1),2)
  260.     If ZM=2 Then Locate 14,3 : Pen 3 : Print Zone$(Border$("df1:",3),2)
  261.     If ZM<>3 Then Locate 25,3 : Pen 5 : Print Zone$(Border$("df2:",1),3)
  262.     If ZM=3 Then Locate 25,3 : Pen 3 : Print Zone$(Border$("df2:",3),3)
  263.     If ZM<>4 Then Locate 36,3 : Pen 5 : Print Zone$(Border$("dh0:",1),4)
  264.     If ZM=4 Then Locate 36,3 : Pen 3 : Print Zone$(Border$("dh0:",3),4)
  265.     If ZM<>5
  266.       Locate 45,3 : Pen 4
  267.       Print Zone$(Border$(" ABORT ",2),5)
  268.       Pen 5
  269.     End If 
  270.     If ZM=5
  271.       Locate 45,3 : Pen 4 : Inverse On 
  272.       Print Zone$(Border$(" ABORT ",4),5)
  273.       Pen 5 : Inverse Off 
  274.     End If 
  275.   Until KM=1 and ZM>0
  276.   Reserve Zone 
  277.   If ZM=1 Then DISKDRIVE$="df0:"
  278.   If ZM=2 Then DISKDRIVE$="df1:"
  279.   If ZM=3 Then DISKDRIVE$="df2:"
  280.   If ZM=4 Then DISKDRIVE$="dh0:"
  281.   DD=Exist(DISKDRIVE$)
  282.   If DD=0
  283.     Clw : Pen 4 : Curs Off : Boom 
  284.     Locate ,4 : Centre "THIS DRIVE DOES NOT EXIST ON YOUR SYSTEM"
  285.     Locate ,6 : Centre "OR THERE IS NO DISK PRESENT IN"
  286.     Locate ,8 : Centre DISKDRIVE$
  287.     DISKDRIVE$=PRESDRIVE$
  288.     Wait 200
  289.   End If 
  290.   Gosub CLEARW
  291.   Gosub STATUS
  292.   Return 
  293. ENTER:
  294.   OP$="ENTER DATA"
  295.   Gosub OPS
  296.   F=F+1
  297. DATER:
  298.   Window 4 : Paper 7 : Clw : Curs Off 
  299.   If F>40
  300.     Locate ,4 : Pen 4 : Boom 
  301.     Centre "SORRY CAN ONLY ACCEPT UP TO 40 ENTRIES A MONTH"
  302.     Wait 250 : Gosub CLEARW : F=F-1
  303.     Return 
  304.   End If 
  305.   If ACCOUNT$=""
  306.     Gosub ZEROACCOUNT
  307.     F=F-1
  308.     Gosub CLEARW
  309.     Return 
  310.   End If 
  311. EDENTER:
  312.   TDEBIT#=0 : TCREDIT#=0
  313.   Pen 6
  314.   Locate 3,1 : Print "DATE      >"
  315.   Locate 3,3 : Print "DETAILS   >"
  316.   Locate 3,5 : Print "REF       >"
  317.   Locate 3,7 : Print "PAID-IN   >"
  318.   Locate 30,7 : Print "WITHDRAWN >"
  319.   Pen 5
  320.   Locate 15,1 : Input K$
  321.   If K$="" Then K=1 Else K=0
  322.   If SET3 and K=1
  323.     Locate 15,1
  324.     Print DAT$(F)
  325.   Else 
  326.     DAT$(F)=K$
  327.   End If 
  328.   If DAT$(F)="" Then Goto QUITED
  329.   If Len(DAT$(F))<>6
  330.     Boom : Pen 4 : Clw : Curs Off 
  331.     Locate ,4 : Centre "ILLEGAL DATE FORMAT ENTERED"
  332.     Wait 200
  333.     Goto DATER
  334.   End If 
  335.   If SET3
  336.     DETAILS$(F)=DETAILS$(F)-A$(F)
  337.   End If 
  338. AG:
  339.   Locate 15,3 : Input K$
  340.   If K$="" Then K=1 Else K=0
  341.   If SET3 and K=1
  342.     Locate 15,3
  343.     Print DETAILS$(F)
  344.   Else 
  345.     DETAILS$(F)=K$
  346.   End If 
  347.   If Len(K$)>25
  348.     Locate 15,3 : Print Space$(30) : Curs Off 
  349.     Locate 15,3 : Pen 4 : Print "NO MORE THAN 25 CHARACTERS"
  350.     Wait 200 : Pen 5 : Locate 15,3 : Print Space$(30)
  351.     Goto AG
  352.   End If 
  353.   If K$="o" Then DETAILS$(F)="    Opening Balance"
  354.   Locate 15,5 : Input K$
  355.   If K$="" Then K=1 Else K=0
  356.   If SET3 and K=1
  357.     Locate 15,5
  358.     Print REF$(F)
  359.   Else 
  360.     REF$(F)=K$
  361.   End If 
  362.   If K$="d" Then REF$(F)="D.D."
  363.   If K$="s" Then REF$(F)="S.O."
  364.   LD=Len(DETAILS$(F)) : SP=28-LD : A$(F)=Space$(SP)+REF$(F)
  365.   DETAILS$(F)=DETAILS$(F)+A$(F)
  366.   Locate 15,7 : Input K$
  367.   If K$="" Then K=1 Else K=0
  368.   If SET3 and K=1
  369.     Locate 15,7
  370.     Print PAIDIN$(F)
  371.     Goto LABS
  372.   End If 
  373.   PAIDIN$(F)=K$
  374.   If Len(PAIDIN$(F))<4
  375.     PAIDIN$(F)="0.00"
  376.     Locate 18,7 : Print PAIDIN$(F)
  377.     PAIDIN(F)=0
  378.   Else 
  379.     ZZ=Len(PAIDIN$(F))
  380.     XX=8-ZZ : ZZ=5-XX
  381.     PAIDIN(F)=Val(Left$(PAIDIN$(F),ZZ)+Right$(PAIDIN$(F),2))
  382.   End If 
  383. LABS:
  384.   Locate 42,7 : Input K$
  385.   If K$="" Then K=1 Else K=0
  386.   If SET3 and K=1
  387.     Locate 42,7
  388.     Print WDRAWN$(F)
  389.     Goto LABT
  390.   End If 
  391.   WDRAWN$(F)=K$
  392.   If Len(WDRAWN$(F))<4
  393.     WDRAWN$(F)="0.00"
  394.     Locate 45,7 : Print WDRAWN$(F)
  395.     WDRAWN(F)=0
  396.   Else 
  397.     ZZ=Len(WDRAWN$(F))
  398.     XX=8-ZZ : ZZ=5-XX
  399.     WDRAWN(F)=Val(Left$(WDRAWN$(F),ZZ)+Right$(WDRAWN$(F),2))
  400.   End If 
  401. LABT:
  402.   Curs Off 
  403.   If SET3 Then Return 
  404.   Reserve Zone 2
  405.   Set Zone 1,200,9 To 439,27
  406.   Set Zone 2,95,83 To 543,186
  407.   Pen 3
  408.   Locate ,9 : Centre "Click on BANK STATEMENT if Okey!"
  409.   Pen 5
  410.   Locate ,11 : Centre "If Not Okey Click in this Window"
  411.   MC=0 : MZ=0
  412.   Repeat 
  413.     MZ=Mouse Zone : MC=Mouse Click
  414.   Until MC>0 and MZ>0 and MZ<3
  415.   Reserve Zone 
  416.   Gosub CLEARW
  417.   If MZ=2
  418.     F=F-1
  419.     Return 
  420.   Else If MZ=1
  421.     Goto NORMAL
  422.   End If 
  423.   End If 
  424. QUITED:
  425.   Clw 
  426.   Locate ,4 : Centre "Okey Data Entry Aborted"
  427.   Curs Off : F=F-1 : Wait 200
  428.   Gosub CLEARW
  429.   Return 
  430. NORMAL:
  431.   DISKON=1
  432.   Gosub STATUS
  433.   Return 
  434. DISPLAY:
  435.   If F=0
  436.     OP$="DISPLAY DATA"
  437.     Gosub OPS
  438.     M$="DISPLAY"
  439.     Gosub NODATMEM
  440.     Gosub CLEARW
  441.     Return 
  442.   End If 
  443.   Screen Hide 1
  444.   Screen Open 2,640,500,8,Hires
  445.   Screen Display 2,,32,,
  446.   Screen Offset 2,,48
  447.   Curs Off : Cls 7 : Paper 7
  448.   ANSWER
  449.   Pen 2 : Cls : Hide 
  450.   If YEANEA=1 Then Goto VERIFYIT
  451.   Screen Open 3,640,40,8,Hires
  452.   Screen Display 3,,38,,
  453.   Cls 1 : Curs Off 
  454.   Pen 0 : Locate ,1
  455.   Print "          L-Mouse=Scroll Up  :  R-Mouse=Scroll Down  :  L&R-Mouse=Quit"
  456.   Pen 2 : Locate ,3
  457.   Print "      DATE           DETAILS             REF     WITHDRAWN";
  458.   Print "  PAID-IN   BALANCE"
  459.   P=13 : Screen 2
  460.   For L=1 To F
  461.     If L<10 Then Locate 1,P : Print L
  462.     If L=>10 Then Locate ,P : Print L
  463.     Locate 5,P : Print DAT$(L)
  464.     Locate 13,P : Print DETAILS$(L)
  465.     DEBIT#=Val(WDRAWN$(L))
  466.     If L=1 or DEBIT#=0 Then Goto JUMP
  467.     Locate 57-Len(WDRAWN$(L)),P : Print WDRAWN$(L)
  468.   JUMP:
  469.     CREDIT#=Val(PAIDIN$(L))
  470.     If L=1 or CREDIT#=0 Then Goto JUMP2
  471.     Locate 67-Len(PAIDIN$(L)),P : Print PAIDIN$(L)
  472.   JUMP2:
  473.     If BALANCE(L)<0 Then Pen 4 Else Pen 5
  474.     Locate 77-Len(BALANCE$(L)),P : Print BALANCE$(L)
  475.     VERIFY#=Val(BALANCE$(L))
  476.     Pen 2 : P=P+1
  477.   Next L
  478.   Pen 2
  479.   Locate 51, : Print "--------------------------"
  480.   Locate 49, : Print Using "#####.##";TDEBIT#;
  481.   Locate 59, : Print Using "#####.##";TCREDIT#;
  482.   If MONBAL#<0 Then Pen 4 Else Pen 5
  483.   Locate 69, : Print Using "#####.##";MONBAL#
  484.   Channel 1 To Screen Display 2
  485.   P$="L R0=0 ; L R1=180 ; "
  486.   P$=P$+"D: If K2=-1 then J U else L R0=1 ; L R1=R1+1 ; J S ; "
  487.   P$=P$+"U: If K1=0 then J D else L R0=-1 ; L R1=R1-1 ; J S ; "
  488.   P$=P$+"S: L R2=K1 ; L R3=K2 ; "
  489.   P$=P$+"If R1>180 J U ; If R1<8 J D ; "
  490.   P$=P$+"If R3>R2 J Q ; M 0,R0,1 ; "
  491.   P$=P$+"J D ; Q: E ; "
  492.   Amal 1,P$
  493.   Amal On 1
  494.   Repeat 
  495.     M=Mouse Key
  496.   Until M=3
  497.   Amal Off 1
  498.   Screen Close 3
  499.   If YEANEA=2 Then Goto FINISH
  500. VERIFYIT:
  501.   Cls : Pen 6 : Locate ,8
  502.   Print "   DATE             DETAILS             REF      WITHDRAWN";
  503.   Print "  PAID-IN   BALANCE"
  504. PAGE1:
  505.   If F>20 Then FP=20
  506.   If F>20 Then SP=(F-FP)+20
  507.   If F=<20 Then FP=F
  508.   P=10 : Pen 2
  509.   For L=1 To FP
  510.     Locate 2,P : Print DAT$(L)
  511.     Locate 11,P : Print DETAILS$(L)
  512.     DEBIT#=Val(WDRAWN$(L))
  513.     If L=1 or DEBIT#=0 Then Goto HOP
  514.     Locate 57-Len(WDRAWN$(L)),P : Print WDRAWN$(L)
  515.   HOP:
  516.     CREDIT#=Val(PAIDIN$(L))
  517.     If L=1 or CREDIT#=0 Then Goto HOP2
  518.     Locate 67-Len(PAIDIN$(L)),P : Print PAIDIN$(L)
  519.   HOP2:
  520.     If BALANCE(L)<0 Then Pen 4 Else Pen 5
  521.     Locate 77-Len(BALANCE$(L)),P : Print BALANCE$(L)
  522.     If F>20 Then VERIFY#=Val(BALANCE$(SP))
  523.     If F=<20 Then VERIFY#=Val(BALANCE$(L))
  524.     Pen 2 : P=P+1
  525.   Next L
  526.   If F>20
  527.     Locate 20,34 : Print "PAGE 1"
  528.     Locate 36,34 : Pen 3 : Print "Enter s to View Page 2"
  529.   End If 
  530.   Goto TERMINAL
  531. PAGE2:
  532.   P=10 : Pen 2
  533.   For L=21 To SP
  534.     Locate 2,P : Print DAT$(L)
  535.     Locate 11,P : Print DETAILS$(L)
  536.     DEBIT#=Val(WDRAWN$(L))
  537.     If DEBIT#=0 Then Goto HOP3
  538.     Locate 57-Len(WDRAWN$(L)),P : Print WDRAWN$(L)
  539.   HOP3:
  540.     CREDIT#=Val(PAIDIN$(L))
  541.     If CREDIT#=0 Then Goto HOP4
  542.     Locate 67-Len(PAIDIN$(L)),P : Print PAIDIN$(L)
  543.   HOP4:
  544.     If BALANCE(L)<0 Then Pen 4 Else Pen 5
  545.     Locate 77-Len(BALANCE$(L)),P : Print BALANCE$(L)
  546.     VERIFY#=Val(BALANCE$(L))
  547.     Pen 2 : P=P+1
  548.   Next L
  549.   Locate 20,34 : Print "PAGE 2"
  550.   Locate 36,34 : Pen 3 : Print "Enter f to View Page 1"
  551.   Goto TERMINAL
  552. TERMINAL:
  553.   Pen 6 : Ink 6
  554.   Box 250,300 To 530,313 : Box 249,299 To 531,314
  555.   If VERIFY#>0 Then Pen 5 Else Pen 4
  556.   Locate 57,38 : Print Using "#####.##";VERIFY#;
  557.   Pen 3
  558.   Locate 11,38 : Print "Enter v when done"
  559.   Pen 2
  560.   Repeat 
  561.     Locate 32,38 : Print "WITHDRAWN +";
  562.     Locate 45,38 : Input VERI$;
  563.     If(VERI$="v") or(VERI$="f") or(VERI$="s") Then Exit 
  564.     ADJP#=Val(VERI$)
  565.     VERIFY#=VERIFY#+ADJP#
  566.     Locate 45,38 : Print "        ";
  567.     If VERIFY#>0 Then Pen 5 Else Pen 4
  568.     Locate 57,38 : Print Using "#####.##";VERIFY#;
  569.     Pen 2
  570.     Locate 32,38 : Print "PAID-IN   -";
  571.     Locate 45,38 : Input VERI$;
  572.     If(VERI$="v") or(VERI$="f") or(VERI$="s") Then Exit 
  573.     ADJM#=Val(VERI$)
  574.     VERIFY#=VERIFY#-ADJM#
  575.     Locate 45,38 : Print "        ";
  576.     If VERIFY#>0 Then Pen 5 Else Pen 4
  577.     Locate 57,38 : Print Using "#####.##";VERIFY#;
  578.     Pen 2
  579.   Until VERI$="v"
  580.   Locate 45,38 : Print "        ";
  581.   If VERI$="v" Then Goto FINISH
  582.   Cls 7,0,80 To 640,280
  583.   If VERI$="f" Then Goto PAGE1
  584.   Cls 7,0,80 To 640,280
  585.   If VERI$="s" Then Goto PAGE2
  586. FINISH:
  587.   Cls : Screen Close 2
  588.   Screen Show 1
  589.   Show 
  590.   Return 
  591. FSAVE:
  592.   OP$="SAVE DATA" : LSD$="   TO SAVE"
  593.   Gosub OPS
  594.   Window 4 : Paper 7 : Clw : Curs Off 
  595.   If F=0
  596.     M$="SAVE"
  597.     Gosub NODATMEM
  598.     Goto ABORT_S
  599.   End If 
  600.   Gosub CAL
  601.   MONTH$=K$
  602.   If K$="" Then Goto ABORT_S
  603.   NM$=DISKDRIVE$+DI$+"/"+MONTH$+YEAR$
  604.   Clw : Curs Off 
  605.   If NM$<>"" and F>0
  606.     Locate ,4 : Centre "SAVING..."+NM$
  607.     Open Out 2,NM$
  608.     Print #2,F
  609.     For L=1 To F
  610.       WD$(L)=Str$(WDRAWN(L))
  611.       PD$(L)=Str$(PAIDIN(L))
  612.       Print #2,WD$(L)
  613.       Print #2,PD$(L)
  614.       Print #2,DAT$(L)
  615.       Print #2,DETAILS$(L)
  616.       Print #2,A$(L)
  617.       Print #2,REF$(L)
  618.       Print #2,WDRAWN$(L)
  619.       Print #2,PAIDIN$(L)
  620.     Next L
  621.     Close 2
  622.   DISKON=0
  623.   End If 
  624. ABORT_S:
  625.   Gosub CLEARW
  626.   Gosub STATUS
  627.   Return 
  628. FLOAD:
  629.   OP$="LOAD DATA" : LSD$="   TO LOAD"
  630.   Gosub OPS
  631.   Window 4 : Paper 7 : Clw : Curs Off 
  632.   AL=0
  633.   If F>0
  634.     Pen 4 : Boom 
  635.     Locate ,5 : Centre "YOU ALREADY HAVE A FILE LOADED"
  636.     Wait 250 : AL=1
  637.     Goto ABORT_L
  638.   End If 
  639.   If ACCOUNT$="" Then Gosub ZEROACCOUNT
  640.   If ACCOUNT$="" Then AL=1 : Goto ABORT_L
  641.   Gosub CAL
  642.   Clw : Curs Off 
  643.   If K$="" Then AL=1 : Goto ABORT_L
  644.   MONTH$=K$
  645.   NM$=DISKDRIVE$+DI$+"/"+MONTH$+YEAR$
  646.   FLAG=Exist(NM$)
  647.   If FLAG=0
  648.     Pen 4 : Boom 
  649.     Locate ,4 : Centre "NO FILE FOR "+MONTH$+" "+YEAR$+" ON "+DISKDRIVE$
  650.     MONTH$="" : Wait 250 : AL=1
  651.     Goto ABORT_L
  652.   End If 
  653.   Locate ,4 : Centre "LOADING..."+NM$
  654.   Open In 2,NM$
  655.   Input #2,F
  656.   For L=1 To F
  657.     Input #2,WD$(L)
  658.     Input #2,PD$(L)
  659.     WDRAWN(L)=Val(WD$(L))
  660.     PAIDIN(L)=Val(PD$(L))
  661.     Input #2,DAT$(L)
  662.     Input #2,DETAILS$(L)
  663.     Input #2,A$(L)
  664.     Input #2,REF$(L)
  665.     Input #2,WDRAWN$(L)
  666.     Input #2,PAIDIN$(L)
  667.   Next L
  668.   Close 2
  669. ABORT_L:
  670.   Gosub CLEARW
  671.   If AL=1 Then Return 
  672.   Gosub STATUS
  673.   Return 
  674. WIPE:
  675.   OP$="DELETE FILE" : LSD$="  TO DELETE"
  676.   Gosub OPS
  677.   Window 4 : Paper 7 : Clw : Curs Off 
  678.   If ACCOUNT$="" Then Gosub ZEROACCOUNT
  679.   If ACCOUNT$="" Then Goto GONE
  680.   Gosub CAL
  681.   Clw : Curs Off 
  682.   If K$="" Then Goto GONE
  683.   Curs Off 
  684.   DEL$=DISKDRIVE$+DI$+"/"+K$+YEAR$
  685.   FIND=Exist(DEL$)
  686.   If FIND=0
  687.     Clw : Pen 4 : Boom 
  688.     Locate ,4 : Centre "THIS FILE DOES NOT EXIST"
  689.     Wait 200 : Clw : Pen 4 : Goto GONE
  690.   End If 
  691.   Locate 9,4 : Print "ARE YOU CERTAIN (Y/N) > ";
  692.   Input KB$
  693.   If Asc(KB$)=89 or Asc(KB$)=121
  694.     Kill DEL$
  695.     Clw 
  696.     If K$=MONTH$
  697.       Gosub INITVAR
  698.     End If 
  699.   End If 
  700. GONE:
  701.   Gosub CLEARW
  702.   Return 
  703. NEWNAM:
  704.   OP$="RENAME"
  705.   Gosub OPS
  706.   Window 4 : Paper 7 : Clw 
  707.   WHICHKEY
  708.   If WHICH=1 Then Goto DERRENAME Else If WHICH=2 Then Goto FILERENAME
  709.   Return 
  710. FILERENAME:
  711.   Gosub CLEARW
  712.   OP$="RENAME MONTH"
  713.   Gosub OPS
  714.   Window 4 : Paper 7 : Clw 
  715.   If ACCOUNT$="" Then Gosub ZEROACCOUNT
  716.   If ACCOUNT$="" Then Goto NN1
  717.   Locate 18,3 : Print "ENTER OLD NAME ";
  718.   Input OLD$
  719.   Curs Off 
  720.   If OLD$="" Then Goto NN1
  721.   N1$=DISKDRIVE$+DI$+"/"+OLD$+YEAR$
  722.   FIND1=Exist(N1$)
  723.   If FIND1=0
  724.     Clw : Pen 4 : Boom 
  725.     Locate ,3 : Centre "THIS FILE DOES NOT EXIST"
  726.     Locate ,5 : Centre "  SO CANNOT BE RENAMED  "
  727.     Wait 200 : Pen 5 : Goto NN1
  728.   End If 
  729.   Locate 18,5 : Print "ENTER NEW NAME ";
  730.   Input K$
  731.   If K$="" Then Goto NN1
  732.   Curs Off 
  733.   N2$=DISKDRIVE$+DI$+"/"+K$+YEAR$
  734.   FIND2=Exist(N2$)
  735.   If FIND2=-1
  736.     Clw : Pen 4 : Boom 
  737.     Locate ,3 : Centre "THIS FILE ALREADY EXISTS"
  738.     Locate ,5 : Centre "SO CANNOT USE THIS NAME"
  739.     Wait 200 : Pen 5 : Goto NN1
  740.   End If 
  741.   Rename N1$ To N2$
  742.   If OLD$=MONTH$
  743.     MONTH$=K$
  744.     Gosub STATUS
  745.   End If 
  746. NN1:
  747.   Gosub CLEARW
  748.   Return 
  749. DERRENAME:
  750.   OP$="RENAME ACCOUNT"
  751.   Gosub OPS
  752.   Window 4 : Paper 7 : Clw : Curs Off 
  753.   Locate 18,3 : Print "ENTER OLD NAME ";
  754.   Input OLD$
  755.   Curs Off 
  756.   If OLD$="" Then Goto NN2
  757.   DI$=CD$+OLD$
  758.   N1$=DISKDRIVE$+DI$
  759.   FIND1=Exist(N1$)
  760.   If FIND1=0
  761.     Clw : Pen 4 : Boom 
  762.     Locate ,3 : Centre "ACCOUNT DOES NOT EXIST"
  763.     Locate ,5 : Centre " SO CANNOT BE RENAMED "
  764.     Wait 200 : Pen 5 : Goto NN2
  765.   End If 
  766. MORE:
  767.   Locate 18,5 : Print "ENTER NEW NAME ";
  768.   Input K$
  769.   Curs Off 
  770.   If K$="" Then Goto NN2
  771.   If Len(K$)>8
  772.     Boom : Clw : Pen 4
  773.     Locate ,4 : Centre "NAME TO LONG MAXIMUM OF EIGHT CHARACTERS"
  774.     Wait 200 : Clw : Pen 5
  775.     Goto MORE
  776.   End If 
  777.   DI$=CD$+K$
  778.   N2$=DISKDRIVE$+DI$
  779.   FIND2=Exist(N2$)
  780.   If FIND2=-1
  781.     Clw : Pen 4 : Boom 
  782.     Locate ,3 : Centre "ACCOUNT ALREADY EXISTS"
  783.     Locate ,5 : Centre "SO CANNOT USE THIS NAME"
  784.     Wait 200 : Pen 5 : Goto NN2
  785.   End If 
  786.   Rename N1$ To N2$
  787.   If OLD$=ACCOUNT$
  788.     ACCOUNT$=K$
  789.     Gosub STATUS
  790.   End If 
  791. NN2:
  792.   Gosub CLEARW
  793.   Return 
  794. PRINIT:
  795.   OP$="PRINT-OUT"
  796.   Gosub OPS
  797.   Window 4 : Paper 7 : Clw : Curs Off 
  798.   If F=0
  799.     M$="PRINT"
  800.     Gosub NODATMEM
  801.     Gosub CLEARW
  802.     Return 
  803.   End If 
  804.   FEATURES
  805.   Paper 7 : Clw : Pen 5
  806.   Locate ,4 : Centre "NOW PRINTING"
  807.   Open Port 2,"Par:"
  808.   If SELECT=1 Then Print #2,Chr$(27);"x0";
  809.   If SELECT=2 Then Print #2,Chr$(27);"x1";
  810.   Print #2,ACCOUNT$;" ACCOUNT"
  811.   Print #2,"      "
  812.   Print #2," DATE               DETAILS             REF      WITHDRAWN";
  813.   Print #2,"  PAID-IN   BALANCE"
  814.   Print #2,"      "
  815.   For L=1 To F
  816.     Print #2,Chr$(27);"D";Chr$(9);Chr$(57-Len(WDRAWN$(L)));Chr$(67-Len(PAIDIN$(L)));Chr$(77-Len(BALANCE$(L)));Chr$(0);
  817.     Print #2,DAT$(L);
  818.     Print #2,Chr$(9);DETAILS$(L);
  819.     DEBIT#=Val(WDRAWN$(L))
  820.     If L=1 or DEBIT#=0 Then Print #2,Chr$(9); : Goto JUMP3
  821.     Print #2,Chr$(9);WDRAWN$(L);
  822.   JUMP3:
  823.     CREDIT#=Val(PAIDIN$(L))
  824.     If L=1 or CREDIT#=0 Then Print #2,Chr$(9); : Goto JUMP4
  825.     Print #2,Chr$(9);PAIDIN$(L);
  826.   JUMP4:
  827.     If BALANCE(L)<0 Then BAL2$=BALANCE$(L)+"-" Else BAL2$=BALANCE$(L)
  828.     Print #2,Chr$(9);BAL2$
  829.   Next L
  830.   DE$=Str$(TDEBIT#) : CR$=Str$(TCREDIT#) : MB$=Str$(MONBAL#)
  831.   If Left$(MB$,1)="-"
  832.     MB$=MB$-(Left$(MB$,1))
  833.     MB$=MB$+"-"
  834.   End If 
  835.   Print #2,Chr$(27);"D";Chr$(57-(Len(DE$)));Chr$(67-(Len(CR$)));Chr$(78-(Len(MB$)));Chr$(0);
  836.   Print #2,"      "
  837.   Print #2,Chr$(9);"---------------------------"
  838.   Print #2,Chr$(9);TDEBIT#;
  839.   Print #2,Chr$(9);TCREDIT#;
  840.   Print #2,Chr$(9);MB$
  841.   Close 2
  842.   If SELECT=1 Then DELAY=Int((F*1.5)*50)
  843.   If SELECT=2 Then DELAY=Int((F*4.5)*50)
  844.   Wait DELAY
  845.   Gosub CLEARW
  846.   Return 
  847. NEWDIR:
  848.   OP$="NEW ACCOUNT"
  849.   Gosub OPS
  850.   Window 4 : Paper 7 : Clw : Pen 5 : Curs Off 
  851.   NUMACC=0
  852.   DD$=Dir First$(DISKDRIVE$)
  853.   While DD$<>""
  854.     If Left$(DD$,5)="*PAGE" Then NUMACC=NUMACC+1
  855.     DD$=Dir Next$
  856.   Wend 
  857.   If NUMACC=6
  858.     Boom : Pen 4
  859.     Locate ,4 : Centre "THERE ARE ALREADY SIX ACCOUNTS ON "+DISKDRIVE$
  860.     Wait 200
  861.     Gosub CLEARW
  862.     Return 
  863.   End If 
  864. REDO:
  865.   Locate ,2 : Centre "ENTER ACCOUNT NAME"
  866.   Locate ,4 : Centre "UPTO 8 CHARACTERS"
  867.   Locate 22,7
  868.   Input KK$
  869.   If KK$="" Then Goto REDO
  870.   If Len(KK$)>8
  871.     Boom : Clw : Pen 4 : Curs Off 
  872.     Locate ,4 : Centre "TO LONG, NO MORE"
  873.     Locate ,6 : Centre "THAN 8 CHARACTERS"
  874.     Locate ,8 : Centre "TRY AGAIN PLEASE"
  875.     Wait 250 : Clw : Pen 5
  876.     Goto REDO
  877.   End If 
  878.   Mkdir DISKDRIVE$+CD$+KK$
  879.   Gosub FINDDIRS
  880.   Return 
  881. FINDDIRS:
  882.   OP$="ACCOUNT NAMES"
  883.   Gosub OPS
  884.   Window 4 : R=4 : COUNT=0 : Paper 7 : Clw : Pen 5 : Curs Off 
  885.   DD$=Dir First$(DISKDRIVE$)
  886.   While DD$<>""
  887.     If Left$(DD$,5)="*PAGE"
  888.       T$=DD$-(Left$(DD$,6))
  889.       Locate 23,R : Print T$
  890.       R=R+1 : COUNT=COUNT+1
  891.     End If 
  892.     DD$=Dir Next$
  893.   Wend 
  894.   If COUNT>0 Then Locate ,2 : Centre "ON "+DISKDRIVE$
  895.   If COUNT=0
  896.     Locate ,4 : Pen 4
  897.     Boom 
  898.     Centre "NO ACCOUNT NAMES"
  899.     Locate ,6 : Centre "ON  "+DISKDRIVE$
  900.     Wait 200
  901.     Gosub CLEARW
  902.     Return 
  903.   End If 
  904.   Wait 300
  905.   Gosub CLEARW
  906.   Return 
  907. FILES:
  908.   OP$="FILE NAMES"
  909.   Gosub OPS
  910.   CHECK=0
  911.   Window 4 : Paper 7 : Clw : ROW=4 : CL=10 : Curs Off 
  912.   If ACCOUNT$="" Then Gosub ZEROACCOUNT
  913.   If ACCOUNT$="" Then Goto ALLUP
  914.   FLAG=Exist(DISKDRIVE$+DI$+"/")
  915.   If FLAG=0 Then Goto NOAVAIL
  916.   FF$=Dir First$(DISKDRIVE$+DI$+"/")
  917. NOAVAIL:
  918.   If FF$=""
  919.     Pen 4 : Clw : Boom 
  920.     Locate ,4 : Centre "NO FILES EXIST FOR "+ACCOUNT$
  921.     Locate ,6 : Centre "ACCOUNT"
  922.     Locate ,8 : Centre "ON "+DISKDRIVE$
  923.     Wait 200
  924.     Goto ALLUP
  925.   End If 
  926.   While FF$<>""
  927.     If Mid$(FF$,5,4)=YEAR$
  928.       Locate ,2 : Centre "FOR "+DI$-(Left$(DI$,5))+" ACCOUNT "+YEAR$
  929.       Locate CL,ROW : Print Left$(FF$,8) : CHECK=1
  930.     End If 
  931.     Inc ROW
  932.     If ROW=10
  933.       CL=37 : ROW=4
  934.     End If 
  935.     FF$=Dir Next$
  936.   Wend 
  937.   If CHECK=0
  938.     Boom : Pen 4 : Clw : Locate ,4
  939.     Centre "NO FILES EXIST FOR "+DI$-(Left$(DI$,5))+" ACCOUNT"
  940.     Locate ,6 : Centre "FOR "+YEAR$+" ON "+DISKDRIVE$
  941.   End If 
  942.   Wait 250
  943. ALLUP:
  944.   Gosub CLEARW
  945.   Return 
  946. QUIT:
  947.   QT=1
  948.   If DISKON=1 Then Gosub QUITORCLEAR
  949.   OP$="QUIT!  QUIT!"
  950.   Gosub OPS
  951.   Window 4 : Paper 7 : Clw : Pen 5 : Curs Off 
  952.   Locate 4,4 : Print "ARE YOU SURE YOU WANT TO EXIT PROGRAM Y/N ";
  953.   Input K$ : KP=Asc(K$)
  954.   Curs Off 
  955.   If KP<>89 and KP<>121
  956.     Clw 
  957.     Locate ,4 : Centre "OKEY RETURNING TO PROGRAM"
  958.     Wait 150
  959.     Gosub CLEARW
  960.     Return 
  961.   End If 
  962.   Paper 0 : Clw 
  963.   For X=1 To 640
  964.     Cls 0,X-1,0 To X,256
  965.   Next X
  966.   Wind Close 
  967.   Window 2 : Paper 0 : Clw : Wind Close : Curs Off 
  968.   Hide : Cls 5 : X=2
  969.   For Y=4 To 26
  970.     Locate X,Y
  971.     Print "G O I N G"
  972.     Wait 4
  973.     X=X+3
  974.   Next Y
  975.   Wait 15
  976.   Cls 4 : X1=2 : Pen 5 : Paper 4
  977.   For Y1=26 To 4 Step -1
  978.     Locate X1,Y1
  979.     Print "G O I N G"
  980.     Wait 4
  981.     X1=X1+3
  982.   Next Y1
  983.   Wait 15
  984.   Cls 0 : Pen 3 : Paper 0
  985.   For Y3=4 To 26 Step 2
  986.     Locate ,Y3
  987.     Centre "G O N E"
  988.     Wait 5
  989.   Next Y3
  990.   Wait 50
  991.   Cls 7
  992.   Get Disc Fonts 
  993.   Set Font 1
  994.   LIN1$="O.K." : TL1=Text Length(LIN1$)
  995.   LIN2$="BANK CLOSED" : TL2=Text Length(LIN2$)
  996.   LIN3$="PLEASE RESET" : TL3=Text Length(LIN3$)
  997.   LIN4$="OR SWITCH OFF" : TL4=Text Length(LIN4$)
  998.   Text 320-TL1/2,40,LIN1$
  999.   Text 320-TL2/2,100,LIN2$
  1000.   Text 320-TL3/2,160,LIN3$
  1001.   Text 320-TL4/2,220,LIN4$
  1002.   Show 
  1003.   Do : Loop 
  1004.   Return 
  1005. FEDIT:
  1006.   OP$="EDIT DATA"
  1007.   Gosub OPS
  1008.   Window 4 : Paper 7 : Clw : Curs Off 
  1009.   If F=0
  1010.     M$="EDIT"
  1011.     Gosub NODATMEM
  1012.     Gosub CLEARW
  1013.     Return 
  1014.   End If 
  1015.   Locate 8,3 : Print "EDIT WHICH LINE > ";
  1016.   Input K$
  1017.   ED=Val(K$)
  1018.   Clw : Curs Off 
  1019.   If ED<1 or ED>F Then Goto HEXIT
  1020.   SET3=-1
  1021.   TEMPSTORE=F
  1022.   F=ED
  1023.   Gosub EDENTER
  1024.   SET3=0
  1025.   F=TEMPSTORE : ED=0
  1026.   Goto OKEY
  1027. HEXIT:
  1028.   Clw : Pen 4 : Boom 
  1029.   Locate ,4 : Centre "THIS LINE DOES NOT EXIST"
  1030.   Wait 150 : Clw : Pen 5
  1031. OKEY:
  1032.   Gosub CLEARW
  1033.   Gosub STATUS
  1034.   Return 
  1035. OPS:
  1036.   Window 0
  1037.   Paper 5 : Pen 4
  1038.   Locate ,8 : Centre "                    "
  1039.   Locate ,8 : Centre OP$
  1040.   Return 
  1041. ZEROACCOUNT:
  1042.   Boom : Pen 4 : Curs Off 
  1043.   Locate ,4 : Centre "NO  ACCOUNT  SELECTED"
  1044.   Wait 150 : Pen 5
  1045.   Return 
  1046. NODATMEM:
  1047.   Window 4 : Paper 7 : Clw : Curs Off 
  1048.   Boom : Pen 4 : Curs Off 
  1049.   Locate ,4 : Centre "NO DATA IN MEMORY TO "+M$
  1050.   Wait 200 : Pen 5
  1051.   Return 
  1052. CAL:
  1053.   Reserve Zone 13
  1054.   Pen 6
  1055.   Locate 40,6 : Print "CLICK ON MONTH"
  1056.   Locate 40,8 : Print LSD$
  1057.   Locate 40,10 : Print "   OR ABORT"
  1058.   ZM=0 : KM=0 : K$=""
  1059.   Repeat 
  1060.     ZM=Mouse Zone : KM=Mouse Key
  1061.     If ZM<>1 Then Locate 4,1 : Pen 5 : Print Zone$(Border$("   JAN   ",1),1)
  1062.     If ZM=1 Then Locate 4,1 : Pen 3 : Print Zone$(Border$("   Jan   ",3),1)
  1063.     If ZM<>2 Then Locate 4,4 : Pen 5 : Print Zone$(Border$("   FEB   ",1),2)
  1064.     If ZM=2 Then Locate 4,4 : Pen 3 : Print Zone$(Border$("   Feb   ",3),2)
  1065.     If ZM<>3 Then Locate 4,7 : Pen 5 : Print Zone$(Border$("   MAR   ",1),3)
  1066.     If ZM=3 Then Locate 4,7 : Pen 3 : Print Zone$(Border$("   Mar   ",3),3)
  1067.     If ZM<>4 Then Locate 4,10 : Pen 5 : Print Zone$(Border$("   APR   ",1),4)
  1068.     If ZM=4 Then Locate 4,10 : Pen 3 : Print Zone$(Border$("   Apr   ",3),4)
  1069.     If ZM<>5 Then Locate 16,1 : Pen 5 : Print Zone$(Border$("   MAY   ",1),5)
  1070.     If ZM=5 Then Locate 16,1 : Pen 3 : Print Zone$(Border$("   May   ",3),5)
  1071.     If ZM<>6 Then Locate 16,4 : Pen 5 : Print Zone$(Border$("   JUN   ",1),6)
  1072.     If ZM=6 Then Locate 16,4 : Pen 3 : Print Zone$(Border$("   Jun   ",3),6)
  1073.     If ZM<>7 Then Locate 16,7 : Pen 5 : Print Zone$(Border$("   JUL   ",1),7)
  1074.     If ZM=7 Then Locate 16,7 : Pen 3 : Print Zone$(Border$("   Jul   ",3),7)
  1075.     If ZM<>8 Then Locate 16,10 : Pen 5 : Print Zone$(Border$("   AUG   ",1),8)
  1076.     If ZM=8 Then Locate 16,10 : Pen 3 : Print Zone$(Border$("   Aug   ",3),8)
  1077.     If ZM<>9 Then Locate 28,1 : Pen 5 : Print Zone$(Border$("   SEP   ",1),9)
  1078.     If ZM=9 Then Locate 28,1 : Pen 3 : Print Zone$(Border$("   Sep   ",3),9)
  1079.     If ZM<>10 Then Locate 28,4 : Pen 5 : Print Zone$(Border$("   OCT   ",1),10)
  1080.     If ZM=10 Then Locate 28,4 : Pen 3 : Print Zone$(Border$("   Oct   ",3),10)
  1081.     If ZM<>11 Then Locate 28,7 : Pen 5 : Print Zone$(Border$("   NOV   ",1),11)
  1082.     If ZM=11 Then Locate 28,7 : Pen 3 : Print Zone$(Border$("   Nov   ",3),11)
  1083.     If ZM<>12 Then Locate 28,10 : Pen 5 : Print Zone$(Border$("   DEC   ",1),12)
  1084.     If ZM=12 Then Locate 28,10 : Pen 3 : Print Zone$(Border$("   Dec   ",3),12)
  1085.     If ZM<>13
  1086.       Locate 42,2 : Pen 4
  1087.       Print Zone$(Border$("  ABORT  ",2),13)
  1088.       Pen 5
  1089.     End If 
  1090.     If ZM=13
  1091.       Locate 42,2 : Pen 4 : Inverse On 
  1092.       Print Zone$(Border$("  ABORT  ",4),13)
  1093.       Pen 5 : Inverse Off 
  1094.     End If 
  1095.   Until KM=1 and ZM>0
  1096.   Reserve Zone 
  1097.   If ZM=1 Then K$="Jan"
  1098.   If ZM=2 Then K$="Feb"
  1099.   If ZM=3 Then K$="Mar"
  1100.   If ZM=4 Then K$="Apr"
  1101.   If ZM=5 Then K$="May"
  1102.   If ZM=6 Then K$="Jun"
  1103.   If ZM=7 Then K$="Jul"
  1104.   If ZM=8 Then K$="Aug"
  1105.   If ZM=9 Then K$="Sep"
  1106.   If ZM=10 Then K$="Oct"
  1107.   If ZM=11 Then K$="Nov"
  1108.   If ZM=12 Then K$="Dec"
  1109.   If ZM=13 Then K$=""
  1110.   Return 
  1111. INFORM:
  1112.   Screen Hide 1
  1113.   Screen Open 2,640,256,8,Hires
  1114.   Hide 
  1115. AGAIN:
  1116.   Home : Curs Off : Paper 7 : Cls : Pen 5 : CN=0 : KM=0
  1117.   Locate ,4 : Centre "MENU OF DOCUMENTATION"
  1118.   Locate 24,8 : Print "1    Gadgets  A  -  D"
  1119.   Locate 24,10 : Print "2    Gadgets  D  -  E"
  1120.   Locate 24,12 : Print "3    Gadgets  F  -  R"
  1121.   Locate 24,14 : Print "4    Gadgets  S  -  Y"
  1122.   Locate 24,16 : Print "4    Esc Key"
  1123.   Locate 24,18 : Print "4    Status Window"
  1124.   Locate 24,20 : Print "5    QUIT Documentation"
  1125.   Locate 30,26 : Input "Enter Choice Number ";CN
  1126.   On CN Gosub A_D,D_E,F_R,S_Y,KAPUT
  1127.   If CN=5 Then Return 
  1128.   Goto AGAIN
  1129. KAPUT:
  1130.   Cls 
  1131.   Screen Close 2
  1132.   Screen Show 1
  1133.   Show 
  1134.   Return 
  1135. A_D:
  1136.   Cls : Curs Off 
  1137.   Locate 2,1 : Under On : Pen 6 : Print "ACCOUNT" : Under Off : Pen 5 : Locate 6,2
  1138.   Print "Allows you to select the name of the Account you want to deal with."
  1139.   Locate 6,3
  1140.   Print "Point either to the Account Name you want, or Abort, and click the left"
  1141.   Locate 6,4
  1142.   Print "mouse button. Select an Account before entering/loading/saving data."
  1143.   Locate 2,6 : Under On : Pen 6 : Print "ACCOUNT NAMES" : Under Off : Pen 5 : Locate 6,7
  1144.   Print "Lists the Account Names on your selected drive."
  1145.   Locate 2,9 : Under On : Pen 6 : Print "DELETE" : Under Off : Pen 5 : Locate 6,10
  1146.   Print "Deletes a month from your selected disk, account and year."
  1147.   Locate 6,11
  1148.   Print "Point either to the month you want to delete, or Abort, and click"
  1149.   Locate 6,12
  1150.   Print "the left mouse button."
  1151.   Locate 2,14 : Under On : Pen 6 : Print "DISPLAY" : Under Off : Pen 5 : Locate 6,15
  1152.   Print "Takes you to a selection screen, selecting NO displays your data on "
  1153.   Locate 6,16
  1154.   Print "screen, pressing the left mouse button scrolls the data upwards while"
  1155.   Locate 6,17
  1156.   Print "pressing the right mouse button scrolls it back down, pressing both"
  1157.   Locate 6,18
  1158.   Print "mouse buttons together aborts the display mode. The figures under the"
  1159.   Locate 6,19
  1160.   Print "line at the bottom are your total receipts and payments for the month"
  1161.   Locate 6,20
  1162.   Print "followed by the balance between the two."
  1163.   Locate 6,21
  1164.   Print "Selecting YES on the selection screen again displays your data but here"
  1165.   Locate 6,22
  1166.   Print "you are able to try and verify your balance with that of the statement"
  1167.   Locate 6,23
  1168.   Print "received from your bank. To do this just enter the amounts that have not"
  1169.   Locate 6,24
  1170.   Print "yet come through on your statement."
  1171.   Locate 6,25
  1172.   Print "If you have more than twenty entries in a month you will have two pages"
  1173.   Locate 6,26
  1174.   Print "of data, enter either < f > or < s > as requested to swap pages."
  1175.   Locate 6,27
  1176.   Print "Enter < v > to abort this screen."
  1177.   Gosub RODENT
  1178.   Return 
  1179. D_E:
  1180.   Cls : Curs Off 
  1181.   Locate 2,1 : Under On : Pen 6 : Print "DOCS" : Under Off : Pen 5 : Locate 6,2
  1182.   Print "Brings up the Menu screen for this documentation."
  1183.   Locate 2,4 : Under On : Pen 6 : Print "DRIVE" : Under Off : Pen 5 : Locate 6,5
  1184.   Print "Allows you to select which drive you want to save to and load from."
  1185.   Locate 6,6
  1186.   Print "Default is df0:, to change this click on the required Drive number."
  1187.   Locate 2,8 : Under On : Pen 6 : Print "EDIT" : Under Off : Pen 5 : Locate 6,9
  1188.   Print "Enter the Number of the Line you wish to edit, the line Numbers are"
  1189.   Locate 6,10
  1190.   Print "shown on the Display Screen down the left-hand side."
  1191.   Locate 6,11
  1192.   Print "To edit the line just enter the new data for which ever item you are"
  1193.   Locate 6,12
  1194.   Print "changing and press return, for items that do not require to be altered"
  1195.   Locate 6,13
  1196.   Print "just press return."
  1197.   Locate 2,15 : Under On : Pen 6 : Print "ENTER" : Under Off : Pen 5 : Locate 6,16
  1198.   Print "To enter your Data. First enter the date, by using the first three"
  1199.   Locate 6,17
  1200.   Print "letters of the month followed by a space then two digits, include"
  1201.   Locate 6,18
  1202.   Print "a leading zero if the date is between the 1st and 9th < Jun 04 >."
  1203.   Locate 6,19
  1204.   Print "Pressing Return here without entering the date aborts data entry."
  1205.   Locate 6,20
  1206.   Print "Next enter details of your transaction, maximum of 25 characters."
  1207.   Locate 6,21
  1208.   Print "Enter < o > for the opening balance at start of month."
  1209.   Locate 6,22
  1210.   Print "Next as reference, enter either your cheque number, < d > if a"
  1211.   Locate 6,23
  1212.   Print "Direct Debit, < s > if a Standing Order, or leave blank."
  1213.   Locate 6,24
  1214.   Print "Lastly enter the amount under Paid-in or Withdrawn. Include a zero"
  1215.   Locate 6,25
  1216.   Print "before the decimal point if only entering pence < 0.85 >, also if"
  1217.   Locate 6,26
  1218.   Print "entering only pounds include the two zeros after the point."
  1219.   Locate 6,27
  1220.   Print "Now if all your entries are okey click the Left Mouse Button on"
  1221.   Locate 6,28
  1222.   Print "BANK STATEMENT, if not click in this Window and try again."
  1223.   Locate 6,29
  1224.   Print "You are allowed up to 40 entries per month."
  1225.   Gosub RODENT
  1226.   Return 
  1227. F_R:
  1228.   Cls : Curs Off 
  1229.   Locate 2,1 : Under On : Pen 6 : Print "FILES" : Under Off : Pen 5 : Locate 6,2
  1230.   Print "This lists the file names (Months) that are available on your selected"
  1231.   Locate 6,3
  1232.   Print "drive, for whatever Account you have selected."
  1233.   Locate 2,5 : Under On : Pen 6 : Print "LOAD" : Under Off : Pen 5 : Locate 6,6
  1234.   Print "Loads data from your selected disk, account and year. Point either to"
  1235.   Locate 6,7
  1236.   Print "the month you want to load, or abort, and click the left mouse button."
  1237.   Locate 2,9 : Under On : Pen 6 : Print "NEW ACCOUNT" : Under Off : Pen 5 : Locate 6,10
  1238.   Print "Enter the name of your account, up to 8 characters."
  1239.   Locate 6,11
  1240.   Print "You are allowed a maximum of six Accounts on a disk."
  1241.   Locate 2,13 : Under On : Pen 6 : Print "PRINT" : Under Off : Pen 5 : Locate 6,14
  1242.   Print "Hi-Light either Draft or NLQ by moving the pointer onto it, then click"
  1243.   Locate 6,15
  1244.   Print "on the OK box for a Print-Out."
  1245.   Locate 2,17 : Under On : Pen 6 : Print "QUIT" : Under Off : Pen 5 : Locate 6,18
  1246.   Print "Quits the program after asking if this what you want to do."
  1247.   Locate 2,20 : Under On : Pen 6 : Print "RENAME" : Under Off : Pen 5 : Locate 6,21
  1248.   Print "This allows you to Rename either an Account or a Month."
  1249.   Locate 6,22
  1250.   Print "Hi-Light which option you want to Rename by moving the pointer"
  1251.   Locate 6,23
  1252.   Print "onto it, then click on OK. Then enter the old (present) name followed"
  1253.   Locate 6,24
  1254.   Print "by the new name as requested. When changing the name of a month you"
  1255.   Locate 6,25
  1256.   Print "will have to have selected a valid Account name and Year."
  1257.   Gosub RODENT
  1258.   Return 
  1259. S_Y:
  1260.   Cls : Curs Off 
  1261.   Locate 2,1 : Under On : Pen 6 : Print "SAVE" : Under Off : Pen 5 : Locate 6,2
  1262.   Print "Saves data to your selected disk, account and year. Point either to"
  1263.   Locate 6,3
  1264.   Print "month you want to save, or abort, and click the left mouse button."
  1265.   Locate 2,5 : Under On : Pen 6 : Print "YEAR" : Under Off : Pen 5 : Locate 6,6
  1266.   Print "Alows you to change the year when you have more than one years monthly"
  1267.   Locate 6,7
  1268.   Print "statements. Just enter the year as four digits. Default is 1991."
  1269.   Locate 2,9 : Under On : Pen 6 : Print "Esc KEY" : Under Off : Pen 5 : Locate 6,10
  1270.   Print "Clears the current data out of memory, but first you are given a chance"
  1271.   Locate 6,11
  1272.   Print "to save it, in case you forgot."
  1273.   Locate 2,14 : Under On : Pen 6 : Print "STATUS WINDOW"
  1274.   Locate 6,16 : Under Off : Pen 5
  1275.   Print "This shows from Left to Right:-"
  1276.   Locate 41,16 : Print "Month & Year"
  1277.   Locate 41,18 : Print "Account Name"
  1278.   Locate 41,20 : Print "Your Latest Balance"
  1279.   Locate 41,22 : Print "The Number of Records (Lines)"
  1280.   Locate 41,24 : Print "Current Disk Drive"
  1281.   Locate 41,26 : Print "Monthly Receipts & Payments Balance"
  1282.   Gosub RODENT
  1283.   Return 
  1284. RODENT:
  1285.   Locate ,31 : Pen 3 : Centre "Click Left Mouse Button to Return to Menu"
  1286.   While KM=0 : KM=Mouse Key : Wend 
  1287.   Pen 5
  1288.   Return 
  1289. QUITORCLEAR:
  1290.   If QT=1 Then L3$="BEFORE QUITING" Else L3$="BEFORE CLEARING MEMORY"
  1291.   If F>0
  1292.     OP$="DATA NOT SAVED"
  1293.     Gosub OPS
  1294.     Window 4 : Paper 7 : Clw : Pen 4 : Curs Off : Boom 
  1295.     Locate ,2 : Centre "DATA HAS NOT BEEN SAVED"
  1296.     Locate ,4 : Centre "DO YOU WANT TO SAVE IT"
  1297.     Locate ,6 : Centre L3$
  1298.     Locate 21,8 : Print " Y or N "; : Input YN$
  1299.     Paper 0 : Clw : Pen 5 : QT=0
  1300.   End If 
  1301.   If YN$="y" Then Gosub FSAVE
  1302.   OP$=""
  1303.   Gosub OPS
  1304. Return 
  1305. Procedure FEATURES
  1306.   Shared SELECT
  1307.   QQ=0 : Curs Off 
  1308.   Reserve Zone 3
  1309.   Pen 4 : Locate 10,5
  1310.   Print Zone$(Border$("DRAFT",4),1)
  1311.   Locate 41,5
  1312.   Print Zone$(Border$(" NLQ ",4),2)
  1313.   Locate ,7
  1314.   Centre Zone$(Border$(" O.K ",6),3)
  1315.   DUMMY=1
  1316. GOJO:
  1317.   QQ=Mouse Zone : KK=Mouse Key
  1318.   If QQ=1 or DUMMY=1
  1319.     Locate 10,5 : Pen 5
  1320.     Inverse On 
  1321.     Print Zone$(Border$("DRAFT",4),1)
  1322.     Locate 41,5 : Pen 4
  1323.     Inverse Off 
  1324.     Print Zone$(Border$(" NLQ ",4),2)
  1325.     SELECT=1
  1326.   Else If QQ=2
  1327.     Locate 10,5 : Pen 4
  1328.     Inverse Off 
  1329.     Print Zone$(Border$("DRAFT",4),1)
  1330.     Locate 41,5 : Pen 5
  1331.     Inverse On 
  1332.     Print Zone$(Border$(" NLQ ",4),2)
  1333.     SELECT=2
  1334.   End If 
  1335.   End If 
  1336.   If QQ=3 and KK=1 and INV=0
  1337.     Locate ,7 : Pen 4
  1338.     Inverse Off 
  1339.     Centre Zone$(Border$(" O.K ",6),3)
  1340.     INV=1 : GOTIT=0
  1341.   Else If QQ=3 and KK=1 and INV=1
  1342.     Locate ,7 : Pen 5
  1343.     Inverse On 
  1344.     Centre Zone$(Border$(" O.K ",6),3)
  1345.     INV=0 : GOTIT=1
  1346.     Wait 25
  1347.   End If 
  1348.   End If 
  1349.   DUMMY=0
  1350.   If GOTIT=0 Then Goto GOJO
  1351.   Paper 0 : Clw 
  1352.   Reserve Zone 
  1353. End Proc
  1354. Procedure WHICHKEY
  1355.   Shared WHICH
  1356.   Q=0 : Curs Off 
  1357.   Reserve Zone 3
  1358.   Pen 4 : Locate 5,5
  1359.   Print Zone$(Border$("RENAME ACCOUNT",4),1)
  1360.   Locate 37,5
  1361.   Print Zone$(Border$(" RENAME MONTH ",4),2)
  1362.   Locate ,7
  1363.   Centre Zone$(Border$(" O  K ",6),3)
  1364. JOGO:
  1365.   QQ=Mouse Zone : KK=Mouse Key
  1366.   If QQ=1
  1367.     Locate 5,5 : Pen 5
  1368.     Inverse On 
  1369.     Print Zone$(Border$("RENAME ACCOUNT",4),1)
  1370.     Locate 37,5 : Pen 4
  1371.     Inverse Off 
  1372.     Print Zone$(Border$(" RENAME MONTH ",4),2)
  1373.     WHICH=1
  1374.   Else If QQ=2
  1375.     Locate 5,5 : Pen 4
  1376.     Inverse Off 
  1377.     Print Zone$(Border$("RENAME ACCOUNT",4),1)
  1378.     Locate 37,5 : Pen 5
  1379.     Inverse On 
  1380.     Print Zone$(Border$(" RENAME MONTH ",4),2)
  1381.     WHICH=2
  1382.   End If 
  1383.   End If 
  1384.   If QQ=3 and KK=1 and INV=0
  1385.     Locate ,7 : Pen 4
  1386.     Inverse Off 
  1387.     Centre Zone$(Border$(" O  K ",6),3)
  1388.     INV=1 : GOTIT=0
  1389.   Else If QQ=3 and KK=1 and INV=1
  1390.     Locate ,7 : Pen 5
  1391.     Inverse On 
  1392.     Centre Zone$(Border$(" O  K ",6),3)
  1393.     INV=0 : GOTIT=1
  1394.     Wait 25
  1395.   End If 
  1396.   End If 
  1397.   If GOTIT=0 Then Goto JOGO
  1398.   Paper 0 : Clw 
  1399.   Reserve Zone 
  1400. End Proc
  1401. Procedure ANSWER
  1402.   Shared YEANEA
  1403.   Curs Off 
  1404.   Locate ,37 : Pen 3 : Centre "Click Left Mouse Button on YES or NO"
  1405.   Reserve Zone 3
  1406.   Pen 4 : Locate ,16
  1407.   Centre Zone$(Border$(" Y E S ",3),1)
  1408.   Locate ,22 : Pen 5 : Inverse On 
  1409.   Centre Zone$(Border$(" DO YOU WANT TO VERIFY WITH BANK STATEMENT ",4),3)
  1410.   Locate ,28 : Pen 4 : Inverse Off 
  1411.   Centre Zone$(Border$(" N  O ",3),2)
  1412. JODI:
  1413.   QQ=Mouse Zone : KK=Mouse Key
  1414.   If QQ=1
  1415.     Locate ,16 : Pen 5
  1416.     Inverse On 
  1417.     Centre Zone$(Border$(" Y E S ",3),1)
  1418.     Locate ,28 : Pen 4
  1419.     Inverse Off 
  1420.     Centre Zone$(Border$(" N  O ",3),2)
  1421.     YEANEA=1
  1422.   Else If QQ=2
  1423.     Locate ,16 : Pen 4
  1424.     Inverse Off 
  1425.     Centre Zone$(Border$(" Y E S ",3),1)
  1426.     Locate ,28 : Pen 5
  1427.     Inverse On 
  1428.     Centre Zone$(Border$(" N  O ",3),2)
  1429.     YEANEA=2
  1430.   End If 
  1431.   End If 
  1432.   If KK>0 and QQ<>1 and QQ<>2 Then Goto JODI
  1433.   If KK=0 Then Goto JODI
  1434.   Wait 8
  1435.   Reserve Zone 
  1436. End Proc
  1437. Procedure _SMALL_COPYRIGHT[YDISPLAY]
  1438.    '
  1439.    Auto View Off 
  1440.    '  
  1441.    Screen Open 7,320,24,16,0 : Curs Off : Flash Off : Cls 0
  1442.    Screen Display 7,,-100,,
  1443.    Paste Bob 260,3,1
  1444.    Paper 0 : Pen 7 : Print At(1,1);"This program was written using"
  1445.    Get Sprite Palette 
  1446.    View : Wait Vbl 
  1447.    '
  1448.    For Y=1 To Screen Height/2
  1449.       Screen Display 7,,YDISPLAY+Screen Height/2-Y,,Y*2
  1450.       Screen Offset 7,,Screen Height/2-Y
  1451.       View : Wait Vbl 
  1452.    Next 
  1453.    '
  1454.    Wait 250
  1455.    '
  1456.    For Y=Screen Height/2 To 0 Step -1
  1457.       Screen Display 7,,YDISPLAY+Screen Height/2-Y,,Y*2
  1458.       Screen Offset 7,,Screen Height/2-Y
  1459.       View : Wait Vbl 
  1460.    Next 
  1461.    '
  1462.    Screen Close 7
  1463.    Auto View On 
  1464.    '
  1465. End Proc