1000 // Sample Check Register Using Random File 1005 // This is the program described in "Working With Files" 1010 data 1000 // start balance 1020 data -25.40, 100, -16.65, -35.82, -99.95, -10, -35.17 // checks 1030 data 195.00, -30.95, -25.50, -123.40, -89.99, 50.00 // checks 1040 open random,2,"register.data",60 1050 field #2, 30 as descr$, 10 as deposit$, 10 as check$, 10 as balance$ 1060 recnum = 1 1065 descr$ = "Item:": rset check$ = "Check:": 1070 rset deposit$ = "Deposit:": rset balance$ = "Balance:" 1080 put #2, recnum 1090 recnum = recnum + 1 1100 read bal 1110 print #2 : // blank the buffer 1120 b$=str$(bal, "####.##") 1130 rset balance$ = b$ 1140 descr$="Starting balance" 1150 put #2, recnum 1160 recnum = recnum + 1 1165 chknum = 1 1170 while read(2) > 0 1180 read chk 1190 write #2 1200 if chk > 0 goto 1240 1210 descr$ = "Check #" + str$(chknum, "###") 1220 rset check$ = str$(-chk,"####.##") 1225 chknum = chknum + 1 1230 goto 1260 1240 descr$ = "Deposit" 1250 rset deposit$ = str$(chk,"####.##") 1260 put #2, recnum 1270 recnum = recnum + 1 1280 wend 1290 recs = recnum 1300 // calculate running balance 1310 recnum = 3 1320 while recnum < recs 1330 get #2, recnum 1340 bal = bal - val(check$) + val(deposit$) 1350 rset balance$ = str$ (bal, "####.##") 1360 put #2, recnum 1370 recnum = recnum + 1 1380 wend 1390 // print 1400 recnum = 1 1410 while recnum < recs 1420 get #2, recnum 1430 line input #2, line$ 1440 print line$ 1450 recnum = recnum + 1 1460 wend