10 ! ================================================
20 ! program INDKOMP.BAC
30 ! version 2.0
40 ! 1984-03-12
50 !
60 ! ( C ) Leif Eriksson < 397 >
61 ! G{vle 026-195271
70 !
90 ! ================================================
100 !
101 ! OBS !!!!!!!! Detta program fungerar inte, utan f}r ses som ett
102 ! utkast till ett b{ttre program.
103 !
110 INTEGER : EXTEND
120 DIM I$=253
130 PRINT CHR$(12)
140 PRINT CUR(22,0) STRING$(80,61)
150 PRINT CUR(0,0) STRING$(80,61)
160 PRINT CUR(2,0) STRING$(80,61)
170 PRINT CUR(1,0) ' ABC800 ** L{gga till en s|knyckel. **' TAB(80) ''
180 !
190 DEF FNSudda$
200 FOR I=3 TO 21
210 PRINT CUR(I,0) SPACE$(80)
220 NEXT I
230 RETURN ''
240 FNEND
250 !
260 DEF FNInp$(Text$,Leng) LOCAL Var$=160,Slask$=1
270 Var$=''
280 PRINT Text$+Var$+STRING$(Leng-LEN(Var$),95) Text$+Var$;
290 GET Slask$
300 ON INSTR(1,CHR$(13,8,24),Slask$)+1 GOTO 340,310,330,270
310 PRINT SPACE$(Leng-LEN(Var$));
320 RETURN Var$
330 IF LEN(Var$)>0 THEN Var$=LEFT$(Var$,LEN(Var$)-1)
340 IF (ASCII(Slask$)>31 AND ASCII(Slask$)<128) THEN IF LEN(Var$)LEN(Name$)
400 I=I+1
410 IF ASCII(MID$(Name$,I,1))>95 AND ASCII(MID$(Name$,I,1))<127 THEN MID$(Name$,I,1)=CHR$(ASCII(MID$(Name$,I,1))-32)
420 WEND
430 RETURN Name$
440 FNEND
450 !
460 ON ERROR GOTO 1380
470 PRINT CUR(5,0) 'S{tt i en iordningst{lld men tom skiva i DR0: /den v{nstra luckan/'
480 PRINT CUR(7,0) 'och en registerskiva i DR1: /den h|gra luckan/'
490 PRINT CUR(21,0) 'Tryck p} en PF tangent f|r }terg}ng till Menyn.'
500 PRINT CUR(9,0) 'Tryck p} RETURN n{r du {r klar!';
510 INPUT ''P$
520 ON ERROR GOTO 660
530 OPEN 'DR1:DATA.ID' AS FILE 1
540 POSIT #1,6
550 GET #1,P$ COUNT 12
560 POSIT #1,0
570 GET #1 Temp$ COUNT 2
580 Postant=CVT$%(Temp$)
590 CLOSE
600 PRINT : PRINT : PRINT 'DR1: inneh}ller register ' P$
610 PRINT '[r det OK (J/N) '; : INPUT P$
620 P$=FNConv$(P$)
630 IF P$='N' THEN GOTO 130
640 IF P$<>'J' THEN 610
650 GOTO 690
660 ; CHR$(7) ! tut
670 PRINT : PRINT 'FEL nummer: ' ERRCODE
680 PRINT 'Tryck p} en tangent.' : GET P$ : GOTO 130
690 !
700 ON ERROR GOTO 840
710 OPEN 'DR0:DATA.ID' AS FILE 1
720 PUT #1 CVT%$(Postant)
730 CLOSE
740 OPEN 'DR0:DATA.ISM' AS FILE 1
750 POSIT #1,1
760 GET #1 P$
770 Temp=ASCII(P$)
780 Temp=Temp-1
790 P$=CHR$(Temp)
800 POSIT #1,1
810 PUT #1 P$
820 CLOSE
830 GOTO 900
840 ; CHR$(7) ! tut
850 PRINT CUR(5,0) 'FEL nummer: ' ERRCODE ' p} v{nstra driven.'
860 PRINT : PRINT 'Sitter det verkligen en formatterad tom skiva d{r?'
870 PRINT 'OBS ! \ppna inte luckan f|rr{n den r|da lysdioden slocknat!'
880 PRINT
890 PRINT 'Tryck p} en tangent.' : GET P$ : GOTO 690
900 ! ---------------------------------------------------
910 PRINT FNSudda$
911 PRINT CUR(5,0) 'Detta tar en bra stund, s} ha t}lamod.'
920 !
930 ! nu flyttar vi |ver datafilen
940 !
950 ON ERROR GOTO 1460
960 ISAM OPEN 'DR1:DATA.ISM' AS FILE 2
970 ISAM OPEN 'DR0:DATA.ISM' AS FILE 4
974 Nr=1
975 PRINT CUR(10,0) 'Jag flyttar nu post ' Nr ' av ' Postant : Nr=Nr+1
980 ISAM READ #2,I$ FIRST
990 ISAM WRITE #4,I$
1000 FOR I=1 TO Postant-1
1005 PRINT CUR(10,0) 'Jag flyttar nu post ' Nr ' av ' Postant : Nr=Nr+1
1010 ISAM READ #2,I$ NEXT
1020 ISAM WRITE #4,I$
1030 NEXT I
1040 ! {ndra drivenummer
1050 CLOSE
1060 ON ERROR GOTO 1170
1070 OPEN 'DR0:DATA.ISM' AS FILE 1
1080 POSIT #1,1
1090 GET #1,Temp$
1100 Temp=ASCII(Temp$)
1110 Temp=Temp+1
1120 Temp$=CHR$(Temp)
1130 POSIT #1,1
1140 PUT #1,Temp$
1150 CLOSE : GOTO 1190
1160 !
1170 PRINT 'FEL nummer: ' ERRCODE ' Tryck p} tangent. '; : GET P$
1180 !
1190 PRINT FNSudda$
1200 P$=FNInp$(CUR(5,0)+'Vill du radera dataskivan i DR1: (J/N) ',1)
1210 P$=FNConv$(P$)
1220 IF P$='N' THEN 1320
1230 IF P$<>'J' THEN 1200
1240 P$=FNInp$(CUR(8,0)+'ABSOLUT s{ker (J/N) ???????????? ',1)
1250 P$=FNConv$(P$)
1260 IF P$='N' THEN 1320
1270 IF P$<>'J' THEN 1200
1280 KILL 'DR1:DATA.ID'
1290 KILL 'DR1:DATA.ISM'
1300 KILL 'DR1:DATA.DAT'
1310 KILL 'DR1:PRINTER.DAT'
1320 PRINT FNSudda$
1330 PRINT CUR(5,0) 'S{tt i PROGRAM-skivan i DR0: /v{nstra luckan/'
1340 PRINT 'Tryck sedan p} en tangent.'
1350 PRINT 'OBS! v{nta till lysdioden har slocknat.'
1360 ON ERROR GOTO 1410
1370 GET P$
1380 CHAIN 'MENY'
1390 !
1400 !
1410 PRINT Sudda$
1420 PRINT CUR(5,0) 'Har du verkligen satt i PROGRAM-skivan i v{nstra driven?'
1430 PRINT 'Se efter n{r den r|da lysdioden har slocknat.'
1440 PRINT 'Tryck sedan p} en tangent. ';
1450 GOTO 1360
1460 PRINT FNSudda$
1470 CLOSE
1480 PRINT CUR(5,0) 'FEL nummer ' ERRCODE ' vid |verf|ring av DATA fil.'
1490 GET P$ : GOTO 130
1500 !
1510 ! =================================================================