DataMuseum.dk

Presents historical artifacts from the history of:

RegneCentralen RC3600/RC7000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RegneCentralen RC3600/RC7000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦66e1d5466⟧ COMAL_SAVE

    Length: 17916 (0x45fc)
    Types: COMAL_SAVE
    Notes: ELEVRET , ELEVRET::ELEVRET
    Names: »ELEVRET«

Derivation

└─⟦bb49f20ac⟧ Bits:30007876 (DELPROCEDURER DISKETTE 80.28.06 Områder: OPDATER, FORSØM, BREV ELEVRET, KLLISTE, FOR.LIST)
    └─⟦this⟧ 

UPAS Segment

SAVE filename: "ELEVRET"

 0010 REM  ----------------------------------------------------------------------- VARIABLER FOR ELEVDATA«nul»
 0020 DIM CPR$ ( 13 ) , ENAVN$ ( 14 ) , FNAVN$ ( 14 ) , MNAVN$ ( 14 ) , NAVN$ ( 28 ) , EADR$ ( 30 )
 0030 DIM CCPR$ ( 13 ) , CENAVN$ ( 14 ) , CFNAVN$ ( 14 ) , CMNAVN$ ( 14 )
 0040 DIM POGBY$ ( 14 ) , ETLF$ ( 6 )
 0050 REM  ----------------------------------------------------------------------- VARIABLER FOR FORÆLDREDATA«nul»
 0060 DIM FENAVN$ ( 14 ) , FFNAVN$ ( 28 ) , STILLING$ ( 30 ) , FADR$ ( 30 ) , FPOGBY$ ( 14 )
 0070 DIM FTLF$ ( 6 ) , K\N$ ( 2 )
 0080 REM  ----------------------------------------------------------------------- DIVERSE STRING VARIABLER«nul»
 0090 DIM SPROGET$ ( 2 ) , SPROGFR$ ( 2 ) , FUNKVALG$ ( 2 ) , CHECKL$ ( 4 ) , KLTRIN$ ( 4 )
 0100 DIM KLKODE$ ( 60 ) , FLNAVNE$ ( 60 ) , KLASSE$ ( 4 ) , GREN$ ( 5 ) , POSTTEXT$ ( 400 )
 0110 DIM FORMUS$ ( 4 ) , VALGFAG$ ( 4 ) , TEKST$ ( 520 ) , PROCEDUR$ ( 80 ) , UDL[G$ ( 20 )
 0120 DIM VALG$ ( 10 ) , SPRING$ ( 2 ) , TITAL$ ( 10 ) , XY$ ( 80 )
 0130 DIM GRENKODE$ ( 128 )
 0140 REM  ----------------------------------------------------------------------- NUMERISKE VARIABLER«nul»B
 0150 DIM ENRRNR ( 1 , 30 ) , RNRKONTL ( 1 , 30 ) , FLYT ( 1 , 30 ) , XYTEKST ( 2 , 20 ) , GRENMAT ( 20 )
 0160 DIM FINDER ( 3 ) , POSTMAT ( 4 , 30 )
 0170 REM  ----------------------------------------------------------------------- TILDELING AF KONSTANTE VÆRDIER«nul»
 0180 LET XY$ = "`abcdefghij"
 0190 LET XY$ = XY$ , "klmnopqrst"
 0200 LET XY$ = XY$ , "uvwxyzæøå~"
 0210 LET XY$ = XY$ , "<127>"
 0220 LET XY$ = XY$ , "@ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ^_"
 0230 LET XY$ = XY$ , " !<34>#$%&'()*+,-./"
 0240 LET TITAL$ = "0123456789"
 0250 REM  -------------------------------------------------------------------------«nul»L
 0260 PROC MATTEKST
 0270   OPEN FILE ( 1 , 1 ) "MATTEKST"
 0280   OPEN FILE ( 2 , 1 ) "POST-NR."
 0290   READ FILE ( 1 ) TEKST$
 0300   READ FILE ( 2 ) POSTTEXT$
 0310   MAT READ FILE ( 2 ) POSTMAT
 0320   MAT READ FILE ( 1 ) XYTEKST
 0330   CLOSE
 0340 ENDPROC ATTEKST«nul»
 0350 REM  -------------------------------------------------------------------------«nul»L
 0360 PROC KLVALG
 0370   PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 1 ) ; "<30>"
 0380   PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 3 ) ; "<31>"
 0390   PRINT "<134>" ; XY$ ( XKOR ) ; XY$ ( 1 ) ; PROCEDUR$
 0400   REPEAT 
 0410     REPEAT 
 0420       PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 8 ) ;
 0430       INPUT "FOR HVILKEN KLASSE ØNSKES RETTELSERNE FORETAGET : <30>" , KLASSE$
 0440     UNTIL KLASSE$ ( 1 ) >= "1" AND KLASSE$ ( 1 ) <= "3"
 0450     LET CHECKL$ = KLASSE$ ( 1 ) , ".G"
 0460     EXEC DISKONT
 0470     LET T[LLER = - 3 SLUT = 0
 0480     OPEN FILE ( 1 , 0 ) "KL-KODE"
 0490     READ FILE ( 1 , 1 ) KLKODE$
 0500     CLOSE FILE ( 1 )
 0510     WHILE T[LLER < LEN ( KLKODE$ ) AND NOT SLUT DO
 0520       LET T[LLER = T[LLER + 4
 0530       IF KLASSE$ ( 1 , 2 ) = KLKODE$ ( T[LLER , T[LLER + 1 ) THEN
 0540         LET SLUT = 1
 0550       ENDIF 
 0560     ENDWHILE
 0570     IF LEN ( KLKODE$ ( T[LLER + 2 , T[LLER + 3 ) ) = 0 THEN
 0580       PRINT "<134>" ; XY$ ( 5 ) ; XY$ ( 5 ) ; "FEJL-INDTASTNING :<7><30>"
 0590       PRINT "<134>" ; XY$ ( 5 ) ; XY$ ( 6 ) ; KLASSE$ ; " INDEHOLDES IKKE I SYSTEMET <30>"
 0600       DELAY = 5
 0610     ELSE 
 0620       CONNECT KLKODE$ ( T[LLER + 2 , T[LLER + 3 ) , 1
 0630     ENDIF 
 0640   UNTIL LEN ( KLKODE$ ( T[LLER + 2 , T[LLER + 3 ) ) <> 0
 0650   PRINT "<134>" ; XY$ ( XKOR + LEN ( PROCEDUR$ ) + 1 ) ; XY$ ( 1 ) ; KLASSE$
 0660 ENDPROC LVALG«nul»
 0670 REM  -------------------------------------------------------------------------«nul»L
 0680 PROC DISKONT
 0690   REPEAT 
 0700     LET OK = 1
 0710     CONNECT "OVERSIGT" , 1
 0720     OPEN FILE ( 1 , 0 ) "KL-KODE"
 0730     OPEN FILE ( 2 , 1 ) "GRENKODE"
 0740     READ FILE ( 1 , 1 ) KLKODE$
 0750     READ FILE ( 1 , 2 ) KLTRIN$
 0760     READ FILE ( 2 ) GRENKODE$
 0770     MAT READ FILE ( 2 ) GRENMAT
 0780     CLOSE
 0790     IF KLTRIN$ <> CHECKL$ THEN
 0800       RELEASE 
 0810       PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 3 ) ; "<31>"
 0820       LET OK = 0
 0830       PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 8 ) ; "DISKETTE <34>" ; KLTRIN$ ; "<34> ER INDSAT I FD0"
 0840       PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 10 ) ; "DISKETTE <34>" ; CHECKL$ ; "<34> SKAL INDSÆTTES I FD0"
 0850       PRINT "<134>" ; XY$ ( 45 ) ; XY$ ( 13 ) ; "TAST FØLGENDE :"
 0860       PRINT "<134>" ; XY$ ( 43 ) ; XY$ ( 14 ) ; "-------------------"
 0870       PRINT "<134>" ; XY$ ( 45 ) ; XY$ ( 16 ) ; "1. LOCK<34>$FD0"
 0880       PRINT "<134>" ; XY$ ( 45 ) ; XY$ ( 18 ) ; "2. SKIFT DISKETTERNE UD"
 0890       PRINT "<134>" ; XY$ ( 45 ) ; XY$ ( 20 ) ; "3. INIT<34>$FD0"
 0900       PRINT "<134>" ; XY$ ( 45 ) ; XY$ ( 22 ) ; "4. CON"
 0910       PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 12 ) ;
 0920       STOP «nul» 
 0930     ENDIF 
 0940   UNTIL OK
 0950 ENDPROC ISKONT«nul»
 0960 REM  -------------------------------------------------------------------------«nul»L
 0970 PROC UDTEKST
 0980   PAGE = 0
 0990   LET ENGELSK = 0 MUFORGRE = 0
 1000   IF KLASSE$ ( 2 ) < "M" THEN
 1010     IF KLASSE$ ( 1 ) = "1" THEN
 1020       LET ENGELSK = 1
 1030     ELSE 
 1040       LET ENGELSK = 1 MUFORGRE = 1
 1050     ENDIF 
 1060   ELSE 
 1070     IF KLASSE$ ( 1 ) = "1" THEN
 1080       LET ENGELSK = 1
 1090     ELSE 
 1100       LET MUFORGRE = 1
 1110     ENDIF 
 1120   ENDIF 
 1130   PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 3 ) ; "<31>"
 1140   LET T[LLER = 1 RYKKER = 6 KOLON = 6
 1150   PRINT "<134>" ; XY$ ( 4 ) ; XY$ ( 3 ) ; "ELEV NR."
 1160   PRINT "<134>" ; XY$ ( 3 ) ; XY$ ( 4 ) ; "-------------"
 1170   WHILE XYTEKST ( 1 , T[LLER ) <> 0 DO
 1180     PRINT "<134>" ; XY$ ( 6 ) ; XY$ ( RYKKER ) ; TEKST$ ( XYTEKST ( 1 , T[LLER ) , XYTEKST ( 2 , T[LLER ) )
 1190     IF RYKKER = 11 THEN
 1200       LET RYKKER = RYKKER + 2 T[LLER = T[LLER + 1
 1210     ELSE 
 1220       IF RYKKER = 18 THEN
 1230         IF ENGELSK THEN
 1240           LET RYKKER = RYKKER + 2 T[LLER = T[LLER + 1
 1250         ELSE 
 1260           LET RYKKER = RYKKER + 3 T[LLER = T[LLER + 2 SPRING = 1
 1270         ENDIF 
 1280       ELSE 
 1290         IF RYKKER = 21 THEN
 1300           IF MUFORGRE THEN
 1310             LET RYKKER = RYKKER + 1 T[LLER = T[LLER + 1
 1320           ELSE 
 1330             LET T[LLER = T[LLER + 3
 1340           ENDIF 
 1350         ELSE 
 1360           LET RYKKER = RYKKER + 1 T[LLER = T[LLER + 1
 1370         ENDIF 
 1380       ENDIF 
 1390     ENDIF 
 1400   ENDWHILE
 1410   IF CHECKL$ = "2.G" OR CHECKL$ = "3.G" THEN
 1420     LET RYKKER = RYKKER - 1
 1430   ENDIF 
 1440   WHILE KOLON <= RYKKER DO
 1450     PRINT "<134>" ; XY$ ( 39 ) ; XY$ ( KOLON ) ; ":"
 1460     IF KOLON = 11 THEN
 1470       LET KOLON = KOLON + 2
 1480     ELSE 
 1490       IF KOLON = 18 THEN
 1500         IF ENGELSK THEN
 1510           LET KOLON = KOLON + 2
 1520         ELSE 
 1530           LET KOLON = KOLON + 3
 1540         ENDIF 
 1550       ELSE 
 1560         IF KOLON = 21 OR KOLON = 22 THEN
 1570           IF MUFORGRE THEN
 1580             LET KOLON = KOLON + 1
 1590           ELSE 
 1600             LET KOLON = KOLON + 4
 1610           ENDIF 
 1620         ELSE 
 1630           LET KOLON = KOLON + 1
 1640         ENDIF 
 1650       ENDIF 
 1660     ENDIF 
 1670   ENDWHILE
 1680 ENDPROC DTEKST«nul»«nul»
 1690 REM  -------------------------------------------------------------------------«nul»L
 1700 PROC SCROOL
 1710   OPEN FILE ( 1 , 0 ) "NR-GR-NA"
 1720   OPEN FILE ( 2 , 0 ) "AD-CP-TL"
 1730   OPEN FILE ( 3 , 0 ) "PA.NA-ST"
 1740   OPEN FILE ( 4 , 0 ) "PA.AD-TL"
 1750   OPEN FILE ( 5 , 0 ) "VALGFAG."
 1760   OPEN FILE ( 6 , 1 ) "ENR-RNR."
 1770   MAT READ FILE ( 6 ) ENRRNR
 1780   WHILE FORTS[T DO
 1790     LET KONTROL = 1 RYKKER = 6
 1800     IF NOT SINGLE THEN
 1810       REPEAT 
 1820         IF T[LLER = - 1 THEN
 1830           LET T[LLER = 0
 1840         ELSE 
 1850         ENDIF 
 1860         LET T[LLER = T[LLER + 1
 1870       UNTIL ENRRNR ( 1 , T[LLER ) <> 0 OR T[LLER = 30
 1880       IF T[LLER = 30 THEN
 1890         LET FORTS[T = 0 SLUT = 1 SP\RGE = 0 VALG$ = "@"
 1900       ENDIF 
 1910     ENDIF 
 1920     LET RNR = ENRRNR ( 1 , T[LLER )
 1930     IF RNR >= 1 AND RNR < 100 THEN
 1940       READ FILE ( 1 , RNR ) NR , GREN$ , ENAVN$ , FNAVN$ , MNAVN$ , MYNDIG
 1950       READ FILE ( 2 , RNR ) EADR$ , POGBY$ , CPR$ , ETLF$
 1960       READ FILE ( 3 , RNR ) FENAVN$ , FFNAVN$ , STILLING$ , K\N$
 1970       READ FILE ( 4 , RNR ) FADR$ , FPOGBY$ , FTLF$
 1980       READ FILE ( 5 , RNR ) SPROGFR$ , SPROGET$ , VALGFAG$
 1990       PRINT "<134>" ; XY$ ( 13 ) ; XY$ ( 3 ) ; NR
 2000       WHILE KONTROL <= 16 DO
 2010         PRINT "<134>" ; XY$ ( 41 ) ; XY$ ( RYKKER ) ;
 2020         CASE ELEVFOR OF
 2030           REM «nul»2
 2040         WHEN 1
 2050           CASE KONTROL OF
 2060             REM «nul»2
 2070           WHEN 1
 2080             IF MYNDIG THEN
 2090               PRINT CPR$ ; " M"
 2100             ELSE 
 2110               PRINT CPR$
 2120             ENDIF 
 2130             LET KONTROL = 2
 2140           WHEN 2
 2150             PRINT ENAVN$
 2160             LET KONTROL = 3
 2170           WHEN 3
 2180             PRINT FNAVN$ ; ", " ; MNAVN$
 2190             LET KONTROL = 4
 2200           WHEN 4
 2210             PRINT EADR$
 2220             LET KONTROL = 5
 2230           WHEN 5
 2240             PRINT POGBY$
 2250             LET KONTROL = 6
 2260           WHEN 6
 2270             PRINT ETLF$
 2280             LET KONTROL = 7 ELEVFOR = 2 RYKKER = RYKKER + 1
 2290           ENDCASE «nul» 
 2300         WHEN 2
 2310           CASE KONTROL OF
 2320             REM «nul»2
 2330           WHEN 7
 2340             PRINT FENAVN$
 2350             LET KONTROL = 8
 2360           WHEN 8
 2370             PRINT FFNAVN$ ; " (" ; K\N$ ; ")"
 2380             LET KONTROL = 9
 2390           WHEN 9
 2400             PRINT STILLING$
 2410             LET KONTROL = 10
 2420           WHEN 10
 2430             PRINT FADR$
 2440             LET KONTROL = 11
 2450           WHEN 11
 2460             PRINT FPOGBY$
 2470             LET KONTROL = 12
 2480           WHEN 12
 2490             PRINT FTLF$
 2500             LET KONTROL = 13 ELEVFOR = 3 RYKKER = RYKKER + 1
 2510           ENDCASE «nul» 
 2520         WHEN 3
 2530           CASE KONTROL OF
 2540             REM «nul»2
 2550           WHEN 13
 2560             IF ENGELSK THEN
 2570               PRINT SPROGET$
 2580             ENDIF 
 2590             LET KONTROL = 14
 2600           WHEN 14
 2610             PRINT SPROGFR$
 2620             LET KONTROL = 15
 2630           WHEN 15
 2640             IF MUFORGRE THEN
 2650               PRINT VALGFAG$
 2660             ELSE 
 2670               LET RYKKER = RYKKER + 2 MUGRPLOT = 0 SLETTER = 0
 2680             ENDIF 
 2690             LET KONTROL = 16
 2700           WHEN 16
 2710             IF MUGRPLOT THEN
 2720               PRINT GREN$
 2730             ENDIF 
 2740             LET KONTROL = 17 ELEVFOR = 1
 2750           ENDCASE «nul» 
 2760         ENDCASE «nul» 
 2770         LET RYKKER = RYKKER + 1
 2780       ENDWHILE
 2790     ENDIF 
 2800     IF RNR > 0 AND RNR < 100 THEN
 2810       REPEAT 
 2820         IF SP\RGE THEN
 2830           PRINT "<134>" ; XY$ ( 41 ) ; XY$ ( 4 ) ;
 2840           INPUT "<30>" , VALG$
 2850         ENDIF 
 2860         IF LEN ( VALG$ ) = 0 THEN
 2870           IF NOT SINGLE THEN
 2880             PRINT "<134>" ; XY$ ( 13 ) ; XY$ ( 3 ) ; "<30>"
 2890             LET RYKKER = 6
 2900             WHILE RYKKER <= 23 DO
 2910               PRINT "<134>" ; XY$ ( 41 ) ; XY$ ( RYKKER ) ; "<30>"
 2920               IF RYKKER = 11 OR RYKKER = 18 THEN
 2930                 LET RYKKER = RYKKER + 2
 2940               ELSE 
 2950                 LET RYKKER = RYKKER + 1
 2960               ENDIF 
 2970             ENDWHILE
 2980             PRINT "<134>" ; XY$ ( 41 ) ; XY$ ( 4 ) ; "<30>"
 2990             LET SLUT = 1 SP\RGE = 1
 3000           ENDIF 
 3010         ELSE 
 3020           IF VALG$ ( 1 , 3 ) = "RET" THEN
 3030             EXEC RETTE
 3040             LET VALG$ = "" SP\RGE = 0
 3050           ELSE 
 3060             IF VALG$ ( 1 , 4 ) = "STOP" THEN
 3070               LET FORTS[T = 0 SLUT = 1
 3080             ELSE 
 3090               IF VALG$ ( 1 ) = "T" THEN
 3100                 LET T[LLER = T[LLER - 2 VALG$ = "" SP\RGE = 0
 3110               ENDIF 
 3120             ENDIF 
 3130           ENDIF 
 3140         ENDIF 
 3150         IF SINGLE THEN
 3160           LET SLUT = 1 FORTS[T = 0
 3170         ENDIF 
 3180       UNTIL SLUT
 3190     ENDIF 
 3200     LET SLUT = 0
 3210   ENDWHILE
 3220   CLOSE
 3230 ENDPROC CROOL«nul»
 3240 REM  -------------------------------------------------------------------------«nul»L
 3250 PROC RETTE
 3260   LET RYKKER = 6 LINIESKF = 0 INDSKRIV = 0 SPRING$ = "@" GENTAGER = 1
 3270   WHILE RYKKER <= 23 DO
 3280     ON ESC THEN LET LINIESKF = 1
 3290     PRINT "<134>" ; XY$ ( 41 ) ; XY$ ( RYKKER ) ;
 3300     INPUT "" , SPRING$
 3310     IF LEN ( SPRING$ ) = 0 THEN EXEC INDSKRIV
 3320     IF LINIESKF THEN
 3330       IF RYKKER = 11 THEN
 3340         LET RYKKER = RYKKER + 2
 3350       ELSE 
 3360         IF RYKKER = 18 THEN
 3370           IF ENGELSK THEN
 3380             LET RYKKER = RYKKER + 2
 3390           ELSE 
 3400             LET RYKKER = RYKKER + 3
 3410           ENDIF 
 3420         ELSE 
 3430           IF RYKKER = 22 OR RYKKER = 23 THEN
 3440             CASE MUFORGRE OF
 3450               LET RYKKER = RYKKER + 2
 3460             WHEN 1
 3470               LET RYKKER = RYKKER + 1
 3480             ENDCASE «nul» 
 3490           ELSE 
 3500             LET RYKKER = RYKKER + 1
 3510           ENDIF 
 3520         ENDIF 
 3530       ENDIF 
 3540       LET LINIESKF = 0
 3550     ENDIF 
 3560   ENDWHILE
 3570   IF INDSKRIV THEN
 3580     WRITE FILE ( 1 , RNR ) NR , GREN$ , ENAVN$ , FNAVN$ , MNAVN$ , MYNDIG
 3590     WRITE FILE ( 2 , RNR ) EADR$ , POGBY$ , CPR$ , ETLF$
 3600     WRITE FILE ( 3 , RNR ) FENAVN$ , FFNAVN$ , STILLING$ , K\N$
 3610     WRITE FILE ( 4 , RNR ) FADR$ , FPOGBY$ , FTLF$
 3620     WRITE FILE ( 5 , RNR ) SPROGFR$ , SPROGET$ , VALGFAG$
 3630     LET INDSKRIV = 0 MYNDIG = 0
 3640   ENDIF 
 3650 ENDPROC ETTE«nul»@
 3660 REM  -------------------------------------------------------------------------«nul»L
 3670 PROC INDSKRIV
 3680   LET DELING = 0
 3690   REPEAT 
 3700     LET GENTAGER = 1
 3710     ON ESC THEN EXEC TILBAGE
 3720     PRINT "<134>" ; XY$ ( 41 ) ; XY$ ( RYKKER ) ;
 3730     CASE RYKKER OF
 3740       REM «nul»2
 3750     WHEN 6
 3760       LET MYNDIG = 0
 3770       INPUT "<30>" , CPR$
 3780       IF LEN ( CPR$ ) > 7 THEN
 3790         IF CPR$ ( 7 ) <> "-" OR LEN ( CPR$ ) <> 11 AND LEN ( CPR$ ) <> 13 THEN
 3800           LET GENTAGER = 0
 3810           PRINT "<7>"
 3820         ENDIF 
 3830       ELSE 
 3840         LET GENTAGER = 0
 3850         PRINT "<7>"
 3860       ENDIF 
 3870       IF GENTAGER THEN
 3880         FOR I = 1 TO LEN ( CPR$ )
 3890           IF CPR$ ( I ) = "L" THEN
 3900             LET GENTAGER = 0
 3910             PRINT "<7>"
 3920           ENDIF 
 3930         NEXT 
 3940         IF GENTAGER THEN
 3950           IF CPR$ ( LEN ( CPR$ ) - 1 , LEN ( CPR$ ) ) = " M" THEN
 3960             LET MYNDIG = 1
 3970             LET CPR$ = CPR$ ( 1 , LEN ( CPR$ ) - 2 )
 3980           ENDIF 
 3990         ENDIF 
 4000       ENDIF 
 4010     WHEN 7
 4020       INPUT "<30>" , ENAVN$
 4030       IF NOT LEN ( ENAVN$ ) THEN
 4040         LET GENTAGER = 0
 4050         PRINT "<7>"
 4060       ENDIF 
 4070     WHEN 8
 4080       INPUT "<30>" , NAVN$
 4090       IF NOT LEN ( NAVN$ ) THEN
 4100         LET GENTAGER = 0
 4110         PRINT "<7>"
 4120       ELSE 
 4130         FOR I = 1 TO LEN ( NAVN$ )
 4140           IF NAVN$ ( I ) = "," THEN
 4150             LET A = I - 1 B = I + 1 I = LEN ( NAVN$ ) DELING = 1
 4160           ENDIF 
 4170         NEXT 
 4180         IF DELING THEN
 4190           LET FNAVN$ = NAVN$ ( 1 , A ) MNAVN$ = " " , NAVN$ ( B , LEN ( NAVN$ ) ) DELING = 0
 4200         ELSE 
 4210           LET FNAVN$ = NAVN$ MNAVN$ = ""
 4220         ENDIF 
 4230       ENDIF 
 4240     WHEN 9
 4250       INPUT "<30>" , EADR$
 4260       IF NOT LEN ( EADR$ ) THEN
 4270         LET GENTAGER = 0
 4280         PRINT "<7>"
 4290       ENDIF 
 4300     WHEN 10
 4310       INPUT "<30>" , POGBY$
 4320       IF LEN ( POGBY$ ) = 4 THEN
 4330         LET KONTROL = 1 SLUT = 0
 4340         WHILE POSTMAT ( 1 , KONTROL ) <> 0 AND KONTROL <= 29 AND NOT SLUT DO
 4350           IF POGBY$ ( 1 , 4 ) = POSTTEXT$ ( POSTMAT ( 1 , KONTROL ) , POSTMAT ( 2 , KONTROL ) ) THEN
 4360             LET POGBY$ = POGBY$ , " " , POSTTEXT$ ( POSTMAT ( 3 , KONTROL ) , POSTMAT ( 4 , KONTROL ) ) SLUT = 1
 4370           ENDIF 
 4380           LET KONTROL = KONTROL + 1
 4390         ENDWHILE
 4400         IF NOT SLUT THEN
 4410           LET GENTAGER = 0
 4420           PRINT "<7>"
 4430         ELSE 
 4440           LET UDL[G$ = POGBY$
 4450           EXEC UDL[G
 4460         ENDIF 
 4470       ELSE 
 4480         IF LEN ( POGBY$ ) < 4 THEN
 4490           LET GENTAGER = 0
 4500           PRINT "<7>"
 4510         ENDIF 
 4520       ENDIF 
 4530     WHEN 11
 4540       INPUT "<30>" , ETLF$
 4550       IF LEN ( ETLF$ ) = 6 THEN
 4560         FOR I = 1 TO LEN ( ETLF$ )
 4570           LET FEJL = 1
 4580           FOR J = 1 TO LEN ( TITAL$ )
 4590             IF ETLF$ ( I ) = TITAL$ ( J ) THEN
 4600               LET FEJL = 0 J = LEN ( TITAL$ )
 4610             ENDIF 
 4620             IF J = LEN ( TITAL$ ) AND FEJL THEN
 4630               LET GENTAGER = 0 I = LEN ( ETLF$ )
 4640               PRINT "<7>"
 4650             ENDIF 
 4660           NEXT 
 4670         NEXT 
 4680       ELSE 
 4690         LET GENTAGER = 0
 4700         PRINT "<7>"
 4710       ENDIF 
 4720     WHEN 13
 4730       INPUT "<30>" , FENAVN$
 4740       IF NOT LEN ( FENAVN$ ) THEN
 4750         LET FENAVN$ = ENAVN$ UDL[G$ = ENAVN$
 4760         EXEC UDL[G
 4770       ENDIF 
 4780     WHEN 14
 4790       INPUT "<30>" , FFNAVN$
 4800       IF LEN ( FFNAVN$ ) < 3 THEN
 4810         LET GENTAGER = 0
 4820         PRINT "<7>"
 4830       ELSE 
 4840         IF FFNAVN$ ( LEN ( FFNAVN$ ) - 1 , LEN ( FFNAVN$ ) ) <> " M" AND FFNAVN$ ( LEN ( FFNAVN$ ) - 1 , LEN ( FFNAVN$ ) ) <> " F" THEN
 4850           LET GENTAGER = 0
 4860           PRINT "<7>"
 4870         ELSE 
 4880           LET K\N$ = FFNAVN$ ( LEN ( FFNAVN$ ) ) FFNAVN$ = FFNAVN$ ( 1 , LEN ( FFNAVN$ ) - 2 )
 4890         ENDIF 
 4900       ENDIF 
 4910     WHEN 15
 4920       INPUT "<30>" , STILLING$
 4930     WHEN 16
 4940       INPUT "<30>" , FADR$
 4950       IF NOT LEN ( FADR$ ) THEN
 4960         LET FADR$ = EADR$ UDL[G$ = EADR$
 4970         EXEC UDL[G
 4980       ENDIF 
 4990     WHEN 17
 5000       INPUT "<30>" , FPOGBY$
 5010       IF LEN ( FPOGBY$ ) = 4 THEN
 5020         LET KONTROL = 1 SLUT = 0
 5030         WHILE POSTMAT ( 1 , KONTROL ) <> 0 AND KONTROL <= 29 AND NOT SLUT DO
 5040           IF FPOGBY$ ( 1 , 4 ) = POSTTEXT$ ( POSTMAT ( 1 , KONTROL ) , POSTMAT ( 2 , KONTROL ) ) THEN
 5050             LET FPOGBY$ = FPOGBY$ , " " , POSTTEXT$ ( POSTMAT ( 3 , KONTROL ) , POSTMAT ( 4 , KONTROL ) ) SLUT = 1
 5060           ENDIF 
 5070           LET KONTROL = KONTROL + 1
 5080         ENDWHILE
 5090         IF NOT SLUT THEN
 5100           LET GENTAGER = 0
 5110           PRINT "<7>"
 5120         ELSE 
 5130           LET UDL[G$ = FPOGBY$
 5140           EXEC UDL[G
 5150         ENDIF 
 5160       ELSE 
 5170         IF NOT LEN ( FPOGBY$ ) THEN
 5180           LET FPOGBY$ = POGBY$ UDL[G$ = POGBY$
 5190           EXEC UDL[G
 5200         ENDIF 
 5210       ENDIF 
 5220     WHEN 18
 5230       INPUT "<30>" , FTLF$
 5240       IF NOT LEN ( FTLF$ ) THEN
 5250         LET FTLF$ = ETLF$ UDL[G$ = ETLF$
 5260         EXEC UDL[G
 5270       ELSE 
 5280         IF LEN ( FTLF$ ) <> 1 AND LEN ( FTLF$ ) = 6 THEN
 5290           FOR I = 1 TO LEN ( FTLF$ )
 5300             LET FEJL = 1
 5310             FOR J = 1 TO LEN ( TITAL$ )
 5320               IF FTLF$ ( I ) = TITAL$ ( J ) THEN
 5330                 LET FEJL = 0 J = LEN ( TITAL$ )
 5340               ENDIF 
 5350               IF J = LEN ( TITAL$ ) AND FEJL THEN
 5360                 LET GENTAGER = 0 I = LEN ( FTLF$ )
 5370                 PRINT "<7>"
 5380               ENDIF 
 5390             NEXT 
 5400           NEXT 
 5410         ELSE 
 5420           IF LEN ( FTLF$ ) AND LEN ( FTLF$ ) <> 1 THEN
 5430             LET GENTAGER = 0
 5440             PRINT "<7>"
 5450           ENDIF 
 5460         ENDIF 
 5470       ENDIF 
 5480     WHEN 20
 5490       INPUT "<30>" , SPROGET$
 5500       IF SPROGET$ <> "EN" AND SPROGET$ <> "TY" THEN
 5510         LET GENTAGER = 0
 5520         PRINT "<7>"
 5530       ENDIF 
 5540     WHEN 21
 5550       INPUT "<30>" , SPROGFR$
 5560       IF SPROGFR$ <> "FR" AND SPROGFR$ <> "RU" THEN
 5570         LET GENTAGER = 0
 5580         PRINT "<7>"
 5590       ENDIF 
 5600     WHEN 22
 5610       INPUT "<30>" , VALGFAG$
 5620       IF VALGFAG$ <> "FO" AND VALGFAG$ <> "MU" THEN
 5630         LET GENTAGER = 0
 5640         PRINT "<7>"
 5650       ENDIF 
 5660     WHEN 23
 5670       INPUT "<30>" , GREN$
 5680       IF GREN$ <> "F" AND GREN$ <> "S" AND GREN$ <> "M" AND GREN$ <> "N" THEN
 5690         LET GENTAGER = 0
 5700         PRINT "<7>"
 5710       ENDIF 
 5720     ENDCASE «nul» 
 5730     ON ESC THEN EXEC TILBAGE
 5740   UNTIL GENTAGER
 5750   LET INDSKRIV = 1 SPRING$ = "@"
 5760 ENDPROC NDSKRIV«nul»
 5770 REM  -------------------------------------------------------------------------«nul»L
 5780 PROC ELEVVALG
 5790   OPEN FILE ( 1 , 1 ) "ENR-RNR."
 5800   MAT READ FILE ( 1 ) ENRRNR
 5810   CLOSE FILE ( 1 )
 5820   LET GENTAG = 1 STOPPER = 0
 5830   WHILE GENTAG DO
 5840     PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 3 ) ; "<31>"
 5850     REPEAT 
 5860       REPEAT 
 5870         PRINT "<134>" ; XY$ ( 6 ) ; XY$ ( 6 ) ;
 5880         INPUT "ELEVENS NUMMER                : <30>" , CNR
 5890       UNTIL CNR >= 0 AND CNR <= 30
 5900       IF CNR = 0 THEN
 5910         LET GENTAG = 0 STOPPER = 1 CNR = 30
 5920       ELSE 
 5930         IF ENRRNR ( 1 , CNR ) = 0 OR ENRRNR ( 1 , CNR ) >= 100 THEN
 5940           PRINT "<134>" ; XY$ ( 6 ) ; XY$ ( 8 ) ; "ELEV" ; CNR ; "EKSISTERE IKKE I " ; KLASSE$
 5950           PRINT "<134>" ; XY$ ( 4 ) ; XY$ ( 9 ) ; "--------------------------------"
 5960         ENDIF 
 5970       ENDIF 
 5980     UNTIL ENRRNR ( 1 , CNR ) >= 1 AND ENRRNR ( 1 , CNR ) <= 30 OR STOPPER
 5990     IF NOT STOPPER THEN
 6000       EXEC UDTEKST
 6010       LET SINGLE = 1 T[LLER = CNR FORTS[T = 1 ELEVFOR = 1 MUGRPLOT = 1 SLUT = 0 SP\RGE = 1
 6020     ENDIF 
 6030     IF NOT STOPPER THEN EXEC SCROOL
 6040   ENDWHILE
 6050 ENDPROC LEVVALG«nul»
 6060 REM  -------------------------------------------------------------------------«nul»L
 6070 PROC EKONTROL
 6080   OPEN FILE ( 1 , 0 ) "NR-GR-NA"
 6090   OPEN FILE ( 2 , 0 ) "AD-CP-TL"
 6100   OPEN FILE ( 3 , 0 ) "PA.NA-ST"
 6110   OPEN FILE ( 4 , 0 ) "PA.AD-TL"
 6120   OPEN FILE ( 5 , 0 ) "VALGFAG."
 6130   OPEN FILE ( 6 , 0 ) "NUMERISK"
 6140   OPEN FILE ( 7 , 1 ) "ENR-RNR."
 6150   MAT READ FILE ( 7 ) ENRRNR
 6160   LET FORTS[T = 1 SPRING = 0 DELING = 0
 6170   PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 3 ) ; "<31>"
 6180   PRINT "<134>" ; XY$ ( 6 ) ; XY$ ( 4 ) ; "KONTROL DATA :"
 6190   PRINT "<134>" ; XY$ ( 4 ) ; XY$ ( 5 ) ; "------------------"
 6200   WHILE FORTS[T DO
 6210     LET RYKKER = 7 KONTROL = 1 SLUT = 0
 6220     PRINT "<134>" ; XY$ ( 8 ) ; XY$ ( RYKKER ) ;
 6230     WHILE RYKKER <= 11 DO
 6240       CASE KONTROL OF
 6250         REM «nul»2
 6260       WHEN 1
 6270         INPUT "ELEVENS NUMMER                  : " , CNR
 6280         LET KONTROL = 2
 6290         IF CNR = 0 THEN
 6300           LET FORTS[T = 0 KONTROL = 5 SPRING = 1
 6310         ENDIF 
 6320       WHEN 2
 6330         INPUT "ELEVENS CPR-NUMMER              : " , CCPR$
 6340         LET KONTROL = 3 RYKKER = RYKKER + 1
 6350       WHEN 3
 6360         INPUT "ELEVENS EFTERNAVN               : " , CENAVN$
 6370         LET KONTROL = 4
 6380       WHEN 4
 6390         INPUT "ELEVENS FORNAVN, (MELLEMNAVN)   : " , NAVN$
 6400         LET KONTROL = 5
 6410         FOR I = 1 TO LEN ( NAVN$ )
 6420           IF NAVN$ ( I ) = "," THEN
 6430             LET A = I - 1 B = I + 1 I = LEN ( NAVN$ ) DELING = 1
 6440           ENDIF 
 6450         NEXT 
 6460         IF DELING THEN
 6470           LET CFNAVN$ = NAVN$ ( 1 , A ) CMNAVN$ = " " , NAVN$ ( B , LEN ( NAVN$ ) ) DELING = 0
 6480         ELSE 
 6490           LET CFNAVN$ = NAVN$ CMNAVN$ = ""
 6500         ENDIF 
 6510       ENDCASE «nul» 
 6520       LET RYKKER = RYKKER + 1
 6530       PRINT "<134>" ; XY$ ( 8 ) ; XY$ ( RYKKER ) ;
 6540     ENDWHILE
 6550     IF NOT SPRING THEN
 6560       LET RNR = ENRRNR ( 1 , CNR )
 6570       IF RNR >= 1 AND RNR <= 30 THEN
 6580         READ FILE ( 1 , RNR ) NR , GREN$ , ENAVN$ , FNAVN$ , MNAVN$
 6590         READ FILE ( 2 , RNR ) EADR$ , POGBY$ , CPR$ , ETLF$
 6600         IF ENAVN$ = CENAVN$ AND FNAVN$ = CFNAVN$ AND MNAVN$ = CMNAVN$ AND CPR$ = CCPR$ THEN
 6610           PRINT "<134>" ; XY$ ( 6 ) ; XY$ ( 14 ) ; "-----------------------------------------------"
 6620           PRINT "<134>" ; XY$ ( 8 ) ; XY$ ( 16 ) ; "ELEVEN ER FUNDET OG SLETTES NU AF SYSTEMET."
 6630           WRITE FILE ( 1 , RNR ) 0 , "@" , "@" , "@" , "@"
 6640           WRITE FILE ( 2 , RNR ) "@" , "@" , "@" , "@"
 6650           WRITE FILE ( 3 , RNR ) "@" , "@" , "@" , "@"
 6660           WRITE FILE ( 4 , RNR ) "@" , "@" , "@"
 6670           WRITE FILE ( 5 , RNR ) "@" , "@" , "@"
 6680           WRITE FILE ( 6 , RNR ) 0 , 0 , 0 , 0
 6690           CLOSE FILE ( 7 )
 6700           OPEN FILE ( 7 , 3 ) "ENR-RNR."
 6710           LET ENRRNR ( 1 , CNR ) = RNR * 100
 6720           MAT WRITE FILE ( 7 ) ENRRNR
 6730           CLOSE FILE ( 7 )
 6740           OPEN FILE ( 7 , 1 ) "ENR-RNR."
 6750           PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 6 ) ; "<31>"
 6760         ELSE 
 6770           PRINT "<134>" ; XY$ ( 6 ) ; XY$ ( 14 ) ; "----------------------------------------"
 6780           PRINT "<134>" ; XY$ ( 8 ) ; XY$ ( 16 ) ; "ELEV" ; CNR ; "HAR IKKE OVENSTÅENDE DATA"
 6790           PRINT "<134>" ; XY$ ( 8 ) ; XY$ ( 17 ) ; "OG SLETTES DERFOR IKKE."
 6800           PRINT "<134>" ; XY$ ( 6 ) ; XY$ ( 19 ) ; "(STOP),(EFEJL),(OVERSIGT) : " ;
 6810           INPUT "" , VALG$
 6820           LET FEJL = 33
 6830           REPEAT 
 6840             CASE VALG$ OF
 6850               PRINT "<134>" ; XY$ ( FEJL ) ; XY$ ( 19 ) ;
 6860               INPUT "<30>" , VALG$
 6870             WHEN "STOP"
 6880               LET SLUT = 1 FORTS[T = 0
 6890             WHEN "EFEJL"
 6900               FOR I = 7 TO 11 STEP 1
 6910                 PRINT "<134>" ; XY$ ( 41 ) ; XY$ ( I ) ; "                  "
 6920               NEXT 
 6930               PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 13 ) ; "<31>"
 6940               LET SLUT = 1
 6950             WHEN "OVERSIGT"
 6960               LET FLYTTER = 7
 6970               WHILE FLYTTER <= 11 DO
 6980                 PRINT "<134>" ; XY$ ( 60 ) ; XY$ ( FLYTTER ) ; "><60><30>"
 6990                 IF FLYTTER = 8 THEN
 7000                   LET FLYTTER = FLYTTER + 1
 7010                 ENDIF 
 7020                 LET FLYTTER = FLYTTER + 1
 7030               ENDWHILE
 7040               PRINT "<134>" ; XY$ ( 63 ) ; XY$ ( 7 ) ; NR
 7050               PRINT "<134>" ; XY$ ( 63 ) ; XY$ ( 8 ) ; CPR$
 7060               PRINT "<134>" ; XY$ ( 63 ) ; XY$ ( 10 ) ; ENAVN$
 7070               PRINT "<134>" ; XY$ ( 63 ) ; XY$ ( 11 ) ; FNAVN$ ; ", " ; MNAVN$
 7080               PRINT "<134>" ; XY$ ( 6 ) ; XY$ ( 19 ) ; "(STOP),(EFEJL) :<30> " ;
 7090               INPUT "<30>" , VALG$
 7100               LET FEJL = 23
 7110             ENDCASE «nul» 
 7120           UNTIL SLUT
 7130         ENDIF 
 7140       ELSE 
 7150         PRINT "<134>" ; XY$ ( 6 ) ; XY$ ( 14 ) ; "-----------------------------------"
 7160         PRINT "<134>" ; XY$ ( 8 ) ; XY$ ( 16 ) ; "ELEV NR." ; CNR ; "EKSISTERE IKKE I " ; KLASSE$
 7170         DELAY = 4
 7180       ENDIF 
 7190     ENDIF 
 7200   ENDWHILE
 7210   CLOSE
 7220 ENDPROC KONTROL«nul»
 7230 REM  -------------------------------------------------------------------------«nul»L
 7240 PROC ELEVIND
 7250   OPEN FILE ( 1 , 0 ) "NR-GR-NA"
 7260   OPEN FILE ( 2 , 0 ) "AD-CP-TL"
 7270   OPEN FILE ( 3 , 0 ) "PA.NA-ST"
 7280   OPEN FILE ( 4 , 0 ) "PA.AD-TL"
 7290   OPEN FILE ( 5 , 0 ) "VALGFAG."
 7300   OPEN FILE ( 7 , 1 ) "ENR-RNR."
 7310   MAT READ FILE ( 7 ) ENRRNR
 7320   LET GENTAG = 1 SKIFTER = 1 F\RSTE = 1 SPRING = 1 GENTAGER = 1 FORTS[T = 1
 7330   WHILE GENTAG DO
 7340     PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 3 ) ; "<31>"
 7350     REPEAT 
 7360       PRINT "<134>" ; XY$ ( 6 ) ; XY$ ( 6 ) ;
 7370       INPUT "DEN NYE ELEVS NUMMER           : <30>" , CNR
 7380     UNTIL CNR >= 0 AND CNR <= 30
 7390     IF CNR = 0 THEN
 7400       LET GENTAG = 0 SPRING = 0
 7410     ENDIF 
 7420     IF SPRING THEN
 7430       WHILE ENRRNR ( 1 , SKIFTER ) < 100 AND SKIFTER < 30 DO
 7440         LET SKIFTER = SKIFTER + 1
 7450       ENDWHILE
 7460       IF ENRRNR ( 1 , SKIFTER ) >= 100 THEN
 7470         IF CNR <> SKIFTER THEN
 7480           LET RNR = ENRRNR ( 1 , SKIFTER ) / 100 ENRRNR ( 1 , SKIFTER ) = 0
 7490         ELSE 
 7500           LET RNR = ENRRNR ( 1 , SKIFTER ) / 100 ENRRNR ( 1 , SKIFTER ) = RNR
 7510         ENDIF 
 7520       ELSE 
 7530         LET FINDER ( 1 ) = 1 FINDER ( 2 ) = 1 FINDER ( 3 ) = 1
 7540         WHILE FINDER ( 2 ) <= 30 DO
 7550           WHILE FINDER ( 3 ) <= 30 DO
 7560             IF ENRRNR ( 1 , FINDER ( 2 ) ) = FINDER ( 3 ) THEN
 7570               LET RNRKONTL ( 1 , FINDER ( 3 ) ) = 1 FINDER ( 3 ) = 30
 7580             ENDIF 
 7590             LET FINDER ( 3 ) = FINDER ( 3 ) + 1
 7600           ENDWHILE
 7610           LET FINDER ( 2 ) = FINDER ( 2 ) + 1 FINDER ( 3 ) = 1
 7620         ENDWHILE
 7630         WHILE RNRKONTL ( 1 , FINDER ( 1 ) ) = 1 DO
 7640           LET FINDER ( 1 ) = FINDER ( 1 ) + 1
 7650         ENDWHILE
 7660         LET RNR = FINDER ( 1 )
 7670       ENDIF 
 7680       IF CNR <> SKIFTER THEN
 7690         LET FINDER ( 2 ) = CNR
 7700         IF CNR <> RNR THEN
 7710           MAT FLYT = ENRRNR
 7720           WHILE FINDER ( 2 ) <= 29 DO
 7730             LET FLYT ( 1 , FINDER ( 2 ) + 1 ) = ENRRNR ( 1 , FINDER ( 2 ) )
 7740             LET FINDER ( 2 ) = FINDER ( 2 ) + 1
 7750           ENDWHILE
 7760         ELSE 
 7770           MAT FLYT = ENRRNR
 7780         ENDIF 
 7790         LET FLYT ( 1 , CNR ) = RNR
 7800         MAT ENRRNR = FLYT
 7810         MAT FLYT = ZER
 7820         LET FINDER ( 2 ) = CNR + 1
 7830         WHILE FINDER ( 2 ) <= 30 DO
 7840           IF ENRRNR ( 1 , FINDER ( 2 ) ) > 0 AND ENRRNR ( 1 , FINDER ( 2 ) ) < 100 THEN
 7850             WRITE FILE ( 1 , ENRRNR ( 1 , FINDER ( 2 ) ) ) FINDER ( 2 )
 7860           ENDIF 
 7870           LET FINDER ( 2 ) = FINDER ( 2 ) + 1
 7880         ENDWHILE
 7890       ENDIF 
 7900       EXEC UDTEKST
 7910       LET FLYTTER = RYKKER RYKKER = 6
 7920       PRINT "<134>" ; XY$ ( 13 ) ; XY$ ( 3 ) ; CNR
 7930       WHILE RYKKER < FLYTTER + 1 DO
 7940         IF RYKKER = 12 THEN
 7950           LET RYKKER = RYKKER + 1
 7960         ELSE 
 7970           IF RYKKER = 19 THEN
 7980             IF ENGELSK THEN
 7990               LET RYKKER = RYKKER + 1
 8000             ELSE 
 8010               LET RYKKER = RYKKER + 2
 8020             ENDIF 
 8030             IF RYKKER = 21 OR RYKKER = 22 THEN
 8040               IF NOT MUFORGRE THEN
 8050                 LET RYKKER = RYKKER + 4
 8060               ENDIF 
 8070             ENDIF 
 8080           ENDIF 
 8090         ENDIF 
 8100         EXEC INDSKRIV
 8110         LET RYKKER = RYKKER + 1
 8120       ENDWHILE
 8130       IF SPRING THEN
 8140         WRITE FILE ( 1 , RNR ) CNR , GREN$ , ENAVN$ , FNAVN$ , MNAVN$ , MYNDIG
 8150         WRITE FILE ( 2 , RNR ) EADR$ , POGBY$ , CPR$ , ETLF$
 8160         WRITE FILE ( 3 , RNR ) FENAVN$ , FFNAVN$ , STILLING$ , K\N$
 8170         WRITE FILE ( 4 , RNR ) FADR$ , FPOGBY$ , FTLF$
 8180         WRITE FILE ( 5 , RNR ) SPROGFR$ , SPROGET$ , VALGFAG$
 8190         CLOSE FILE ( 7 )
 8200         OPEN FILE ( 7 , 3 ) "ENR-RNR."
 8210         MAT WRITE FILE ( 7 ) ENRRNR
 8220         CLOSE FILE ( 7 )
 8230         OPEN FILE ( 7 , 1 ) "ENR-RNR."
 8240       ENDIF 
 8250     ENDIF 
 8260   ENDWHILE
 8270   CLOSE
 8280   RESET ESC
 8290 ENDPROC LEVIND«nul»
 8300 REM  -------------------------------------------------------------------------«nul»L
 8310 PROC TILBAGE
 8320   ON ESC THEN EXEC TILBAGE
 8330   LET GENTAGER = 0
 8340   IF RYKKER = 6 THEN
 8350     LET GENTAGER = 1 FLYTTER = RYKKER SPRING = 0
 8360   ELSE 
 8370     IF RYKKER = 13 OR RYKKER = 20 THEN
 8380       LET RYKKER = RYKKER - 2
 8390     ELSE 
 8400       IF RYKKER = 21 THEN
 8410         IF NOT ENGELSK THEN
 8420           LET RYKKER = RYKKER - 3
 8430         ELSE 
 8440           LET RYKKER = RYKKER - 1
 8450         ENDIF 
 8460       ELSE 
 8470         LET RYKKER = RYKKER - 1
 8480       ENDIF 
 8490     ENDIF 
 8500   ENDIF 
 8510   PRINT "<134>" ; XY$ ( 41 ) ; XY$ ( RYKKER ) ; "<30>"
 8520 ENDPROC ILBAGE«nul»)
 8530 REM  -------------------------------------------------------------------------«nul»L
 8540 PROC UDL[G
 8550   PRINT "<134>" ; XY$ ( 41 ) ; XY$ ( RYKKER ) ; UDL[G$
 8560 ENDPROC DLÆG«nul»«nul»
 8570 REM  -------------------------------------------------------------------------«nul»-
 8580 PROC INFORMAT
 8590   REPEAT 
 8600     CONNECT "LIB" , 1
 8610     PRINT "<140><134>" ; XY$ ( 22 ) ; XY$ ( 1 ) ; "RETTELSER AF ELEVOPLYSNINGER."
 8620     PRINT "<134>" ; XY$ ( 13 ) ; XY$ ( 2 ) ; "---------------------------------------------------------------"
 8630     PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 5 ) ; "A :  KONTROL AF ELEVOPLYSNINGER MED MULIGHED FOR RETTELSER"
 8640     PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 7 ) ; "B :  RETTELSE AF OPLYSNINGER FOR FORUDGÅENDE KENDT ELEV"
 8650     PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 9 ) ; "C :  INDSKRIVNING AF NY ELEV"
 8660     PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 11 ) ; "D :  SLETTELSE AF ELEVER"
 8670     PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 13 ) ; "E :  TILBAGE TIL HOVEDOPLYSNING"
 8680     PRINT "<134>" ; XY$ ( 13 ) ; XY$ ( 16 ) ; "---------------------------------------------------------------"
 8690     REPEAT 
 8700       PRINT "<134>" ; XY$ ( 26 ) ; XY$ ( 20 ) ;
 8710       INPUT "HVILKEN FUNKTION VÆLGES : <30>" , FUNKVALG$
 8720     UNTIL FUNKVALG$ >= "A" AND FUNKVALG$ <= "E"
 8730     CASE FUNKVALG$ OF
 8740       REM «nul»2
 8750     WHEN "A"
 8760       EXEC MATTEKST
 8770       LET PROCEDUR$ = "KONTROL AF ELEVOPLYSNINGER I"
 8780       LET XKOR = 19
 8790       EXEC KLVALG
 8800       EXEC UDTEKST
 8810       LET T[LLER = 0 FORTS[T = 1 ELEVFOR = 1 MUGRPLOT = 1 SLUT = 0 SP\RGE = 1 SINGLE = 0
 8820       EXEC SCROOL
 8830     WHEN "B"
 8840       EXEC MATTEKST
 8850       LET PROCEDUR$ = "RETTELSER AF OPLYSNINGER FOR KENDT ELEV I"
 8860       LET XKOR = 17
 8870       EXEC KLVALG
 8880       EXEC ELEVVALG
 8890     WHEN "C"
 8900       EXEC MATTEKST
 8910       LET PROCEDUR$ = "INDSKRIVNING AF NYE ELEVER I"
 8920       LET XKOR = 24
 8930       EXEC KLVALG
 8940       EXEC ELEVIND
 8950     WHEN "D"
 8960       LET PROCEDUR$ = "SLETTELSE AF ELEVER I"
 8970       LET XKOR = 27
 8980       EXEC KLVALG
 8990       EXEC EKONTROL
 9000     ENDCASE «nul» 
 9010   UNTIL FUNKVALG$ = "E"
 9020 ENDPROC NFORMAT«nul»
 9030 EXEC INFORMAT
 9040 REM  -----------------------------------------------------------------------«nul»-
 9050 ENTER "PROGVALG"

UDAS Segment

    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] = 0x2085
      stack[1] = 0x1ffc
      stack[2] = 0x03be
      stack[3] = 0x1191
      stack[4] = 0x0cc6
      stack[5] = 0x1191
      stack[6] = 0x0000
    FOR-NEXT stack pointer = 0x0000
      Var# = 0x00cb
      Loop Top = 0x0fe9
      To Val = 6   (0x41600000)
      Step Val = 1   (0x41100000)
      Var# = 0x00d2
      Loop Top = 0x0ff9
      To Val = 10   (0x41a00000)
      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)
    REPEAT-UNTIL stack pointer = 0x0000
      stack[0] = 0x1e52
      stack[1] = 0x1f8b
      stack[2] = 0x04cf
      stack[3] = 0x0000
      stack[4] = 0x0000
      stack[5] = 0x0000
      stack[6] = 0x0000
    WHILE-ENDWHILE stack pointer = 0x0000
      stack[0] = 0x08d5
      stack[1] = 0x0b86
      stack[2] = 0x0f4b
      stack[3] = 0x0f4b
      stack[4] = 0x0000
      stack[5] = 0x0000
      stack[6] = 0x0000
    IF-ELSE stack pointer = 0x0000
      stack[0] = 0x0000
      stack[1] = 0x0000
      stack[2] = 0x0000
      stack[3] = 0x0001
      stack[4] = 0x0001
      stack[5] = 0x0001
      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 NAVN$
    0x86 0xffff 0x02 EADR$
    0x87 0xffff 0x02 CCPR$
    0x88 0xffff 0x02 CENAVN$
    0x89 0xffff 0x02 CFNAVN$
    0x8a 0xffff 0x02 CMNAVN$
    0x8b 0xffff 0x02 POGBY$
    0x8c 0xffff 0x02 ETLF$
    0x8d 0xffff 0x02 FENAVN$
    0x8e 0xffff 0x02 FFNAVN$
    0x8f 0xffff 0x02 STILLING$
    0x90 0xffff 0x02 FADR$
    0x91 0xffff 0x02 FPOGBY$
    0x92 0xffff 0x02 FTLF$
    0x93 0xffff 0x02 K\N$
    0x94 0xffff 0x02 SPROGET$
    0x95 0xffff 0x02 SPROGFR$
    0x96 0xffff 0x02 FUNKVALG$
    0x97 0xffff 0x02 CHECKL$
    0x98 0xffff 0x02 KLTRIN$
    0x99 0xffff 0x02 KLKODE$
    0x9a 0xffff 0x02 FLNAVNE$
    0x9b 0xffff 0x02 KLASSE$
    0x9c 0xffff 0x02 GREN$
    0x9d 0xffff 0x02 FORMUS$
    0x9e 0xffff 0x02 VALGFAG$
    0x9f 0xffff 0x02 TEKST$
    0xa0 0xffff 0x02 PROCEDUR$
    0xa1 0xffff 0x02 UDL[G$
    0xa2 0xffff 0x02 VALG$
    0xa3 0xffff 0x02 SPRING$
    0xa4 0xffff 0x02 XY$
    0xa5 0xffff 0x02 GRENKODE$
    0xa6 0xffff 0x00 ENRRNR
    0xa7 0xffff 0x00 RNRKONTL
    0xa8 0xffff 0x00 FLYT
    0xa9 0xffff 0x00 XYTEKST
    0xaa 0xffff 0x00 GRENMAT
    0xab 0xffff 0x00 FINDER
    0xac 0xffff 0x00 MATTEKST
    0xad 0xffff 0x00 KLVALG
    0xae 0xffff 0x00 XKOR
    0xaf 0xffff 0x00 DISKONT
    0xb0 0xffff 0x00 T[LLER
    0xb1 0xffff 0x00 OK
    0xb2 0xffff 0x00 UDTEKST
    0xb3 0xffff 0x00 ENGELSK
    0xb4 0xffff 0x00 MUFORGRE
    0xb5 0xffff 0x00 RYKKER
    0xb6 0xffff 0x00 KOLON
    0xb7 0xffff 0x00 SPRING
    0xb8 0xffff 0x00 SCROOL
    0xb9 0xffff 0x00 FORTS[T
    0xba 0xffff 0x00 KONTROL
    0xbb 0xffff 0x00 SINGLE
    0xbc 0xffff 0x00 SLUT
    0xbd 0xffff 0x00 SP\RGE
    0xbe 0xffff 0x02 ELRET$
    0xbf 0xffff 0x00 RNR
    0xc0 0xffff 0x00 NR
    0xc1 0xffff 0x00 MYNDIG
    0xc2 0xffff 0x00 ELEVFOR
    0xc3 0xffff 0x00 MUGRPLOT
    0xc4 0xffff 0x00 SLETTER
    0xc5 0xffff 0x00 RETTE
    0xc6 0xffff 0x00 LINIESKF
    0xc7 0xffff 0x00 INDSKRIV
    0xc8 0xffff 0x00 GENTAGER
    0xc9 0xffff 0x00 DELING
    0xca 0xffff 0x00 TILBAGE
    0xcb 0xffff 0x00 I
    0xcc 0xffff 0x00 A
    0xcd 0xffff 0x00 B
    0xce 0xffff 0x00 POSTMAT
    0xcf 0xffff 0x02 POSTTEXT$
    0xd0 0xffff 0x00 UDL[G
    0xd1 0xffff 0x00 FEJL
    0xd2 0xffff 0x00 J
    0xd3 0xffff 0x02 TITAL$
    0xd4 0xffff 0x00 ELEVVALG
    0xd5 0xffff 0x00 GENTAG
    0xd6 0xffff 0x00 STOPPER
    0xd7 0xffff 0x00 CNR
    0xd8 0xffff 0x00 EKONTROL
    0xd9 0xffff 0x00 FLYTTER
    0xda 0xffff 0x00 ELEVIND
    0xdb 0xffff 0x00 SKIFTER
    0xdc 0xffff 0x00 F\RSTE
    0xdd 0xffff 0x00 INFORMAT

Wrapper

.magic = 0x5356
.u_pas = 0x20b1  // 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 = 0x0000  // Address på curr prog.sætning (word adr)
.u_tll = 0x0000  // Page størrelse
.u_tts = 0x000e  // 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)