|
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: 17696 (0x4520) Notes: Mikados TextFile, Mikados_K Names: »KUNDVEDL«
└─⟦206949bb3⟧ Bits:30004653 Kunderegister P1 til messe (MIKADOS) └─ ⟦this⟧ »KUNDVEDL«
PROGRAM KUNDVEDL; (*$IISFHEAD*) KPOST=RECORD A:AR; NR:ARRAY (1..23) OF INTEGER; (*KNR1,KNR2,ANDBETADR,KÆDENR1,KÆDENR2,RESTORDRE,LAND,BETAKODE,LEVKODE, RENTKODE,KREDDAGE,ANTFAKT,SIDFAKD1,SIDFAKD2,EMBALLAGE,BRÆKAGE,RABAT, EXPORT,RFSALDO,PERTRENT,NPOSTNR1,NPOSTNR2*) (* NAVN,UDVNAVN,LEVADR*)NAVN:ARRAY(1..3) OF PACKED ARRAY (1..30) OF CHAR; LANDSBY:PACKED ARRAY (1..20) OF CHAR; POSTNR:PACKED ARRAY (1..25) OF CHAR; TLF:PACKED ARRAY (1..10) OF CHAR; SALDOKØB :ARRAY (1..9) OF REAL; (*SALDO1-6,ÅRKØB,MÅNKØB,SIDÅRKØB*) END; KUNDZONE=RECORD H:ISFHEAD; T:ARRAY(1..918) OF INTEGER END; SYSPOST=RECORD HELTAL:ARRAY(1..24) OF INTEGER; KGB:ARRAY (1..5) OF REAL; BETADAT:PACKED ARRAY (1..13) OF CHAR; KODE:ARRAY(1..2) OF PACKED ARRAY (1..10) OF CHAR END; SYSFILE=FILE OF SYSPOST; VAR F:ISF; CHAR1:CHAR; KZ:KUNDZONE; KNAVN:STRING(4); FILNAVN1,FILNAVN2:STRING(20); ÆNDRE,N1,N2,IER,I:INTEGER; KODE1,KODE2:STRING(10); R:REAL; KUNDE:KPOST; SYSFIL:SYSFILE; QUQ:^INTEGER; (*$L-*) (*$R-,IEXCOMCOP*) (*$IIOPEN*) (*$ISÆTØG*) (*$IINITIATE*) (*$IREADPROC*) (*$IFINDPOST*) (*$IFORSKYD*) (*$IICLOSE*) (*$IPUTGET*) (*$IINSERT*) (*$INEXTREC*) (*$IDELETE*) (*$R+*) (*$L+*) PROCEDURE STOP; VAR I:INTEGER; BEGIN I:=I DIV 0 END; PROCEDURE ERROR; BEGIN WRITELN('FEJL I KUNDEREG ',IER); ICLOSE(KZ.H,F); WRITELN('ICLOSE ',IER); STOP END; PROCEDURE OFEJL; BEGIN GOTOXY(1,20); WRITELN('REGISTERFEJL ',IER,' . SITUATIONEN ER FORSØGT REDDET.'); WRITELN('TAST 0, HVIS DER SKAL FORTSÆTTES'); REPEAT GOTOXY(40,21);READLN;READ(I) UNTIL IORESULT=0; IF I<>0 THEN ERROR; CLEARSCREEN END; PROCEDURE NANU(VAR T:STRING;VAR NU1,NU2 :INTEGER); VAR I:INTEGER; R:REAL; BEGIN R:=0.0; FOR I:=1 TO 4 DO R:=R*29+ORD(T(I)); I:=TRUNC(R/89998.0); R:=R-I*89998.0+10001; NU1:=TRUNC(R/10000); NU2:=TRUNC(R-NU1*10000.0) END; PROCEDURE FINDKUND; VAR N1,N2,FIN:INTEGER; SVAR1:CHAR; R1,R2:REAL; BEGIN REPEAT I:=1; SVAR1:='N'; CLEARSCREEN; WRITELN('KUNDEVEDLIGEHOLDELSE'); GOTOXY(1,4); WRITELN('0 FOR AFSLUTNING, 1 FOR SØGNING MED NAVN'); REPEAT R:=-1.0; GOTOXY(1,3); WRITELN('INDTAST KUNDENUMMER'); GOTOXY(25,3);READLN;READ(R) UNTIL (IORESULT=0) AND (R>=0.0) AND (R<100000.0); IF R=0.0 THEN EXIT(FINDKUND); REPEAT IF R=1.0 THEN IF I=1 THEN BEGIN GOTOXY(1,4); WRITELN('INDTAST KUNDENAVN',' ':60); REPEAT GOTOXY(20,4); READLN;READ(KNAVN) UNTIL LENGTH(KNAVN)=4; NANU(KNAVN,N1,N2); KUNDE.NR(1):=N1; KUNDE.NR(2):=N2; R1:=N1*10000.0+N2; GETREC(KZ.H,F,KUNDE.A); IF IER=-6 THEN NEXTREC(KZ.H,F,KUNDE.A); IF (IER=-9) OR (IER=-2) OR (IER=-1) THEN IER:=0; I:=0 END ELSE BEGIN NEXTREC(KZ.H,F,KUNDE.A); IF (IER=-9) OR (IER=-2) OR (IER=-1) THEN IER:=0; R2:=KUNDE.NR(1)*10000.0+KUNDE.NR(2); IF (R2-R1>SYSFIL^.HELTAL(4)) OR (R2<R1) THEN IER:=-6; END ELSE BEGIN KUNDE.NR(1):=TRUNC(R/10000.0); KUNDE.NR(2):=TRUNC(R-KUNDE.NR(1)*10000.0); GETREC(KZ.H,F,KUNDE.A) END; GOTOXY(1,5); FIN:=1; IF IER=0 THEN BEGIN WRITELN('KUNDENUMMER ',KUNDE.NR(1)*10000.0+KUNDE.NR(2):8:-2); WRITELN; WRITELN(KUNDE.NAVN(1)); WRITELN(KUNDE.NAVN(3)); WRITELN(KUNDE.POSTNR); WRITELN; WRITELN('TLF: ',KUNDE.TLF); GOTOXY(40,6);WRITELN('RIGTIG KUNDE (J/N)'); REPEAT GOTOXY(60,6);READLN;READ(SVAR1) UNTIL (IORESULT=0) AND ((SVAR1='J') OR (SVAR1='N') OR (SVAR1='n') OR (SVAR1='j')); IF ((SVAR1='N') OR (SVAR1='n')) AND (R=1.0) THEN FIN:=0 END ELSE IF IER=-6 THEN BEGIN IER:=0; WRITELN(' ':80); WRITELN('KUNDEN EKSISTERER IKKE, TRYK RETURN'); READLN END ELSE ERROR UNTIL FIN=1 UNTIL (SVAR1='J') OR (R=0.0) OR (SVAR1='j') END; (*$L+*) PROCEDURE PRKUNOPL(O,KODE:INTEGER); PROCEDURE PR1; BEGIN WITH KUNDE DO CASE O OF 1:BEGIN GOTOXY(1,1);WRITE('1 KUNDENR');GOTOXY(25,1); WRITELN(NR(1)*10000.0+NR(2):10:-2); END; 2:BEGIN GOTOXY(1,2);WRITE('2 KUNDENAVN');GOTOXY(30,2);WRITELN(NAVN(1)); END; 3:BEGIN GOTOXY(1,3);WRITE('3 NAVNEUDVIDELSE');GOTOXY(30,3);WRITELN(NAVN(2)); END; 4:BEGIN GOTOXY(1,4);WRITE('4 ADRESSE');GOTOXY(30,4);WRITELN(NAVN(3)); END; 5:BEGIN GOTOXY(1,5);WRITE('5 LANDSBY');GOTOXY(30,5);WRITELN(LANDSBY); END; 6:BEGIN GOTOXY(1,6);WRITE('6 POSTNR');GOTOXY(30,6);WRITELN(POSTNR); END; 8:BEGIN GOTOXY(1,8);WRITE('8 TLF');GOTOXY(30,8);WRITELN(TLF); END; 7:BEGIN GOTOXY(1,7);WRITE('7 LAND, 8 FOR DANMARK');GOTOXY(30,7); WRITELN(NR(7)); END; 9:BEGIN GOTOXY(1,9);WRITE('9 BETALINGSADRESSE J/N');GOTOXY(36,9); IF NR(3)=1 THEN WRITELN('J') ELSE WRITELN('N'); END; 10:BEGIN GOTOXY(40,9);WRITE('10 KÆDENR');GOTOXY(65,9); WRITELN(NR(4)*10000.0+NR(5):7:-2) END; 11:BEGIN GOTOXY(1,10);WRITE('11 RESTORDREKODE');GOTOXY(27,10);WRITELN(NR(6):10); END; END; END; PROCEDURE PR2; BEGIN WITH KUNDE DO CASE O OF 12:BEGIN GOTOXY(40,10);WRITE('12 BETALINGSKODE');GOTOXY(65,10); WRITELN(NR(8):7); END; 13:BEGIN GOTOXY(1,11);WRITE('13 LEVERINGSKODE');GOTOXY(27,11);WRITELN(NR(9):10); END; 14:BEGIN GOTOXY(40,11);WRITE('14 RENTEKODE');GOTOXY(65,11);WRITELN(NR(10):7); END; 15:IF KODE>0 THEN BEGIN GOTOXY(1,12);WRITE('15 RABAT %');GOTOXY(27,12);WRITELN(NR(17):10); END; 16:BEGIN GOTOXY(40,12);WRITE('16 EXPORTKODE');GOTOXY(65,12);WRITELN(NR(18):7); END; 17:BEGIN GOTOXY(1,13);WRITE('17 EMBALLAGE J/N');GOTOXY(36,13); IF NR(15)=1 THEN WRITELN('J') ELSE WRITELN('N'); END; 18:BEGIN GOTOXY(40,13);WRITE('18 BRÆKAGEFORSIKRING J/N');GOTOXY(71,13); IF NR(16)=1 THEN WRITELN('J') ELSE WRITELN('N'); END; 19:IF KODE>0 THEN BEGIN GOTOXY(1,14);WRITE('19 SALDO 0-15 DAGE');GOTOXY(25,14); WRITELN(SALDOKØB(1)/100:12:2); END; 20:IF KODE>0 THEN BEGIN GOTOXY(40,14);WRITE('20 SALDO 16-30 DAGE');GOTOXY(60,14); WRITELN(SALDOKØB(2)/100:12:2); END; 21:IF KODE>0 THEN BEGIN GOTOXY(1,15);WRITE('21 SALDO 30-45 DAGE');GOTOXY(25,15); WRITELN(SALDOKØB(3)/100:12:2); END; 22:IF KODE>0 THEN BEGIN GOTOXY(40,15);WRITE('22 SALDO 45-60 DAGE');GOTOXY(60,15); WRITELN(SALDOKØB(4)/100:12:2); END; 23:IF KODE>0 THEN BEGIN GOTOXY(1,16);WRITE('23 ÆLDRE SALDO1');GOTOXY(25,16); WRITELN(SALDOKØB(5)/100:12:2); END; 24:IF KODE>0 THEN BEGIN GOTOXY(40,16);WRITE('24 ÆLDRE SALDO2');GOTOXY(60,16); WRITELN(SALDOKØB(6)/100:12:2); END; 25:IF KODE>0 THEN BEGIN GOTOXY(1,17);WRITE('25 MÅNEDENS KØB');GOTOXY(25,17); WRITELN(SALDOKØB(8)/100:12:2); END; 26:IF KODE>0 THEN BEGIN GOTOXY(40,17);WRITE('26 ÅRETS KØB');GOTOXY(60,17); WRITELN(SALDOKØB(7)/100:12:2); END; END END; PROCEDURE PR3; BEGIN WITH KUNDE DO CASE O OF 27:BEGIN GOTOXY(1,18);WRITE('27 SIDSTE ÅRS KØB');GOTOXY(25,18); WRITELN(SALDOKØB(9)/100:12:2); END; 28:BEGIN GOTOXY(40,18);WRITELN('28 KREDITDAGE',NR(11):19); END; 29:BEGIN GOTOXY(1,19);WRITELN('29 FAKTURAER',NR(12):24); END; 30:BEGIN GOTOXY(40,19);WRITELN('30 S. FAKTURA DATO',NR(13)*10000.0+NR(14):14:-2); END; 31:BEGIN GOTOXY(1,20);WRITELN('31 RENTEFRI SALDO',NR(19):19); END; 32:BEGIN GOTOXY(40,20);WRITELN('32 PERIODER TIL RENTE',NR(20):11); END; 33:BEGIN GOTOXY(1,21);WRITE('33 LUKKET FOR KREDIT'); GOTOXY(36,21); IF NR(23)=1 THEN WRITELN('J') ELSE WRITELN('N'); END; END END; BEGIN IF O<>0 THEN BEGIN IF (1<=O) AND (O<=11) THEN PR1 ELSE IF (12<=O) AND (O<=26) THEN PR2 ELSE IF (27<=O) AND (O<=34) THEN BEGIN IF KODE>0 THEN PR3 END ELSE BEGIN CLEARSCREEN; FOR O:=1 TO 11 DO PR1; FOR O:=12 TO 26 DO PR2; FOR O:=27 TO 34 DO IF KODE>0 THEN PR3 END END END; PROCEDURE KUNDOPL(O:INTEGER); VAR STRENG:STRING; I:INTEGER; FUNCTION LÆS(X,Y:INTEGER):REAL; VAR RES:REAL; BEGIN REPEAT GOTOXY(X,Y); READLN; READ(RES) UNTIL IORESULT=0; LÆS:=RES END; PROCEDURE INCH(X,Y:INTEGER); BEGIN REPEAT GOTOXY(X,Y); READLN; READ(CHAR1) UNTIL (CHAR1='N') OR (CHAR1='J') OR (CHAR1='n') OR (CHAR1='j') END; PROCEDURE OPL1; BEGIN WITH KUNDE DO CASE O OF 2: BEGIN REPEAT GOTOXY(30,2);READLN;READ(STRENG) UNTIL LENGTH(STRENG)<5; FILLCHAR(NAVN(1),30,' '); FOR I:= 1 TO LENGTH(STRENG) DO NAVN(1,I):=STRENG(I); REPEAT GOTOXY(34,2);READLN;READ(STRENG) UNTIL LENGTH(STRENG)<27; FOR I:=5 TO LENGTH(STRENG)+4 DO NAVN(1,I):=STRENG(I-4) END; 3: BEGIN REPEAT GOTOXY(30,3);READLN;READ(STRENG) UNTIL LENGTH(STRENG)<31; FILLCHAR(NAVN(2),30,' '); FOR I:=1 TO LENGTH(STRENG) DO NAVN(2,I):=STRENG(I) END; 4: BEGIN REPEAT GOTOXY(30,4);READLN;READ(STRENG) UNTIL LENGTH(STRENG)<31; FILLCHAR(NAVN(3),30,' '); FOR I:=1 TO LENGTH(STRENG) DO NAVN(3,I):=STRENG(I) END; 5: BEGIN REPEAT GOTOXY(30,5);READLN;READ(STRENG) UNTIL LENGTH(STRENG)<21; FILLCHAR(LANDSBY,20,' '); FOR I:=1 TO LENGTH(STRENG) DO LANDSBY(I):=STRENG(I) END; 6: BEGIN REPEAT GOTOXY(30,6);READLN;READ(STRENG) UNTIL LENGTH(STRENG)<26; FILLCHAR(POSTNR,25,' '); FOR I:=1 TO LENGTH(STRENG) DO POSTNR(I):=STRENG(I) END; 8: BEGIN REPEAT GOTOXY(30,8);READLN;READ(STRENG) UNTIL LENGTH(STRENG)<11; FILLCHAR(TLF,10,' '); FOR I:=1 TO LENGTH(STRENG) DO TLF(I):=STRENG(I) END; 7: NR(7):=8; 9: BEGIN INCH(36,9); IF (CHAR1='N') OR (CHAR1='n') THEN NR(3):=0 ELSE NR(3):=1 END; 10: BEGIN REPEAT R:=LÆS(67,9) UNTIL (R>9999) AND (R<100000.0) OR (R=0); NR(4):=TRUNC(R/10000); NR(5):=TRUNC(R-NR(4)*10000.0) END; 11: REPEAT GOTOXY(36,10);READLN;READ(NR(6)) UNTIL (IORESULT=0) AND (NR(6)>=0) AND (NR(6)<100); 12: REPEAT GOTOXY(71,10);READLN;READ(NR(8)) UNTIL (IORESULT=0) AND (NR(8)>=0) AND (NR(8)<100); 13: REPEAT GOTOXY(36,11);READLN;READ(NR(9)) UNTIL (IORESULT=0) AND (NR(9)>=0) AND (NR(9)<100); 14: REPEAT GOTOXY(71,11);READLN;READ(NR(10)) UNTIL (IORESULT=0) AND (NR(10)>=0) AND (NR(10)<100); 15: REPEAT GOTOXY(35,12);READLN;READ(NR(17)) UNTIL (IORESULT=0) AND (NR(17)>=0) AND (NR(17)<100); END END; PROCEDURE OPL2; BEGIN WITH KUNDE DO CASE O OF 16: REPEAT GOTOXY(71,12);READLN;READ(NR(18)) UNTIL (IORESULT=0) AND (NR(18)>=0) AND (NR(18)<100); 17: BEGIN INCH(36,13); IF (CHAR1='N') OR (CHAR1='n') THEN NR(15):=0 ELSE NR(15):=1 END; 18: BEGIN INCH(71,13); IF (CHAR1='N') OR (CHAR1='n') THEN NR(16):=0 ELSE NR(16):=1 END; 19: SALDOKØB(1):=LÆS(25,14)*100; 20: SALDOKØB(2):=LÆS(65,14)*100; 21: SALDOKØB(3):=LÆS(25,15)*100; 22: SALDOKØB(4):=LÆS(65,15)*100; 23: SALDOKØB(5):=LÆS(25,16)*100; 24: SALDOKØB(6):=LÆS(65,16)*100; 25: SALDOKØB(8):=LÆS(25,17)*100; 26: SALDOKØB(7):=LÆS(65,17)*100; 27: SALDOKØB(9):=LÆS(25,18)*100; 28: REPEAT GOTOXY(69,18);READLN;READ(NR(11)) UNTIL IORESULT=0; 29: REPEAT GOTOXY(31,19);READLN;READ(NR(12)) UNTIL IORESULT=0; 30: BEGIN REPEAT R:=LÆS(64,19) UNTIL (R>800000.0) AND (R<850000.0); NR(13):=TRUNC(R/10000); NR(14):=TRUNC(R-NR(13)*10000.0) END; 31: REPEAT GOTOXY(31,20);READLN;READ(NR(19)) UNTIL IORESULT=0; 32: REPEAT GOTOXY(71,20);READLN;READ(NR(20)) UNTIL IORESULT=0; 33: BEGIN INCH(36,21); IF (CHAR1='N') OR (CHAR1='n') THEN NR(23):=0 ELSE NR(23):=1 END; 34: BEGIN REPEAT R:=LÆS(65,21) UNTIL (R>9999) AND (R<100000.0); NR(21):=TRUNC(R/10000); NR(22):=TRUNC(R-NR(21)*10000.0) END; END END; BEGIN IF O<=15 THEN OPL1 ELSE OPL2 END; PROCEDURE ZERREC; BEGIN WITH KUNDE DO BEGIN FOR I:=1 TO 23 DO NR(I):=0; FOR I:=1 TO 9 DO SALDOKØB(I):=0.0; FILLCHAR(NAVN(1),30,' '); FILLCHAR(NAVN(2),30,' '); FILLCHAR(NAVN(3),30,' '); FILLCHAR(LANDSBY,20,' '); FILLCHAR(POSTNR,25,' '); FILLCHAR(TLF,10,' '); END END; PROCEDURE MAINTAIN; VAR EXC,I,O,P,KODE:INTEGER; CHANGED:BOOLEAN; STRENG:STRING; STRENG1:STRING(10); BEGIN (*INDLÆS KODE1 OG KODE2 FRA SYSREG*) CLEARSCREEN; GOTOXY(1,1);WRITELN('ADGANGSKODE'); GOTOXY(20,1);READLN;READ(STRENG1); KODE:=0; IF STRENG1=KODE1 THEN KODE:=1; IF STRENG1=KODE2 THEN KODE:=2; REPEAT REPEAT GOTOXY(1,22);WRITELN('OPRETTE, KIKKE ELLER SLETTE (1/2/3), 0 FOR STOP '); GOTOXY(50,22);READLN;READ(P) UNTIL (IORESULT=0) AND((P=1) OR (P=2) OR (P=0) OR (P=3)); CASE P OF 1: IF ÆNDRE=1 THEN BEGIN ZERREC; PRKUNOPL(-1,KODE); FOR I:=2 TO 8 DO KUNDOPL(I); PRKUNOPL(-1,KODE); REPEAT GOTOXY(1,22);WRITELN('ÆNDRINGER, 0 FOR NEJ ELLERS FELTNR '); GOTOXY(40,22);READLN;READ(O); IF ((O>1) AND (O<=18)) THEN KUNDOPL(O); PRKUNOPL(O,KODE) UNTIL O=0; KNAVN:=' '; FOR I:=1 TO 4 DO KNAVN(I):=KUNDE.NAVN(1,4+I); NANU(KNAVN,N1,N2); KUNDE.NR(1):=N1; KUNDE.NR(2):=N2; EXC:=0; REPEAT INSERT(KZ.H,F,KUNDE.A); IF IER=-7 THEN BEGIN KUNDE.NR(2):=KUNDE.NR(2)+1; EXC:=EXC+1; IF KUNDE.NR(2)=10000 THEN BEGIN KUNDE.NR(1):=KUNDE.NR(1)+1; KUNDE.NR(2):=0 END END ELSE IF IER<>0 THEN ERROR UNTIL IER=0; PRKUNOPL(1,KODE); IF EXC>SYSFIL^.HELTAL(4) THEN SYSFIL^.HELTAL(4):=EXC; END; 2: BEGIN FINDKUND; IF R<>0.0 THEN BEGIN PRKUNOPL(-1,KODE); CHANGED:=FALSE; REPEAT REPEAT GOTOXY(1,22);WRITELN('HVILKET FELT SKAL ÆNDRES, 0 FOR SLUT '); GOTOXY(40,22);READLN;READ(O) UNTIL (IORESULT=0) AND ((O=0) OR (ÆNDRE=1)); CASE O OF 19,20,21,22,23,24,25,26,27,28,29,30: BEGIN GOTOXY(1,23); WRITELN('ÆNDRING IKKE TILLADT'); GOTOXY(25,23); WRITELN('TRYK RETURN NÅR FORSTÅET'); GOTOXY(60,23);READLN;READ(STRENG); IF STRENG='A' THEN BEGIN KUNDOPL(O);CHANGED:=TRUE END END; 10,11,12,13,14,15,16,17,18,31,32,33: IF KODE=2 THEN BEGIN KUNDOPL(O);CHANGED:=TRUE END ELSE BEGIN GOTOXY(1,23); WRITELN('ÆNDRING IKKE TILLADT MED OPGIVEN ADGANGSKODE'); END; 3,4,5,6,7,8,9 :BEGIN KUNDOPL(O);CHANGED:=TRUE END END; PRKUNOPL(O,KODE) UNTIL O=0; IF CHANGED THEN PUTREC(KZ.H,F,KUNDE.A); END END; 3: IF ÆNDRE=1 THEN BEGIN FINDKUND; IF R<>0.0 THEN BEGIN PRKUNOPL(-1,KODE); IF KODE=2 THEN WITH KUNDE DO BEGIN REPEAT GOTOXY(1,23);WRITELN('SKAL SLETNING UDFØRES (1), 0 FOR NEJ '); GOTOXY(40,23);READLN;READ(O) UNTIL IORESULT=0; IF O=4711 THEN BEGIN DELETE(KZ.H,F,KUNDE.A); PRKUNOPL(-1,KODE); IF IER<>0 THEN ERROR END END ELSE BEGIN GOTOXY(1,23); WRITELN('SLETNING MÅ IKKE UDFØRES MED OPGIVEN NØGLE') END END END END UNTIL P=0 END; BEGIN CLEARSCREEN; WRITELN('0 Kikke, 1 Ændre'); REPEAT GOTOXY(18,1); READLN;READ(ÆNDRE) UNTIL (IORESULT=0) AND (ÆNDRE>=0) AND (ÆNDRE<=1); FILNAVN2:='KUNDERG:P2:0000:I'; IF ÆNDRE=1 THEN REWRITE(F,FILNAVN2) ELSE RESET(F,FILNAVN2); IF ÆNDRE=1 THEN IOPEN(KZ.H,F,SKRIV) ELSE IOPEN(KZ.H,F,LÆS);IF IER<>0 THEN OFEJL; FILNAVN1:='SYSREG:P2:1:I'; REWRITE(SYSFIL,FILNAVN1); SEEK(SYSFIL,1); GET(SYSFIL); KODE1:=' '; KODE2:=KODE1; FOR I:=1 TO 10 DO BEGIN KODE1(I):=SYSFIL^.KODE(1,I); KODE2(I):=SYSFIL^.KODE(2,I) END; IF IER<>0 THEN WRITE('IOPEN ',IER) ELSE BEGIN IF KZ.H.RECINUSE<1 THEN INITIATE(KZ.H,F,1); MAINTAIN; END; ICLOSE(KZ.H,F); CLEARSCREEN; WRITELN('ICLOSE ',IER); SEEK(SYSFIL,1); PUT(SYSFIL); CLOSE(SYSFIL); CHAIN('INTRE *1','HOVSA:P1',QUQ) END.