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 