|
|
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 - download
Length: 21595 (0x545b)
Types: SPC/1-COMAL-80
Notes: Mikados_B, UNKNOWN_TOKEN_ca, UNKNOWN_TOKEN_cb, UNKNOWN_TOKEN_cd
Names: »SYSR.B«
└─⟦86fa88d8d⟧ Bits:30005772 Bogføringssystemet 'SYS-KAMMS' v.1.0
└─⟦this⟧ »SYSR.B«
0100 // **************************************************
0110 // * *
0120 // * Bogføringssystemet 'SYS-KAS' *
0130 // * vers. 1.0 *
0140 // * *
0150 // * Udviklet marts 1983 på en 'SPC/1' mikrodatamat *
0160 // * Programsystemet er skrevet i COMAL80 vers. 1.2 *
0170 // * *
0180 // * Udviklet af : Peter Kristensen *
0190 // * Vestervang 6, 6920 Videbæk *
0200 // * *
0210 // * (C) : forlaget systime a/s *
0220 // * Klokkebakken 20, Gjellerup *
0230 // * 7400 Herning *
0240 // **************************************************
0120 EXEC DIMENSIONER
0130 EXEC INITIER
0120 EXEC FUNKTIONSMENU
0280 CHAIN PROGRAM$
0250 // =========== Procedurer starter ==============
0260 PROC DIMENSIONER
0270 // Standard variable
0280 DIM SPC$ OF 80,SVAR$ OF 10,PRGFL$ OF 8,ALFA$ OF 28,TAL$ OF 10
0170 DIM PROGRAM$ OF 17,PRTNR$ OF 1
0300 REAL RESRV,PPAR
0310 INTEGER OK,TRUE,FALSE,I,J,LIN_T,MAX_LIN,SIDENR
0340 // Variable til filen KTOIDX m.m.
0350 DIM KTOIDX$ OF 17
0360 INTEGER I_HØJREC,I_MAXREC,LOW,HIGH,POS,IDXPOS,RECNR
0370 DIM KTONR$ OF 8
0380 // Variable til filen @@KONTO
0390 DIM KONTO$ OF 17
0400 DIM ST_DATO$ OF 6
0410 INTEGER N_FRIREC,N_MAXREC,ANT_PER,PER_NR
0420 DIM KTO_TYPE$ OF 1,KTO_NAVN$ OF 40
0430 REAL KTO_PRIMO,KTO_ULTIMO
0440 INTEGER KTO_FP,KTO_SP
0450 // Variable til filen SYSPARA
0460 DIM SYSPARA$ OF 17
0470 DIM SYST_NAVN$ OF 30,S_KODE$ OF 1
0480 DIM DATAFL$ OF 8,T_KODE$ OF 1
0490 // Variable til filen @@PARAM
0500 DIM PARAM$ OF 17
0510 DIM FIRMANAVN$ OF 30,SYST_DAT$ OF 6
0520 REAL MOMS
0530 REAL SALDO
0540 DIM FIL$ OF 17,S_KTONR$ OF 8
0550 // Variable til filen driftø
0420 DIM DRIFTØ$ OF 17
0570 DIM PRIMODAT$ OF 6
0580 REAL DRIFT(2)
0610 // Filnavne til regnskabsanalysen
0620 DIM KAPOMK$ OF 17,OMSÆTN$ OF 17,VAREFO$ OF 17,AFSKRI$ OF 17
0630 DIM EGENKA$ OF 17,AKTIVE$ OF 17,RENTEO$ OF 17
0640 DIM VARELA$ OF 17,DEBITO$ OF 17,KREDIT$ OF 17
0650 REAL S_KAPOMK,S_OMSÆTN,S_VAREFO,S_AFSKRI,S_EGENKA,S_AKTIVE,S_RENTEO
0660 REAL S_VARELA,S_DEBITO,S_KREDIT,S_VARELA_P
0590 ENDPROC DIMENSIONER
0600
0610 PROC INITIER
0630 LET PRGFL$ := "DP2"
0640 LET PROGRAM$ := PRGFL$ + ":SYS"
0650 LET SPC$ := " "
0660 LET SPC$ := SPC$ + SPC$
0670 LET FALSE := 0 ; TRUE := 1 // boolske variable
0680 LET SYSPARA$ := PRGFL$ + ":SYSPARA"
0690 EXEC OPENFIL(SYSPARA$,"R")
0700 GET SYSPARA$,1 : SYST_NAVN$,S_KODE$
0710 EXEC TERMINAL_IDX
0720 CLOSE SYSPARA$
0730 LET PARAM$ := DATAFL$ + ":" + S_KODE$ + T_KODE$ + "PARAM"
0740 EXEC OPENFIL(PARAM$,"R")
0750 GET PARAM$,1 : FIRMANAVN$,SYST_DAT$,MOMS
0760 CLOSE PARAM$
0840 LET OMSÆTN$ := DATAFL$ + ":" + S_KODE$ + T_KODE$ + "OMSÆTN"
0850 LET VAREFO$ := DATAFL$ + ":" + S_KODE$ + T_KODE$ + "VAREFO"
0860 LET KAPOMK$ := DATAFL$ + ":" + S_KODE$ + T_KODE$ + "KAPOMK"
0870 LET AFSKRI$ := DATAFL$ + ":" + S_KODE$ + T_KODE$ + "AFSKRI"
0880 LET RENTEO$ := DATAFL$ + ":" + S_KODE$ + T_KODE$ + "RENTEO"
0890 LET AKTIVE$ := DATAFL$ + ":" + S_KODE$ + T_KODE$ + "AKTIVE"
0900 LET VARELA$ := DATAFL$ + ":" + S_KODE$ + T_KODE$ + "VARELA"
0910 LET DEBITO$ := DATAFL$ + ":" + S_KODE$ + T_KODE$ + "DEBITO"
0920 LET KREDIT$ := DATAFL$ + ":" + S_KODE$ + T_KODE$ + "KREDIT"
0930 LET EGENKA$ := DATAFL$ + ":" + S_KODE$ + T_KODE$ + "EGENKA"
0780 LET DRIFTØ$ := DATAFL$ + ":" + S_KODE$ + T_KODE$ + "DRIFTØ"
0790 LET KTOIDX$ := DATAFL$ + ":" + S_KODE$ + T_KODE$ + "KTOIDX"
0800 LET KONTO$ := DATAFL$ + ":" + S_KODE$ + T_KODE$ + "KONTO"
0810 EXEC OPENFIL(DRIFTØ$,"R")
0820 GET DRIFTØ$,1 : PRIMODAT$
0830 EXEC OPENFIL(KTOIDX$,"R")
0840 EXEC OPENFIL(KONTO$,"R")
0850 ENDPROC INITIER
1020
1030 PROC OPSUMER
1040 EXEC SAMMENTÆL(OMSÆTN$)
1050 LET S_OMSÆTN := SALDO
1060 EXEC SAMMENTÆL(VAREFO$)
1070 LET S_VAREFO := SALDO
1080 EXEC SAMMENTÆL(KAPOMK$)
1090 LET S_KAPOMK := SALDO
1100 EXEC SAMMENTÆL(AFSKRI$)
1110 LET S_AFSKRI := SALDO
1120 EXEC SAMMENTÆL(RENTEO$)
1130 LET S_RENTEO := SALDO
1140 EXEC SAMMENTÆL(AKTIVE$)
1150 LET S_AKTIVE := SALDO * ( - 1)
1160 EXEC SAMMENTÆL(EGENKA$)
1170 LET S_EGENKA := SALDO
1180 EXEC SAMMENTÆL(VARELA$)
1190 LET S_VARELA := SALDO * ( - 1)
1200 EXEC SAMMENTÆL(DEBITO$)
1210 LET S_DEBITO := SALDO * ( - 1)
1220 EXEC SAMMENTÆL(KREDIT$)
1230 LET S_KREDIT := SALDO
1240 ENDPROC OPSUMER
0860
0870 PROC TERMINAL_IDX
0880 LET PPAR := 5 ; RESRV := 0
0890 CALL :PRES"
0900 GET SYSPARA$,1 + RESRV : DATAFL$,T_KODE$
0910 ENDPROC TERMINAL_IDX
0920
0930 PROC LÆS_KONTO(P)
0940 GET KONTO$,P : KTO_TYPE$,KTO_NAVN$,KTO_PRIMO,KTO_ULTIMO,KTO_FP,KTO_SP
0950 ENDPROC LÆS_KONTO
0960
0970 PROC OPENFIL(FNAVN$,WAY$)
0980 REPEAT
0990 IF AY$ = "W" OR WAY$ = "w" THEN
1000 OPEN FNAVN$,W
1010 ELSE
1020 OPEN FNAVN$,R
1030 ENDIF
1040 IF (FNAVN$) THEN
1050 PRINT "<SC0123>" ; CHR$ (7)
1060 IF (FNAVN$) = 6 THEN
1070 PRINT "<SC1602>*** Fejl nr. 6 - indsæt diskette og tryk <RETURN> ***"
1080 INPUT "" : SVAR$
1090 ELSE
1100 PRINT "<SC1802>*** Fejl nr. " ; CHR$ ( ╱cd╱ (FNAVN$),2) ; " ved åbning af "
1110 PRINT "<S>" ; FNAVN$ ; " ***"
1120 INPUT "" : SVAR$
1130 PRINT "<C0102>" ; SPC$
1140 ENDIF
1150 ENDIF
1160 UNTIL NOT ╱cd╱ (FNAVN$)
1170 ENDPROC OPENFIL
1180
1190 PROC OVERSKRIFT(ST$,L)
1200 PRINT "<XC0101>Firmanavn: " ; FIRMANAVN$
1210 PRINT "<SC6501>Dato: " ; SYST_DAT$(1 : 2) ; "." ; SYST_DAT$(3 : 2) ; "."
1220 PRINT SYST_DAT$(5 : 2)
1230 CURSOR 36 - INT( ╱cb╱ (ST$) / 2),L
1240 PRINT "*** " ; ST$ ; " ***"
1250 ENDPROC OVERSKRIFT
1260
1270 PROC SL_FEJLLINIE
1280 LET OK := TRUE
1290 PRINT "<C0102>" ; SPC$
1300 ENDPROC SL_FEJLLINIE
1310
1320 PROC FEJL(ST$)
1330 LET OK := FALSE
1340 CURSOR 36 - ╱cb╱ (ST$) / 2,2
1350 PRINT "*** " + ST$ + " ***" ; CHR$ (7)
1360 ENDPROC FEJL
1370
1380 PROC FIND_KTO( REF R_KTONR$)
1390 LET OK := FALSE
1400 GET KTOIDX$,1 : I_HØJREC,I_MAXREC
1410 LET LOW := 1 ; HIGH := I_HØJREC ; POS := 2
1420 IF IGH > 1 THEN
1430 REPEAT
1440 LET POS := INT((HIGH - LOW) / 2 + .5) + LOW
1450 GET KTOIDX$,POS : KTONR$,RECNR
1460 IF TONR$ > R_KTONR$ THEN
1470 LET HIGH := POS
1480 ELSE
1490 IF TONR$ < R_KTONR$ THEN
1500 LET LOW := POS
1510 ENDIF
1520 ENDIF
1530 UNTIL HIGH - LOW =< 1 OR R_KTONR$ = KTONR$
1540 LET POS := INT((HIGH - LOW) / 2 + .5) + LOW
1550 GET KTOIDX$,POS : KTONR$,RECNR
1560 IF KTONR$ = R_KTONR$ THEN LET OK := TRUE
1570 IF KTONR$ < R_KTONR$ AND POS = I_HØJREC THEN LET POS := POS + 1
1580 ENDIF
1590 LET FIND_KTO := POS
1600 ENDPROC FIND_KTO
2000 PROC SAMMENTÆL( REF SAMFIL$)
2010 EXEC OPENFIL(SAMFIL$,"R")
2020 GET SAMFIL$ : SALDO
2030 LET SALDO := 0
2040 GET SAMFIL$ : S_KTONR$
2050 WHILE NOT ╱cd╱ (SAMFIL$) DO
2060 LET IDXPOS := FIND_KTO(S_KTONR$)
2070 GET KTOIDX$,IDXPOS : KTONR$,RECNR
2080 WHILE S_KTONR$ = KTONR$(1 : ╱cb╱ (S_KTONR$)) DO
2090 GET DRIFTØ$,RECNR : DRIFT(1),DRIFT(2)
2100 LET SALDO := SALDO + DRIFT(2)
2110 LET IDXPOS := IDXPOS + 1
2120 IF IDXPOS > I_HØJREC THEN EXIT
2130 GET KTOIDX$,IDXPOS : KTONR$,RECNR
2140 ENDWHILE
2150 GET SAMFIL$ : S_KTONR$
2160 ENDWHILE
2170 LET SALDO := SALDO * ( - 1)
2180 CLOSE SAMFIL$
2190 EXEC OPENFIL(SAMFIL$,"W")
2200 PUT SAMFIL$ : SALDO
2210 CLOSE SAMFIL$
2220 ENDPROC SAMMENTÆL
2230
2240 PROC UDSKRIV
2250 LET MAX_LIN := 72 ; LIN_T := 200 ; SIDENR := 0
2260 EXEC PRINTRES("smal EDB-liste",17)
2270 EXEC SIDESKIFT
2280 PRINT "Regnskab for perioden " ; PRIMODAT$(1 : 2) ; "." ; PRIMODAT$(3 : 2) ; "." ;
2290 PRINT PRIMODAT$(5 : 2) ; " - " ; SYST_DAT$(1 : 2) ; "." ; SYST_DAT$(3 : 2) ; "." ;
2300 PRINT SYST_DAT$(5 : 2)
2310 PRINT "================================================================"
2320 PRINT "Nettoomsætning" ; TAB(53) ; CHR$ (S_OMSÆTN,9,2)
2330 PRINT "- Vareforbrug" ; TAB(53) ; CHR$ (S_VAREFO * ( - 1),9,2)
2340 PRINT TAB(53) ; "------------"
2350 LET BRUTTO := S_OMSÆTN + S_VAREFO
2360 PRINT "Bruttofortjeneste" ; TAB(53) ; CHR$ (BRUTTO,9,2)
2370 PRINT "- Øvrige variable omkostningninger" ; TAB(53) ;
2380 PRINT CHR$ (ØVR_VAR * ( - 1),9,2)
2390 LET DÆKNING := BRUTTO + ØVR_VAR
2400 PRINT TAB(53) ; "------------"
2410 PRINT "Dækningsbidrag" ; TAB(53) ; CHR$ (DÆKNING,9,2)
2420 PRINT "- Kontante kap. omkostninger" ; TAB(53) ;
2430 PRINT CHR$ ((S_KAPOMK - ØVR_VAR) * ( - 1),9,2)
2440 PRINT TAB(53) ; "------------"
2450 LET INDTJEN := DÆKNING + (S_KAPOMK - ØVR_VAR)
2460 PRINT "Indtjeningsbidrag " ; TAB(53) ; CHR$ (INDTJEN,9,2)
2470 PRINT "- Afskrivninger" ; TAB(53) ; CHR$ (S_AFSKRI * ( - 1),9,2)
2480 PRINT TAB(53) ; "------------"
2490 LET RES_F_R := INDTJEN + S_AFSKRI
2500 PRINT "Resultat af ordinær drift før renter" ; TAB(53) ; CHR$ (RES_F_R,9,2)
2510 PRINT "- Renteomkostninger" ; TAB(53) ; CHR$ (S_RENTEO * ( - 1),9,2)
2520 PRINT TAB(53) ; "------------"
2530 LET RESULTAT := RES_F_R + S_RENTEO
2540 PRINT "Resultat af ordinær drift" ; TAB(53) ; CHR$ (RESULTAT,9,2)
2550 PRINT TAB(53) ; "============"
2560 PRINT
2570 PRINT
2580 PRINT
2590 PRINT "**** R E N T A B I L I T E T ****"
2600 PRINT "---------------------------------"
2610 PRINT
2620 PRINT " (1) Afkastningsgrad :" ;
2630 PRINT USING "###.## %" : (RES_F_R + L_I) * 100 / S_AKTIVE
2640 PRINT
2650 PRINT " (2) Overskudsgrad :" ;
2660 PRINT USING "###.## %" : (RES_F_R + L_I) * 100 / S_OMSÆTN
2670 PRINT
2680 PRINT " (3) Aktivernes omsætningshastighed :" ;
2690 PRINT USING "###.## g" : S_OMSÆTN / S_AKTIVE
2700 PRINT
2710 PRINT " (4) Egenkap. forrentning :" ;
2720 PRINT USING "###.## %" : (RESULTAT + L_I) * 100 / S_EGENKA
2730 PRINT
2740 PRINT
2750 PRINT "**** I N D T J E N I N G S E V N E ****"
2760 PRINT "---------------------------------------"
2770 PRINT
2780 PRINT " (1) Bruttofortjeneste i % af omsætning :" ;
2790 PRINT USING "###.## %" : BRUTTO * 100 / S_AKTIVE
2800 PRINT
2810 PRINT " (2) Dækningsgrad :" ;
2820 PRINT USING "###.## %" : DÆKNING * 100 / S_AKTIVE
2830 PRINT
2840 PRINT " (3) Omkostninger i % af omsætningen"
2850 LET LIN_T := LIN_T + 42
2860 EXEC OMK_I_PROCENT(VAREFO$)
2870 EXEC OMK_I_PROCENT(KAPOMK$)
2880 EXEC OMK_I_PROCENT(AFSKRI$)
2890 EXEC OMK_I_PROCENT(RENTEO$)
2900 EXEC SIDESKIFT
2910 PRINT
2920 PRINT "**** O M S Æ T N I N G S H A S T I G H E D E R ****"
2930 PRINT "---------------------------------------------------"
2940 PRINT
2950 PRINT " (1) Varedebitorer :" ;
2960 PRINT USING "###.## g" : S_OMSÆTN * ((100 + MOMS) / 100) / S_DEBITO
2970 PRINT
2980 PRINT " (2) Varelager :" ;
2990 PRINT USING "###.## g" : ABS(S_VAREFO) / S_VARELA
3000 PRINT
3010 PRINT " (3) Varekreditorer :" ;
3020 LET VAREKØB := (ABS(S_VAREFO) + (S_VARELA - S_VARELA_P)) * ((100 + MOMS) / 100)
3030 PRINT USING "###.## g" : VAREKØB / S_KREDIT
3040 PRINT
3050 PRINT
3060 PRINT "**** K R E D I T - O G L A G E R D A G E ****"
3070 PRINT "-------------------------------------------------"
3080 PRINT
3090 PRINT " (1) Varedebitorer :" ;
3100 PRINT USING "####.# dg" : S_DEBITO * 360 / (S_OMSÆTN * ((100 + MOMS) / 100))
3110 PRINT
3120 PRINT " (2) Varelager :" ;
3130 PRINT USING "####.# dg" : S_VARELA * 360 / ABS(S_VAREFO)
3140 PRINT
3150 PRINT " (3) Varekreditorer :" ;
3160 PRINT USING "####.# dg" : S_KREDIT * 360 / VAREKØB
3170 LET LIN_T := LIN_T + 19
3180 FOR I := LIN_T TO AX_LIN DO PRINT
3190 EXEC PRINTREL
3200 ENDPROC UDSKRIV
3210 PROC OMK_I_PROCENT( REF SAMFIL$)
3220 EXEC OPENFIL(SAMFIL$,"R")
3230 GET SAMFIL$ : SALDO
3240 LET SALDO := 0
3250 GET SAMFIL$ : S_KTONR$
3260 WHILE NOT ╱cd╱ (SAMFIL$) DO
3270 LET IDXPOS := FIND_KTO(S_KTONR$)
3280 GET KTOIDX$,IDXPOS : KTONR$,RECNR
3290 WHILE S_KTONR$ = KTONR$(1 : ╱cb╱ (S_KTONR$)) DO
3300 EXEC LÆS_KONTO(RECNR)
3310 GET DRIFTØ$,RECNR : DRIFT(1),DRIFT(2)
3320 IF TO_TYPE$ = "A" THEN
3330 PRINT " " ; KTO_NAVN$ ; TAB(43) ; ":" ;
3340 PRINT USING "###.## %" : ABS(DRIFT(2) * 100) / S_OMSÆTN
3350 LET LIN_T := LIN_T + 1
3360 ENDIF
3370 LET IDXPOS := IDXPOS + 1
3380 IF IDXPOS > I_HØJREC THEN EXIT
3390 GET KTOIDX$,IDXPOS : KTONR$,RECNR
3400 ENDWHILE
3410 GET SAMFIL$ : S_KTONR$
3420 ENDWHILE
3430 CLOSE SAMFIL$
3440 ENDPROC OMK_I_PROCENT
3450 PROC SIDESKIFT
3460 FOR I := LIN_T TO AX_LIN DO PRINT
3470 LET SIDENR := SIDENR + 1 ; LIN_T := 8
3480 PRINT
3490 PRINT "*** " ; SYST_NAVN$ ; " ***"
3500 PRINT
3510 PRINT "**** R E G N S K A B S A N A L Y S E ****" ; TAB(58) ; "SIDE: " ;
3520 PRINT SIDENR
3530 PRINT
3540 PRINT "Firmanavn: " ; FIRMANAVN$
3550 PRINT
3560 ENDPROC SIDESKIFT
3570
3580 PROC FUNKTIONSMENU
3590 EXEC OVERSKRIFT("Regnskabsanalyse",6)
3600 INPUT "<C0809>Indtast venligst: Øvrige var. omkostninger: " : ØVR_VAR
3610 LET ØVR_VAR := ØVR_VAR * ( - 1)
3620 INPUT "<C0811> Løn til indehaver : " : L_I
3630 LET L_I := L_I * ( - 1)
3640 INPUT "<C1013> Varelager primo : " : S_VARELA_P
3650 PRINT "<C3515>Nu optælles der!"
3660 EXEC OPSUMER
3670 EXEC UDSKRIV
3680 ENDPROC FUNKTIONSMENU
1610 //
1600 PROC PRINTRES(PAGETYPE$,LINE) // PRINTER RESERVATION
1610 LET PRTNR$ := "1" ; OK := TRUE
1620 REPEAT
1630 CURSOR 21,LINE
1640 EDIT "<Z>Udskrivning på printer nr. ? (1/2/3/4) " : PRTNR$
1650 UNTIL "/" + PRTNR$ + "/" IN "/1/2/3/4/"
1660 CURSOR (39 - ╱cb╱ (PAGETYPE$)) DIV 2,LINE
1670 PRINT "<SZ> Monter " ; PAGETYPE$ ; " i printeren - tryk RETURN "
1680 INPUT "" : SVAR$
1690 SELECT OUTPUT "P" + PRTNR$
1700 IF ("P") THEN
1710 CURSOR 12,LINE
1720 PRINT "<SZ>Printeren er reserveret af en anden bruger,"
1730 CURSOR 12,LINE + 1
1740 INPUT "<SZ>Skal der ventes på at den bliver ledig ? (j/n) " : SVAR$
1750 IF VAR$ = "J" OR SVAR$ = "j" THEN
1760 CURSOR 12,LINE
1770 PRINT "<Z> Der ventes på at printeren bliver ledig...."
1780 PRINT "<SZ>"
1790 WHILE ╱cd╱ ("P") DO
1800 LET SEK := ╱ca╱ (5)
1810 SELECT OUTPUT "P" + PRTNR$
1820 ENDWHILE
1830 ELSE
1840 LET OK := FALSE
1850 ENDIF
1860 ENDIF
1870 CURSOR 1,LINE
1880 PRINT "<Z>"
1890 PRINT "<SZ>"
1900 ENDPROC PRINTRES
1620 //
1630 PROC PRINTREL // RELEASE PRINTER
1640 SELECT OUTPUT "T"
1800 ENDPROC PRINTREL
1810 // DIM S$ OF 80,KTONR$ OF 10,X(20)
1820 PROC OPDEL(A$)
1830 LET KTONR$ := ""
1840 LET I := 1
1850 WHILE A$(I) >< "*" DO
1860 IF A$(I) = "/" THEN LET KTONR$ := "" ; I := I + 1
1870 WHILE (A$(I) >< "/") AND (A$(I) >< "*") DO
1880 LET KTONR$ := KTONR$ + A$(I)
1890 LET I := I + 1
1900 ENDWHILE
1910 EXEC OPSUM(KTONR$)
1920 ENDWHILE
1930 ENDPROC OPDEL
1940 PROC OPSUM(KN$)
1950 LET X(P) := X(P) + 1
1960 PRINT KN$,X(P)
1970 ENDPROC OPSUM
1980 LET P := 0
1990 OPEN "DP2:ZATAL",R
2000 GET "DP2:ZATAL" : S$
2010 WHILE NOT ╱cd╱ ("DP2:ZATAL") DO
2020 LET P := P + 1
2030 EXEC OPDEL(S$)
2040 GET "DP2:ZATAL" : S$
2050 ENDWHILE
2060 CLOSE