|
DataMuseum.dkPresents historical artifacts from the history of: RegneCentralen RC3600/RC7000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RegneCentralen RC3600/RC7000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 15020 (0x3aac) Types: COMAL_SAVE Notes: BREV , LIB::BREV Names: »BREV«
└─⟦b83d0ae16⟧ Bits:30007874 (PROGRAM DISKETTE 29.12.80 OMRÅDE: LIB NØGLE: 1) └─⟦this⟧
SAVE filename: "BREV" 0005 REM PROGRAM NR. 29121980«nul» 0006 REM PROGRAMNAVN : BREV«nul»«nul» 0010 REM ----------------------------------------------------------------------- VARIABLER FOR ELEVDATA«nul» 0020 DIM CPR$ ( 13 ) , ENAVN$ ( 14 ) , FNAVN$ ( 14 ) , MNAVN$ ( 14 ) , EADR$ ( 30 ) , POGBY$ ( 14 ) 0030 REM ----------------------------------------------------------------------- VARIABLER FOR FORÆLDREDATA«nul» 0040 DIM FENAVN$ ( 14 ) , FFNAVN$ ( 28 ) , STILLING$ ( 30 ) , FADR$ ( 30 ) , FPOGBY$ ( 14 ) , K\N$ ( 2 ) 0050 REM ----------------------------------------------------------------------- BREVVARIABLER«nul»F 0060 DIM PJ[KS$ ( 3 ) , TEKST$ ( 8 , 500 ) 0070 DIM PJ[K$ ( 4 ) , PTEKST$ ( 600 ) , S\DA$ ( 10 ) , HAHU$ ( 7 ) , M]NED$ ( 9 ) , MODTAGER$ ( 60 ) 0080 REM ----------------------------------------------------------------------- DIVERSE STRINGVARIABLER«nul»T 0090 DIM KLTRIN$ ( 4 ) , KLDISK$ ( 10 ) , SVAR$ ( 4 ) , SPROGFR$ ( 2 ) , SPROGET$ ( 2 ) , FUNKVALG$ ( 2 ) 0100 DIM CHECKL$ ( 4 ) , KLKODE$ ( 60 ) , NYKL$ ( 2 ) , KLASSE$ ( 4 ) , OMR]DE$ ( 2 ) , GREN$ ( 5 ) 0110 DIM VALGFAG$ ( 4 ) , XY$ ( 80 ) , TEKSTFIL$ ( 8 ) , M]NEDER$ ( 120 ) 0120 DIM DELTEKST$ ( 10 , 65 ) , GRENKODE$ ( 50 ) 0130 REM ----------------------------------------------------------------------- NUMERISKE VARIABLER«nul»L 0140 DIM ENRRNR ( 1 , 30 ) , VARISTED ( 8 , 15 ) , GRENMAT ( 20 ) 0150 REM ----------------------------------------------------------------------- TILDELING AF KONSTANTE VÆRDIER«nul» 0160 LET XY$ = "`abcdefghij" 0170 LET XY$ = XY$ , "klmnopqrst" 0180 LET XY$ = XY$ , "uvwxyæøå~" 0190 LET XY$ = XY$ , "<127>" 0200 LET XY$ = XY$ , "@ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ^_" 0210 LET XY$ = XY$ , " !<34>#$%&'()*+,-./" 0220 REM -----------------------------------------------------------------------«nul»- 0230 PROC TILBAGE 0240 ON ESC THEN EXEC BL]LYS 0250 PRINT "<134>" ; XY$ ( 10 ) ; XY$ ( LINIE + 13 ) ; "<30>" 0260 PRINT "<134>" ; XY$ ( 55 ) ; XY$ ( LINIE + 13 ) ; "^" 0270 LET DELTEKST$ ( LINIE ) = "" 0280 IF LINIE >= 2 THEN 0290 LET LINIE = LINIE - 2 0300 PRINT "<134>" ; XY$ ( 10 ) ; XY$ ( LINIE + 14 ) ; "<30>" 0310 PRINT "<134>" ; XY$ ( 55 ) ; XY$ ( LINIE + 14 ) ; "^" 0320 ELSE 0330 IF LINIE = 1 THEN 0340 LET LINIE = LINIE - 1 0350 ENDIF 0360 ENDIF 0370 ON ESC THEN EXEC TILBAGE 0380 ENDPROC ILBAGE«nul»«nul» 0390 REM ------------------------------------------------------------------------------«nul» 0400 PROC BL]LYS 0410 ON ESC THEN EXEC BL]LYS 0420 ENDPROC LÅLYS«nul» 0430 REM -------------------------------------------------------------------------«nul»N 0440 PROC FORM 0450 PAGE = 0 0460 OPEN FILE ( 7 , 11 ) "$LPT" 0470 PRINT FILE ( 7 ) "<10>" ; TAB ( 6 ) ; "FREDERIKSHAVN GYMNASIUM" ; TAB ( 45 ) ; DATO ; "/" ; M]NED ; "-" ; ]R 0480 PRINT FILE ( 7 ) TAB ( 12 ) ; "OG HF-KURSUS" 0490 PRINT FILE ( 7 ) "<10><10><10><10><10>" 0500 PRINT FILE ( 7 ) TAB ( 8 ) ; MODTAGER$ 0510 PRINT FILE ( 7 ) TAB ( 8 ) ; FADR$ 0520 PRINT FILE ( 7 ) TAB ( 8 ) ; FPOGBY$ 0530 FOR I = 1 TO 11 0540 PRINT FILE ( 7 ) "<10>" ; 0550 NEXT 0560 PRINT FILE ( 7 ) TAB ( 10 ) ; PTEKST$ 0570 FOR I = 1 TO 8 0580 PRINT FILE ( 7 ) "<10>" ; 0590 NEXT 0600 PRINT FILE ( 7 ) TAB ( 50 ) ; "VENLIG HILSEN" 0610 PRINT FILE ( 7 ) TAB ( 47 ) ; "JENS JØRGEN VINTHER<12>" 0620 CLOSE FILE ( 7 ) 0630 ENDPROC ORM«nul» 0640 REM -------------------------------------------------------------------------«nul»N 0650 PROC DECIFTEX 0660 CASE TEKST$ ( TEKSTADR , VARISTED ( TEKSTADR , TAL ) , VARISTED ( TEKSTADR , TAL ) + 6 ) OF 0670 WHEN "#FNAVN#" 0680 LET PTEKST$ = PTEKST$ , FNAVN$ 0690 WHEN "#ENAVN#" 0700 LET PTEKST$ = PTEKST$ , ENAVN$ 0710 WHEN "#MNAVN#" 0720 LET PTEKST$ = PTEKST$ , MNAVN$ 0730 WHEN "#FORSM#" 0740 LET NUMOBJEC = PJ[K 0750 EXEC NUMSTRIN 0760 LET PTEKST$ = PTEKST$ , PJ[KS$ 0770 WHEN "#SFORS#" 0780 LET NUMOBJEC = SUMPJ[K 0790 EXEC NUMSTRIN 0800 LET PTEKST$ = PTEKST$ , PJ[KS$ 0810 WHEN "#SØ/DA#" 0820 LET PTEKST$ = PTEKST$ , S\DA$ 0830 WHEN "#HA/HU#" 0840 LET PTEKST$ = PTEKST$ , HAHU$ 0850 WHEN "#MÅNED#" 0860 LET PTEKST$ = PTEKST$ , M]NED$ 0870 WHEN "#TIMER#" 0880 LET NUMOBJEC = TIMER 0890 EXEC NUMSTRIN 0900 LET PTEKST$ = PTEKST$ , PJ[KS$ 0910 ENDCASE «nul» 0920 ENDPROC ECIFTEX«nul» 0930 REM -------------------------------------------------------------------------«nul»N 0940 PROC TEKST 0950 IF MYNDIG THEN 0960 LET TEKSTADR = 4 0970 CASE CPR$ ( LEN ( CPR$ ) ) OF 0980 LET MODTAGER$ = FNAVN$ , " " , ENAVN$ 0990 WHEN "1" , "3" , "5" , "7" , "9" 1000 LET MODTAGER$ = "HR. " , FNAVN$ , " " , ENAVN$ 1010 WHEN "2" , "4" , "6" , "8" , "0" 1020 LET MODTAGER$ = "FR. " , FNAVN$ , " " , ENAVN$ 1030 ENDCASE «nul» 1040 ELSE 1050 LET TEKSTADR = 0 1060 CASE K\N$ OF 1070 REM «nul»2 1080 WHEN "F" 1090 LET MODTAGER$ = "FR. " , STILLING$ , " " , FFNAVN$ , " " , FENAVN$ 1100 WHEN "M" 1110 LET MODTAGER$ = "HR. " , STILLING$ , " " , FFNAVN$ , " " , FENAVN$ 1120 ENDCASE «nul» 1130 ENDIF 1140 LET TEKSTADR = TEKSTADR + STRAFTEX 1150 CASE CPR$ ( LEN ( CPR$ ) ) OF 1160 LET HAHU$ = "HAN/HUN" S\DA$ = "SØN/DATTER" 1170 WHEN "1" , "3" , "5" , "7" , "9" 1180 LET HAHU$ = "HAN" S\DA$ = "SØN" 1190 WHEN "2" , "4" , "6" , "8" , "0" 1200 LET HAHU$ = "HUN" S\DA$ = "DATTER" 1210 ENDCASE «nul» 1220 LET TAL = 1 PTEKST$ = "" 1230 WHILE VARISTED ( TEKSTADR , TAL ) DO 1240 IF TAL = 1 THEN 1250 IF VARISTED ( TEKSTADR , TAL ) <> 1 THEN 1260 LET PTEKST$ = TEKST$ ( TEKSTADR , 1 , VARISTED ( TEKSTADR , TAL ) - 1 ) 1270 ENDIF 1280 ELSE 1290 LET PTEKST$ = PTEKST$ , TEKST$ ( TEKSTADR , VARISTED ( TEKSTADR , TAL - 1 ) + 7 , VARISTED ( TEKSTADR , TAL ) - 1 ) 1300 ENDIF 1310 EXEC DECIFTEX 1320 LET TAL = TAL + 1 1330 ENDWHILE 1340 IF NOT VARISTED ( TEKSTADR , 1 ) THEN 1350 LET PTEKST$ = TEKST$ ( TEKSTADR ) 1360 ELSE 1370 LET PTEKST$ = PTEKST$ , TEKST$ ( TEKSTADR , VARISTED ( TEKSTADR , TAL - 1 ) + 7 , LEN ( TEKST$ ( TEKSTADR ) ) ) 1380 ENDIF 1390 ENDPROC EKST«nul» 1400 REM -------------------------------------------------------------------------«nul»N 1410 PROC NUMSTRIN 1420 IF NUMOBJEC < 10 THEN 1430 LET PJ[KS$ = CHR ( NUMOBJEC + 48 ) 1440 ELSE 1450 IF NUMOBJEC < 100 THEN 1460 LET CIFI = INT ( NUMOBJEC / 10 ) CIFII = NUMOBJEC - CIFI * 10 1470 LET PJ[KS$ = CHR ( CIFI + 48 ) , CHR ( CIFII + 48 ) 1480 ELSE 1490 LET CIFI = INT ( NUMOBJEC / 100 ) CIFII = INT ( ( NUMOBJEC - ( CIFI * 100 ) ) / 10 ) 1500 LET CIFIII = NUMOBJEC - ( CIFI * 100 + CIFII * 10 ) 1510 LET PJ[KS$ = CHR ( CIFI + 48 ) , CHR ( CIFII + 48 ) , CHR ( CIFIII + 48 ) 1520 ENDIF 1530 ENDIF 1540 ENDPROC UMSTRIN«nul» 1550 REM -------------------------------------------------------------------------«nul»N 1560 PROC PROCEVAL 1570 LET STRAFTEX = 1 1580 IF INT ( ( SUMPJ[K / SUMTIMER ) * 100 ) >= 20 THEN 1590 LET SYNDER = 1 STRAFTEX = 4 1600 ENDIF 1610 IF INT ( ( SUMPJ[K / SUMTIMER ) * 100 ) >= 15 AND INT ( ( SUMPJ[K / SUMTIMER ) * 100 ) < 20 THEN 1620 LET SYNDER = 1 STRAFTEX = 3 1630 ENDIF 1640 IF INT ( ( SUMPJ[K / SUMTIMER ) * 100 ) < 15 AND INT ( ( PJ[K / TIMER ) * 100 ) >= 20 THEN 1650 LET STRAFTEX = 2 SYNDER = 1 1660 ENDIF 1670 IF INT ( ( PJ[K / TIMER ) * 100 ) < 20 AND INT ( ( SUMPJ[K / SUMTIMER ) * 100 ) < 15 THEN 1680 LET STRAFTEX = 1 1690 ENDIF 1700 ENDPROC ROCEVAL«nul» 1710 REM -------------------------------------------------------------------------«nul»N 1720 PROC FILL[S 1730 READ FILE ( 1 , RNR ) NR , GREN$ , ENAVN$ , FNAVN$ , MNAVN$ , MYNDIG 1740 READ FILE ( 2 , RNR ) EADR$ , POGBY$ , CPR$ 1750 READ FILE ( 3 , RNR ) FENAVN$ , FFNAVN$ , STILLING$ , K\N$ 1760 READ FILE ( 4 , RNR ) FADR$ , FPOGBY$ 1770 ENDPROC ILLÆS«nul» 1780 REM -------------------------------------------------------------------------«nul»N 1790 PROC KLASL[S 1800 LET TALL = 1 MANGLER = 0 SUMTIMER = 0 RNR = 0 1810 REPEAT 1820 IF ENRRNR ( 1 , TALL ) > 0 AND ENRRNR ( 1 , TALL ) < 100 THEN 1830 LET RNR = ENRRNR ( 1 , TALL ) SYNDER = 0 1840 ENDIF 1850 IF RNR THEN 1860 READ FILE ( 5 , RNR ) PJ[K , SUMPJ[K , TIMER , SUMTIMER 1870 ENDIF 1880 CASE NOT ( SUMTIMER ) OF 1890 EXEC PROCEVAL 1900 EXEC FILL[S 1910 EXEC TEKST 1920 EXEC FORM 1930 WHEN 1 1940 REM ..> DER ER IKKE PÅFØRT NOGLE TIMER <..«nul»- 1950 ENDCASE «nul» 1960 LET TALL = TALL + 1 SUMTIMER = 0 RNR = 0 1970 UNTIL TALL = 30 1980 ENDPROC LASLÆS«nul»«nul» 1990 REM -------------------------------------------------------------------------«nul»N 2000 PROC OPENFILS 2010 OPEN FILE ( 1 , 0 ) "NR-GR-NA" 2020 OPEN FILE ( 2 , 0 ) "AD-CP-TL" 2030 OPEN FILE ( 3 , 0 ) "PA.NA-ST" 2040 OPEN FILE ( 4 , 0 ) "PA.AD-TL" 2050 OPEN FILE ( 5 , 0 ) "NUMERISK" 2060 OPEN FILE ( 6 , 1 ) "ENR-RNR." 2070 MAT READ FILE ( ( 6 ) ) ENRRNR 2080 CLOSE FILE ( 6 ) 2090 ENDPROC PENFILS«nul» 2100 REM -------------------------------------------------------------------------«nul»N 2110 PROC CONNKLAS 2120 LET STED = 3 2130 REPEAT 2140 PRINT "<134>" ; XY$ ( 52 ) ; XY$ ( 1 ) ; "TIL <30>" ; KLKODE$ ( STED - 2 , STED - 1 ) 2150 CONNECT KLKODE$ ( STED , STED + 1 ) , 1 2160 IF KLKODE$ ( STED - 1 ) <> "@" THEN 2170 EXEC OPENFILS 2180 EXEC KLASL[S 2190 CLOSE 2200 ENDIF 2210 LET STED = STED + 4 2220 UNTIL STED = 43 2230 PRINT "<134>" ; XY$ ( 52 ) ; XY$ ( 1 ) ; "<30>" 2240 ENDPROC ONNKLAS«nul» 2250 REM -------------------------------------------------------------------------«nul»N 2260 PROC TEKSTL[S 2270 CONNECT "LIB" , 1 2280 OPEN FILE ( 1 , 1 ) "TEKST" 2290 FOR I = 1 TO 8 2300 READ FILE ( 1 ) TEKST$ ( I ) 2310 NEXT 2320 MAT READ FILE ( 1 ) VARISTED 2330 CLOSE 2340 ENDPROC EKSTLÆS«nul» 2350 REM ----------------------------------------------------------------------------«nul» 2360 PROC TEKSTIND 2370 FOR I = 1 TO 15 2380 LET VARISTED ( TEKSTADR , I ) = 0 2390 NEXT 2400 CONNECT "LIB" , 1 2410 PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 3 ) ; "<31>" 2420 PRINT "<134>" ; XY$ ( 5 ) ; XY$ ( 4 ) ; "#FNAVN# : ELEVENS FORNAVN" 2430 PRINT "<134>" ; XY$ ( 5 ) ; XY$ ( 5 ) ; "#ENAVN# : ELEVENS EFTERNAVN" 2440 PRINT "<134>" ; XY$ ( 5 ) ; XY$ ( 6 ) ; "#MNAVN# : ELEVENS MELLEMNAVN" 2450 PRINT "<134>" ; XY$ ( 5 ) ; XY$ ( 7 ) ; "#FORSM# : ANTALLET AF ELEVENS FORSØMMELSER I DEN AKTUELLE MÅNED" 2460 PRINT "<134>" ; XY$ ( 5 ) ; XY$ ( 8 ) ; "#SFORS# : ANTALLET AF FORSØMMELSER I INDEVÆRENSE SKOLEÅR" 2470 PRINT "<134>" ; XY$ ( 5 ) ; XY$ ( 9 ) ; "#MÅNED# : DEN AKTUELLE MÅNEDS NAVN" 2480 PRINT "<134>" ; XY$ ( 5 ) ; XY$ ( 10 ) ; "#SØ/DA# : SØN/DATTER" 2490 PRINT "<134>" ; XY$ ( 5 ) ; XY$ ( 11 ) ; "#HA/HU# : HAN/HUN" 2500 PRINT "<134>" ; XY$ ( 5 ) ; XY$ ( 12 ) ; "#TIMER# : ANTAL UNDERVISTE TIMER I MÅNEDEN" 2510 PRINT "<134>" ; XY$ ( 3 ) ; XY$ ( 13 ) ; "-------------------------------------------------------------------" 2520 PRINT "<134>" ; XY$ ( 5 ) ; XY$ ( 15 ) ; "<31>DU KAN NU UDFORME ET BREV PÅ 10 LINIER" 2530 PRINT "<134>" ; XY$ ( 5 ) ; XY$ ( 16 ) ; "HVOR DET ER NØDVENDIGT INDSÆTTES BLOT EN AF OVENSTÅENDE KODER." 2540 PRINT "<134>" ; XY$ ( 5 ) ; XY$ ( 17 ) ; "HUSK AT KODERNE SKAL STAVES NØJAGTIGT SOM OVENSTÅENDE" 2550 PRINT "<134>" ; XY$ ( 5 ) ; XY$ ( 18 ) ; "TAG HENSYN TIL LÆNGDEN AF DE VARIABLE." 2560 PRINT "<134>" ; XY$ ( 10 ) ; XY$ ( 22 ) ; 2570 INPUT "TAST 'RETURN' NÅR DU ER KLAR " , SVAR$ 2580 REPEAT 2590 LET T[LLER = 14 2600 PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 14 ) ; "<31>" 2610 REPEAT 2620 PRINT "<134>" ; XY$ ( 4 ) ; XY$ ( T[LLER ) ; T[LLER - 13 2630 PRINT "<134>" ; XY$ ( 55 ) ; XY$ ( T[LLER ) ; "^" 2640 LET T[LLER = T[LLER + 1 2650 UNTIL T[LLER = 24 2660 LET LINIE = 1 TEKST$ ( TEKSTADR ) = "" 2670 REPEAT 2680 ON ESC THEN EXEC TILBAGE 2690 PRINT "<134>" ; XY$ ( 10 ) ; XY$ ( LINIE + 13 ) ; 2700 INPUT "" , DELTEKST$ ( LINIE ) 2710 IF LINIE THEN 2720 IF LEN ( DELTEKST$ ( LINIE ) ) > 60 THEN 2730 ON ESC THEN EXEC BL]LYS 2740 PRINT "<134>" ; XY$ ( 10 ) ; XY$ ( LINIE + 14 ) ; "<7>LINIE FOR LANG" 2750 DELAY = 2 2760 PRINT "<134>" ; XY$ ( 10 ) ; XY$ ( LINIE + 13 ) ; "<30>" 2770 PRINT "<134>" ; XY$ ( 10 ) ; XY$ ( LINIE + 14 ) ; "<30>" 2780 PRINT "<134>" ; XY$ ( 55 ) ; XY$ ( LINIE + 13 ) ; "^" 2790 PRINT "<134>" ; XY$ ( 55 ) ; XY$ ( LINIE + 14 ) ; "^" 2800 LET LINIE = LINIE - 1 2810 ON ESC THEN EXEC TILBAGE 2820 ENDIF 2830 ENDIF 2840 LET LINIE = LINIE + 1 2850 UNTIL LINIE = 11 2860 RESET ESC 2870 FOR I = 1 TO 10 2880 LET TEKST$ ( TEKSTADR ) = TEKST$ ( TEKSTADR ) , DELTEKST$ ( I ) , "<10><10> " 2890 NEXT 2900 LET T[LLER = 1 2910 FOR STED = 1 TO LEN ( TEKST$ ( TEKSTADR ) ) 2920 IF TEKST$ ( TEKSTADR , STED ) = "#" THEN 2930 LET VARISTED ( TEKSTADR , T[LLER ) = STED T[LLER = T[LLER + 1 STED = STED + 6 2940 ENDIF 2950 NEXT 2960 LET FEJL = 0 J = - 1 2970 FOR TALLER = 1 TO T[LLER - 1 2980 CASE TEKST$ ( TEKSTADR , VARISTED ( TEKSTADR , TALLER ) , VARISTED ( TEKSTADR , TALLER ) + 6 ) OF 2990 PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 14 ) ; "<31>" 3000 PRINT "<134>" ; XY$ ( 5 ) ; XY$ ( 15 ) ; "DU HAR FORETAGET EN FEJLINDTASTNING." 3010 PRINT "<134>" ; XY$ ( 5 ) ; XY$ ( 16 ) ; "MINDST EN AF DE VARIABLE HAR VÆRET FORKERT." 3020 PRINT "<134>" ; XY$ ( 5 ) ; XY$ ( 17 ) ; "DU MÅ PRØVE FORFRA." 3030 DELAY = 5 3040 LET FEJL = 1 TALLER = T[LLER - 1 3050 WHEN "#FNAVN#" , "#ENAVN#" , "#MNAVN#" , "#FORSM#" , "#SFORS#" , "#SØ/DA#" , "#HA/HU#" , "#MÅNED#" , "#TIMER#" 3060 LET J = J + 1 3070 ENDCASE «nul» 3080 NEXT 3090 UNTIL NOT FEJL 3100 IF TRETEKST THEN 3110 OPEN FILE ( 1 , 3 ) "TEKST" 3120 FOR I = 1 TO 8 3130 WRITE FILE ( 1 ) TEKST$ ( I ) 3140 NEXT 3150 MAT WRITE FILE ( 1 ) VARISTED 3160 CLOSE FILE ( 1 ) 3170 PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 14 ) ; "<31>" 3180 PRINT "<134>" ; XY$ ( 10 ) ; XY$ ( 17 ) ; 3190 INPUT "ØNSKER DU AT INDSKRIVE ANDRE BREVTEKSTER : <30>" , SVAR$ 3200 IF SVAR$ = "NEJ" THEN LET FUNKVALG$ = "E" 3210 ENDIF 3220 RESET ESC 3230 ENDPROC EKSTIND«nul» 3240 REM -------------------------------------------------------------------------«nul» 3250 PROC STANDTEX 3260 REPEAT 3270 REPEAT 3280 PRINT "<134>" ; XY$ ( 26 ) ; XY$ ( 1 ) ; "<30>INDSKRIVNING AF BREVTEKSTER" 3290 PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 3 ) ; "<31>" 3300 PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 5 ) ; "A : UDSKRIVES VED : MÅNEDLIG FORSØMMELSE>=20%" 3310 PRINT "<134>" ; XY$ ( 37 ) ; XY$ ( 6 ) ; "TOTAL FORSØMMELSE<60>15%" 3320 PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 8 ) ; "B : UDSKRIVES VED : 15%<60>=TOTAL FORSØMMESE<60>20%" 3330 PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 10 ) ; "C : UDSKRIVES VED : TOTAL FORSØMMELSE>=20%" 3340 PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 12 ) ; "D : UDSKRIVES VED : MÅNEDLIG FORSØMMELSE<60>20%" 3350 PRINT "<134>" ; XY$ ( 37 ) ; XY$ ( 13 ) ; "TOTAL FORSØMMELSE<60>15%" 3360 PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 15 ) ; "E : TILBAGE TIL HOVEDOPLYSNINGEN" 3370 PRINT "<134>" ; XY$ ( 13 ) ; XY$ ( 18 ) ; "------------------------------------------------" 3380 PRINT "<134>" ; XY$ ( 30 ) ; XY$ ( 22 ) ; 3390 INPUT "HVILKEN FUNKTION : <30>" , FUNKVALG$ 3400 UNTIL FUNKVALG$ >= "A" AND FUNKVALG$ <= "E" 3410 IF FUNKVALG$ <> "E" THEN 3420 REPEAT 3430 PRINT "<134>" ; XY$ ( 20 ) ; XY$ ( 22 ) ; "<30>" ; 3440 INPUT "SKAL DER UDSKRIVES TIL MYNDIGE ELLER UMYNDIGE : " , SVAR$ 3450 UNTIL SVAR$ = "MYND" OR SVAR$ = "UMYN" 3460 EXEC TEKSTL[S 3470 ENDIF 3480 IF SVAR$ = "MYND" THEN 3490 LET TEKSTADR = 4 3500 ELSE 3510 LET TEKSTADR = 0 3520 ENDIF 3530 LET TRETEKST = 1 3540 CASE FUNKVALG$ OF 3550 REM «nul»2 3560 WHEN "A" 3570 LET TEKSTADR = TEKSTADR + 2 3580 EXEC TEKSTIND 3590 WHEN "B" 3600 LET TEKSTADR = TEKSTADR + 3 3610 EXEC TEKSTIND 3620 WHEN "C" 3630 LET TEKSTADR = TEKSTADR + 4 3640 EXEC TEKSTIND 3650 WHEN "D" 3660 LET TEKSTADR = TEKSTADR + 1 3670 EXEC TEKSTIND 3680 ENDCASE «nul» 3690 LET TRETEKST = 0 3700 UNTIL FUNKVALG$ = "E" 3710 ENDPROC TANDTEX«nul» 3720 REM -------------------------------------------------------------------------«nul» 3730 PROC DISKONT 3740 REPEAT 3750 LET OK = 1 3760 CONNECT "OVERSIGT" , 1 3770 OPEN FILE ( 1 , 0 ) "KL-KODE" 3780 OPEN FILE ( 2 , 1 ) "GRENKODE" 3790 READ FILE ( 1 , 1 ) KLKODE$ 3800 READ FILE ( 1 , 2 ) KLTRIN$ 3810 READ FILE ( 2 ) GRENKODE$ 3820 MAT READ FILE ( 2 ) GRENMAT 3830 CLOSE 3840 IF KLTRIN$ <> CHECKL$ THEN 3850 RELEASE 3860 PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 3 ) ; "<31>" 3870 LET OK = 0 3880 PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 8 ) ; "DISKETTE <34>" ; KLTRIN$ ; "<34> ER INDSAT I FD0" 3890 PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 10 ) ; "DISKETTE <34>" ; CHECKL$ ; "<34> SKAL INDSÆTTES I FD0" 3900 PRINT "<134>" ; XY$ ( 45 ) ; XY$ ( 13 ) ; "TAST FØLGENDE :" 3910 PRINT "<134>" ; XY$ ( 43 ) ; XY$ ( 14 ) ; "-------------------" 3920 PRINT "<134>" ; XY$ ( 45 ) ; XY$ ( 16 ) ; "1. LOCK<34>$FD0" 3930 PRINT "<134>" ; XY$ ( 45 ) ; XY$ ( 18 ) ; "2. SKIFT DISKETTERNE UD" 3940 PRINT "<134>" ; XY$ ( 45 ) ; XY$ ( 20 ) ; "3. INIT<34>$FD0" 3950 PRINT "<134>" ; XY$ ( 45 ) ; XY$ ( 22 ) ; "4. CON" 3960 PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 12 ) ; 3970 STOP «nul» 3980 ELSE 3990 ENDIF 4000 UNTIL OK 4010 ENDPROC ISKONT«nul» 4020 REM -------------------------------------------------------------------------«nul» 4030 PROC BREVALG 4040 REPEAT 4050 LET TRETEKST = 1 4060 PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 1 ) ; "<30>" 4070 PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 3 ) ; "<31>" 4080 PRINT "<134>" ; XY$ ( 30 ) ; XY$ ( 1 ) ; "UDSKRIVNING AF BREVE" 4090 PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 5 ) ; "A : BREVUDSKRIVNING TIL ALLE KLASSER" 4100 PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 7 ) ; "B : BREVUDSKRIVNING TIL ET KLASSETRIN" 4110 PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 9 ) ; "C : BREVUDSKRIVNING TIL ENKELT KLASSE" 4120 PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 11 ) ; "D : BREVUDSKRIVNING TIL ENKELT ELEV ->" 4130 PRINT "<134>" ; XY$ ( 25 ) ; XY$ ( 12 ) ; "SÆRLIG TEKST FRA KONTORET" 4140 PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 14 ) ; "E : INDSKRIVNING AF STANDARD BREVTEKST" 4150 PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 16 ) ; "F : TILBAGE TIL HOVEDOPLYSNINGEN" 4160 PRINT "<134>" ; XY$ ( 13 ) ; XY$ ( 19 ) ; "-----------------------------------------------" 4170 REPEAT 4180 PRINT "<134>" ; XY$ ( 22 ) ; XY$ ( 23 ) ; 4190 INPUT "HVILKEN PROCEDURE ØNSKES BENYTTET : <30>" , FUNKVALG$ 4200 UNTIL FUNKVALG$ >= "A" AND FUNKVALG$ <= "F" 4210 IF FUNKVALG$ < "F" THEN EXEC TEKSTL[S 4220 CASE FUNKVALG$ OF 4230 REM «nul»2 4240 WHEN "A" 4250 LET KLDISK$ = "1.G2.G3.G" 4260 FOR HOP = 1 TO 7 STEP 3 4270 LET CHECKL$ = KLDISK$ ( HOP , HOP + 2 ) 4280 EXEC DISKONT 4290 EXEC CONNKLAS 4300 NEXT 4310 WHEN "B" 4320 PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 3 ) ; "<31>" 4330 REPEAT 4340 PRINT "<134>" ; XY$ ( 10 ) ; XY$ ( 8 ) ; 4350 INPUT "HVILKET KLASSETRIN SKAL BREVENE UDSKRIVES TIL : <30>" , KLTRIN$ 4360 UNTIL KLTRIN$ ( 1 ) >= "1" AND KLTRIN$ ( 1 ) <= "3" OR KLASSE$ = "INGEN" 4370 LET CHECKL$ = KLTRIN$ ( 1 ) , ".G" 4380 IF KLTRIN$ <> "INGEN" THEN 4390 EXEC DISKONT 4400 EXEC CONNKLAS 4410 ENDIF 4420 WHEN "C" 4430 PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 3 ) ; "<31>" 4440 REPEAT 4450 REPEAT 4460 PRINT "<134>" ; XY$ ( 10 ) ; XY$ ( 8 ) ; 4470 INPUT "HVILKEN KLASSE SKAL BREVENE UDSKRIVES TIL : <30>" , KLASSE$ 4480 UNTIL KLASSE$ ( 1 ) >= "1" AND KLASSE$ ( 1 ) <= "3" AND LEN ( KLASSE$ ) = 2 4490 LET CHECKL$ = KLASSE$ ( 1 ) , ".G" 4500 EXEC DISKONT 4510 LET HOP = - 3 4520 REPEAT 4530 LET HOP = HOP + 4 4540 UNTIL KLKODE$ ( HOP , HOP + 1 ) = KLASSE$ OR HOP >= 40 4550 UNTIL KLKODE$ ( HOP , HOP + 1 ) = KLASSE$ 4560 CONNECT KLKODE$ ( HOP + 2 , HOP + 3 ) , 1 4570 EXEC OPENFILS 4580 EXEC KLASL[S 4590 CLOSE 4600 WHEN "D" 4610 REPEAT 4620 PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 3 ) ; "<31>" 4630 REPEAT 4640 PRINT "<134>" ; XY$ ( 10 ) ; XY$ ( 8 ) ; 4650 INPUT "HVILKEN KLASSE GÅR PERSONEN I : <30>" , KLASSE$ 4660 UNTIL KLASSE$ ( 1 ) >= "1" AND KLASSE$ ( 1 ) <= "3" AND LEN ( KLASSE$ ) = 2 4670 LET CHECKL$ = KLASSE$ ( 1 ) , ".G" 4680 EXEC DISKONT 4690 LET STED = - 3 4700 REPEAT 4710 LET STED = STED + 4 4720 UNTIL KLKODE$ ( STED , STED + 1 ) = KLASSE$ OR STED >= 41 4730 IF KLKODE$ ( STED , STED + 1 ) = KLASSE$ THEN 4740 CONNECT KLKODE$ ( STED + 2 , STED + 3 ) , 1 4750 OPEN FILE ( 1 , 1 ) "ENR-RNR." 4760 MAT READ FILE ( 1 ) ENRRNR 4770 CLOSE FILE ( 1 ) 4780 REPEAT 4790 REPEAT 4800 PRINT "<134>" ; XY$ ( 10 ) ; XY$ ( 8 ) ; "<31>" ; 4810 INPUT "HVAD ER PERSONENS NUMMER : <30>" , ENR 4820 LET RNR = ENRRNR ( 1 , ENR ) 4830 IF RNR <= 0 OR RNR > 30 THEN PRINT "<7>" 4840 UNTIL RNR > 0 AND RNR <= 30 4850 IF RNR THEN 4860 EXEC OPENFILS 4870 EXEC FILL[S 4880 READ FILE ( 5 , RNR ) PJ[K , SUMPJ[K , TIMER , SUMTIMER 4890 PRINT "<134>" ; XY$ ( 10 ) ; XY$ ( 8 ) ; "HEDDER PERSONEN : " ; FNAVN$ ; MNAVN$ ; ; ENAVN$ ; "<30>" 4900 PRINT "<134>" ; XY$ ( 10 ) ; XY$ ( 12 ) ; 4910 INPUT "SVAR : <30>" , SVAR$ 4920 CLOSE 4930 ELSE 4940 LET SVAR$ = "JA" 4950 ENDIF 4960 UNTIL SVAR$ = "JA" 4970 ELSE 4980 PRINT "<134>" ; XY$ ( 10 ) ; XY$ ( 8 ) ; KLASSE$ ; "<7> FINDES IKKE I <30>" ; CHECKL$ 4990 DELAY = 3 5000 ENDIF 5010 UNTIL KLKODE$ ( STED , STED + 1 ) = KLASSE$ 5020 IF RNR THEN 5030 CASE CPR$ ( LEN ( CPR$ ) ) OF 5040 REM «nul» 5050 WHEN "1" , "3" , "5" , "7" , "9" 5060 LET HAHU$ = "HAN" 5070 WHEN "2" , "4" , "6" , "8" , "0" 5080 LET HAHU$ = "HUN" 5090 ENDCASE «nul» 5100 PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 3 ) ; "<31>" 5110 PRINT "<134>" ; XY$ ( 10 ) ; XY$ ( 9 ) ; FNAVN$ ; ; ENAVN$ ; " HAR I FORRIGE MÅNED FORSØMT" ; INT ( ( PJ[K / TIMER ) * 100 ) ; "%" 5120 PRINT "<134>" ; XY$ ( 10 ) ; XY$ ( 11 ) ; 5130 INPUT "VIL DU LAVE EN SÆRLIG TEKST TIL ELEVEN : <30>" , SVAR$ 5140 IF SVAR$ = "JA" THEN 5150 CLOSE 5160 LET TRETEKST = 0 TEKSTADR = 1 STRAFTEX = 1 5170 EXEC TEKSTIND 5180 EXEC TEKST 5190 EXEC FORM 5200 CLOSE 5210 ELSE 5220 PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 3 ) ; "<31>" 5230 PRINT "<134>" ; XY$ ( 10 ) ; XY$ ( 8 ) ; 5240 INPUT "HVILKEN TEKST SKAL UDSKRIVES (D),(A),(B),(C),(INGEN) : " , SVAR$ 5250 CASE SVAR$ OF 5260 REM «nul»2 5270 WHEN "D" 5280 LET STRAFTEX = 1 5290 WHEN "A" 5300 LET STRAFTEX = 2 5310 WHEN "B" 5320 LET STRAFTEX = 3 5330 WHEN "C" 5340 LET STRAFTEX = 4 5350 ENDCASE «nul» 5360 IF SVAR$ >= "A" AND SVAR$ <= "D" THEN 5370 EXEC TEKST 5380 EXEC FORM 5390 ENDIF 5400 ENDIF 5410 ENDIF 5420 CLOSE 5430 WHEN "E" 5440 EXEC STANDTEX 5450 ENDCASE «nul» 5460 UNTIL FUNKVALG$ = "F" 5470 ENDPROC REVVALG«nul» 5480 REM -------------------------------------------------------------------------«nul»- 5490 OPEN FILE ( 1 , 1 ) "NUTID" 5500 OPEN FILE ( 2 , 1 ) "MÅNEDER" 5510 READ FILE ( 1 ) ]R , M]NED , DATO 5520 READ FILE ( 2 ) M]NEDER$ 5530 CLOSE 5540 LET M]NED$ = M]NEDER$ ( M]NED * 10 - 9 , M]NED * 10 ) I = 10 5550 REPEAT 5560 LET I = I - 1 5570 UNTIL M]NED$ ( I ) <> " " 5580 LET M]NED$ = M]NED$ ( 1 , I ) 5590 EXEC BREVALG 5600 PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 1 ) ; 5610 CONNECT "LIB" , 1 5620 ENTER "PROGVALG"
FNA definition = 0xffff FNB definition = 0xffff FNC definition = 0xffff FND definition = 0xffff FNE definition = 0xffff FNF definition = 0xffff FNG definition = 0xffff FNH definition = 0xffff FNI definition = 0xffff FNJ definition = 0xffff FNK definition = 0xffff FNL definition = 0xffff FNM definition = 0xffff FNN definition = 0xffff FNO definition = 0xffff FNP definition = 0xffff FNQ definition = 0xffff FNR definition = 0xffff FNS definition = 0xffff FNT definition = 0xffff FNU definition = 0xffff FNV definition = 0xffff FNW definition = 0xffff FNX definition = 0xffff FNY definition = 0xffff FNZ definition = 0xffff FN[ definition = 0xffff FN\ definition = 0xffff FN] definition = 0xffff GOSUB-RETURN stack pointer = 0x0000 stack[0] = 0x1aec stack[1] = 0x1995 stack[2] = 0x068a stack[3] = 0x0481 stack[4] = 0x0481 stack[5] = 0x0481 stack[6] = 0x0000 FOR-NEXT stack pointer = 0x0000 Var# = 0x00c2 Loop Top = 0x0795 To Val = 8 (0x41800000) Step Val = 1 (0x41100000) Var# = 0x0000 Loop Top = 0x0000 To Val = 0 (0x00000000) Step Val = 0 (0x00000000) Var# = 0x0000 Loop Top = 0x0000 To Val = 0 (0x00000000) Step Val = 0 (0x00000000) Var# = 0x0000 Loop Top = 0x0000 To Val = 0 (0x00000000) Step Val = 0 (0x00000000) Var# = 0x0000 Loop Top = 0x0000 To Val = 0 (0x00000000) Step Val = 0 (0x00000000) Var# = 0x0000 Loop Top = 0x0000 To Val = 0 (0x00000000) Step Val = 0 (0x00000000) Var# = 0x0000 Loop Top = 0x0000 To Val = 0 (0x00000000) Step Val = 0 (0x00000000) REPEAT-UNTIL stack pointer = 0x0000 stack[0] = 0x1489 stack[1] = 0x15de stack[2] = 0x0e8d stack[3] = 0x180c stack[4] = 0x0ea3 stack[5] = 0x0000 stack[6] = 0x0000 WHILE-ENDWHILE stack pointer = 0x0000 stack[0] = 0x0640 stack[1] = 0x0000 stack[2] = 0x0000 stack[3] = 0x0000 stack[4] = 0x0000 stack[5] = 0x0000 stack[6] = 0x0000 IF-ELSE stack pointer = 0x0000 stack[0] = 0x0000 stack[1] = 0x0000 stack[2] = 0x0001 stack[3] = 0x0001 stack[4] = 0x0001 stack[5] = 0x0000 stack[6] = 0x0000 Variables: 0x80 0xffff 0x00 0x81 0xffff 0x02 CPR$ 0x82 0xffff 0x02 ENAVN$ 0x83 0xffff 0x02 FNAVN$ 0x84 0xffff 0x02 MNAVN$ 0x85 0xffff 0x02 EADR$ 0x86 0xffff 0x02 POGBY$ 0x87 0xffff 0x02 FENAVN$ 0x88 0xffff 0x02 FFNAVN$ 0x89 0xffff 0x02 STILLING$ 0x8a 0xffff 0x02 FADR$ 0x8b 0xffff 0x02 FPOGBY$ 0x8c 0xffff 0x02 K\N$ 0x8d 0xffff 0x02 PJ[KS$ 0x8e 0xffff 0x02 TEKST$ 0x8f 0xffff 0x02 PJ[K$ 0x90 0xffff 0x02 PTEKST$ 0x91 0xffff 0x02 S\DA$ 0x92 0xffff 0x02 HAHU$ 0x93 0xffff 0x02 M]NED$ 0x94 0xffff 0x02 MODTAGER$ 0x95 0xffff 0x02 KLTRIN$ 0x96 0xffff 0x02 KLDISK$ 0x97 0xffff 0x02 SVAR$ 0x98 0xffff 0x02 SPROGFR$ 0x99 0xffff 0x02 SPROGET$ 0x9a 0xffff 0x02 FUNKVALG$ 0x9b 0xffff 0x02 CHECKL$ 0x9c 0xffff 0x02 KLKODE$ 0x9d 0xffff 0x02 NYKL$ 0x9e 0xffff 0x02 KLASSE$ 0x9f 0xffff 0x02 OMR]DE$ 0xa0 0xffff 0x02 GREN$ 0xa1 0xffff 0x02 VALGFAG$ 0xa2 0xffff 0x02 XY$ 0xa3 0xffff 0x02 TEKSTFIL$ 0xa4 0xffff 0x02 M]NEDER$ 0xa5 0xffff 0x02 DELTEKST$ 0xa6 0xffff 0x02 GRENKODE$ 0xa7 0xffff 0x00 ENRRNR 0xa8 0xffff 0x00 VARISTED 0xa9 0xffff 0x00 GRENMAT 0xaa 0xffff 0x00 FILL[S 0xab 0xffff 0x00 RNR 0xac 0xffff 0x00 NR 0xad 0xffff 0x00 MYNDIG 0xae 0xffff 0x00 PROCEVAL 0xaf 0xffff 0x00 STRAFTEX 0xb0 0xffff 0x00 SUMTIMER 0xb1 0xffff 0x00 SUMPJ[K 0xb2 0xffff 0x00 SYNDER 0xb3 0xffff 0x00 PJ[K 0xb4 0xffff 0x00 TIMER 0xb5 0xffff 0x00 DECIFTEX 0xb6 0xffff 0x00 TAL 0xb7 0xffff 0x00 NUMOBJEC 0xb8 0xffff 0x00 NUMSTRIN 0xb9 0xffff 0x00 CIFI 0xba 0xffff 0x00 CIFII 0xbb 0xffff 0x00 CIFIII 0xbc 0xffff 0x00 TEKST 0xbd 0xffff 0x00 TEKSTADR 0xbe 0xffff 0x00 FORM 0xbf 0xffff 0x00 DATO 0xc0 0xffff 0x00 M]NED 0xc1 0xffff 0x00 ]R 0xc2 0xffff 0x00 I 0xc3 0xffff 0x00 OPENFILS 0xc4 0xffff 0x00 KLASL[S 0xc5 0xffff 0x00 TALL 0xc6 0xffff 0x00 MANGLER 0xc7 0xffff 0x00 DISKONT 0xc8 0xffff 0x00 OK 0xc9 0xffff 0x00 CONNKLAS 0xca 0xffff 0x00 STED 0xcb 0xffff 0x00 TEKSTL[S 0xcc 0xffff 0x00 TEKSTIND 0xcd 0xffff 0x00 T[LLER 0xce 0xffff 0x00 LINIE 0xcf 0xffff 0x00 TILBAGE 0xd0 0xffff 0x00 BL]LYS 0xd1 0xffff 0x00 FEJL 0xd2 0xffff 0x00 J 0xd3 0xffff 0x00 TALLER 0xd4 0xffff 0x00 TRETEKST 0xd5 0xffff 0x00 STANDTEX 0xd6 0xffff 0x00 BREVALG 0xd7 0xffff 0x00 HOP 0xd8 0xffff 0x00 ENR 0xd9 0xffff 0x00 STOP] 0xda 0xffff 0x00 LOOOKUP 0xdb 0xffff 0x00 VATISTED 0xdc 0xffff 0x00 LIST1700 0xdd 0xffff 0x00 CLOA
.magic = 0x5356 .u_pas = 0x1b09 // Length of UPAS in words .u_das = 0x023e // Length of UDAS in words .u_dvs = 0x023e // Start på savede variabel indhold (word adr) .u_nds = 0x0042 // Address på næste prog.sætning (word adr) .u_cps = 0x0042 // Address på curr prog.sætning (word adr) .u_tll = 0x0000 // Page størrelse .u_tts = 0x0005 // TAP størrelse .u_ran = 0x0000 // Random tal .u_cdl = 0x0042 // Current DATA sætning ptr .u_cdb = 0x0000 // Current DATA byte ptr .u_esa = 0xffff // ON ESE (word adr) .u_era = 0xffff // ON ERR (word adr) .u_cas = 0x0000 // CASE dybde .u_las = 0xffff // last (-1)