|
DataMuseum.dkPresents historical artifacts from the history of: MIKADOS |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about MIKADOS Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 7584 (0x1da0) Notes: Mikados TextFile, Mikados_K Names: »DEMO_RAN«
└─⟦92e6f589c⟧ Bits:30003895/4xCOMAL3b.imd 4 * COMAL - SPC/1 - Disketter til bogen └─⟦this⟧ »DEMO_RAN« └─⟦faca42ef2⟧ Bits:30003895/4xCOMAL1.imd 4 * COMAL - SPC/1 - Disketter til bogen └─⟦this⟧ »DEMO_RAN«
0100 // ----------------------- demo_RANDOM --------------------------- 0110 // Direkte (random) filer 0120 // Programmet er beregnet til at oprette og vedligeholde et kas- 0130 // settebåndkartotek. Det er således muligt at slette bånd, 0140 PRINT 0150 // Et bånd slettes ved at sætte båndlængden til 0. 0160 // --------------------------------------------------------------- 0170 DIM SIDEA$ OF 70,SIDEB$ OF 70,TOM$ OF 70,FILNAVN$ OF 16,SV$ OF 1 0180 INTEGER ØNSKE,TYPE,LÆNGDE,STØJ,I,J,BÅNDNUMMER,POSTANTAL,POSTSTØRRELSE,L 0190 INTEGER FØRSTE,SIDSTE 0200 TOM$:=" " 0210 TOM$:=TOM$+TOM$ 0220 // --------------------------------------------------------------- 0230 REPEAT 0240 EXEC VALG 0250 UNTIL ØNSKE=6 0260 // --------------------------------------------------------------- 0270 PROC VALG 0280 CLEAR 0290 CURSOR 20,1 0300 PRINT "B Å N D K A R T O T E K " 0310 CURSOR 20,2 0320 PRINT "------------------------" 0330 CURSOR 20,4 0340 PRINT "Programmet byder på følgende muligheder:" 0350 CURSOR 20,5 0360 PRINT "---------------------------------------" 0370 CURSOR 20,7 0380 PRINT "1. Oprettelse af nyt kartotek" 0390 CURSOR 20,9 0400 PRINT "2. Skrive i kartoteket" 0410 CURSOR 20,11 0420 PRINT "3. Rette i kartoteket" 0430 CURSOR 20,13 0440 PRINT "4. Læse i kartoteket" 0450 CURSOR 20,15 0460 PRINT "5. Udskrive kartoteket på printeren" 0470 CURSOR 20,17 0480 PRINT "6. Afslutte programkørslen" 0490 REPEAT 0500 CURSOR 20,21 0510 INPUT "Indtast nummeret på den ønskede mulighed:":ØNSKE 0520 UNTIL ØNSKE=>1 AND ØNSKE<=6 0530 CASE ØNSKE OF 0540 WHEN 1 0550 EXEC OPRET 0560 WHEN 2,3 0570 EXEC INDSKRIV 0580 WHEN 4,5 0590 EXEC LÆS 0600 WHEN 6 0610 CURSOR 20,24 0620 PRINT "Programmet er nu afsluttet." 0630 ENDCASE 0640 ENDPROC VALG 0650 // ---------------------------------------------------------- 0660 PROC OPRET 0670 CLEAR 0680 CURSOR 10,5 0690 PRINT " O P R E T T E L S E A F B Å N D K A R T O T E K ." 0700 CURSOR 10,6 0710 PRINT "-------------------------------------------------------" 0720 CURSOR 10,9 0730 PRINT "Hvad skal kartoteket hedde? ", 0740 INPUT "(max 7 tegn): ":FILNAVN$ 0750 FILNAVN$:="SYSTIME:"+FILNAVN$ 0760 CURSOR 10,11 0770 PRINT "Hvor mange bånd skal der være plads til? ", 0780 INPUT POSTANTAL 0790 POSTSTØRRELSE:=3*8+2*72 // 3 tal + 2 tekster 0800 CREATE FILNAVN$,POSTANTAL,POSTSTØRRELSE 0810 TYPE:=1;STØJ:=1;L:=0 0820 OPEN FILNAVN$,W 0830 FOR I:=1 TO POSTANTAL DO 0840 PUT FILNAVN$,I:L,TYPE,STØJ,TOM$,TOM$ 0850 NEXT I 0860 CLOSE FILNAVN$ 0870 CURSOR 10,15 0880 PRINT "Kartoteket: '";FILNAVN$(9:LEN(FILNAVN$)-8);"' er nu oprettet "; 0890 PRINT "med plads til ";POSTANTAL;" bånd" 0900 CURSOR 10,17 0910 PRINT "Poststørrelsen er ";POSTSTØRRELSE 0920 CURSOR 68,23 0930 INPUT " Return!":SV$ 0940 ENDPROC OPRET 0950 // ----------------------------------------------------------------- 0960 PROC INDSKRIV 0970 CLEAR 0980 CURSOR 10,3 0990 PRINT "I N D T A S T N I N G T I L K A R T O T E K ." 1000 CURSOR 10,5 1010 INPUT "Kartotekets navn: ":FILNAVN$ 1020 FILNAVN$:="SYSTIME:"+FILNAVN$ 1030 OPEN FILNAVN$,W 1040 REPEAT 1050 CURSOR 1,10 1060 INPUT "Båndnummer: ":BÅNDNUMMER 1070 GET FILNAVN$,BÅNDNUMMER:L,TYPE,STØJ,SIDEA$,SIDEB$ 1080 PRINT 1090 PRINT "Båndlængde: ";L;" " 1100 PRINT 1110 PRINT "Båndtype: 1: NORMAL 2: CHROM 3: FE-CR "; 1120 PRINT "4: METAL : ";TYPE 1130 PRINT 1140 PRINT "Støjreduktionssystem: "; 1150 PRINT " 1: NORMAL 2: DOLBY B 3: DOLBY C : ";STØJ 1160 PRINT 1170 PRINT "Side A: ";SIDEA$; 1180 FOR I:=1 TO 70-LEN(SIDEA$) DO 1190 PRINT " "; 1200 NEXT I 1210 PRINT 1220 PRINT 1230 PRINT "Side B: ";SIDEB$; 1240 FOR I:=1 TO 70-LEN(SIDEB$) DO 1250 PRINT " "; 1260 NEXT I 1270 PRINT 1280 REPEAT 1290 CURSOR 15,12 1300 INPUT "<Z>":L 1310 CURSOR 64,14 1320 INPUT "<Z>":TYPE 1330 CURSOR 72,16 1340 INPUT "<Z>":STØJ 1350 CURSOR 9,18 1360 INPUT "<Z>":SIDEA$ 1370 CURSOR 9,20 1380 INPUT "<Z>":SIDEB$ 1390 REPEAT 1400 CURSOR 1,22 1410 PRINT "Tast 'r', hvis du vil rette, "; 1420 INPUT "'Return', hvis du vil fortsætte: ":SV$ 1430 UNTIL SV$ IN "Rr" 1440 UNTIL SV$="" 1450 PUT FILNAVN$,BÅNDNUMMER:L,TYPE,STØJ,SIDEA$,SIDEB$ 1460 REPEAT 1470 CURSOR 1,23 1480 INPUT "Skal der flere bånd i kartoteket? (j/n) ":SV$ 1490 UNTIL SV$ IN "JjNn" 1500 CURSOR 1,22 1510 PRINT TOM$ 1520 CURSOR 1,23 1530 PRINT TOM$ 1540 UNTIL SV$ IN "Nn" 1550 CLOSE FILNAVN$ 1560 ENDPROC INDSKRIV 1570 // -------------------------------------------------------------------- 1580 PROC LÆS 1590 CLEAR 1600 CURSOR 10,3 1610 PRINT "U D L Æ S N I N G A F K A R T O T E K " 1620 CURSOR 10,5 1630 INPUT "Kartotekets navn: ":FILNAVN$ 1640 FILNAVN$:="SYSTIME:"+FILNAVN$ 1650 OPEN FILNAVN$,W 1660 CURSOR 10,10 1670 PRINT "Indtast båndnummeret på første og sidste " 1680 CURSOR 10,11 1690 INPUT "bånd, der ønskes læst: ":FØRSTE,SIDSTE 1700 IF ØNSKE=5 THEN 1710 SELECT OUTPUT "P" 1720 IF STATUS("P")=1 THEN 1730 CURSOR 10,12 1740 PRINT "Printeren er reserveret af anden bruger, " 1750 CURSOR 10,13 1760 INPUT "skal der ventes på at den bliver ledig? (j/n) ":SV$ 1770 CURSOR 10,12 1780 PRINT TOM$ 1790 CURSOR 10,13 1800 PRINT TOM$ 1810 IF SV$="J" OR SV$="j" THEN 1820 CURSOR 10,12 1830 PRINT "Der ventes på at printeren bliver ledig....." 1840 WHILE STATUS("P")=1 DO SELECT OUTPUT "P" 1850 ELSE 1860 ØNSKE:=4 // ØNSKE = Udskrift på skærm 1870 ENDIF 1880 ENDIF 1890 ENDIF 1900 IF ØNSKE=5 THEN PRINT "Udskrift fra '",FILNAVN$(9:8),"'" 1910 PRINT 1920 PRINT 1930 FOR BÅNDNUMMER:=FØRSTE TO SIDSTE DO 1940 GET FILNAVN$,BÅNDNUMMER:L,TYPE,STØJ,SIDEA$,SIDEB$ 1950 IF L>0 THEN 1960 PRINT "Bånd nr. ",BÅNDNUMMER 1970 PRINT USING "Båndlængde: #### ":L; 1980 PRINT "Båndtype: "; 1990 CASE TYPE OF 2000 WHEN 1 2010 PRINT "NORMAL "; 2020 WHEN 2 2030 PRINT "CHROM "; 2040 WHEN 3 2050 PRINT "FE-CR "; 2060 WHEN 4 2070 PRINT "METAL "; 2080 OTHERWISE 2090 ENDCASE 2100 PRINT "Støjreduktionssystem: "; 2110 CASE STØJ OF 2120 WHEN 1 2130 PRINT "NORMAL" 2140 WHEN 2 2150 PRINT "DOLBY B" 2160 WHEN 3 2170 PRINT "DOLBY C" 2180 OTHERWISE 2190 PRINT 2200 ENDCASE 2210 PRINT "Side A: ";SIDEA$ 2220 PRINT "Side B: ";SIDEB$ 2230 PRINT 2240 ENDIF 2250 NEXT BÅNDNUMMER 2260 CLOSE FILNAVN$ 2270 PRINT 2280 SELECT OUTPUT "T" 2290 PRINT 2300 CURSOR 65,24 2310 INPUT "Return!":SV$ 2320 ENDPROC LÆS