|
|
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: 17888 (0x45e0)
Types: TextFile
Notes: Mikados_K
Names: »ORDREVED.K«
└─⟦eb89399bc⟧ Bits:30008990 SOM ISFORIG, MEN KUN K-FILER
└─⟦this⟧ »ORDREVED.K«
PROGRAM ORDREVEDLIGEHOLDELSE;
(*$IISFHEAD*)
VPOST=RECORD
A :AR;
HELTAL:ARRAY (1..11) OF INTEGER;
(*VARENR,LVRNDØR,OPRLAND,PAKENHED,FORVLEVU,DATSBES1,DATSBES2,DATSORD1,
DATSORD2,DÆKGRASÅ,ANAFTILG*)
NAVN:ARRAY (1..2) OF PACKED ARRAY(1..30) OF CHAR;
(*VARENAVN,NAVNHOSLEVERANDØR*)
REELTAL :ARRAY (1..15) OF REAL
(*PRIS,KOSTPRIS,TOLDPNR,FYSLAGER,PRIMOLAG,MINLAGER,RESAFLAG,IORDRE,
RESAFIORDRE,STASBEST,ASOLGTIÅ,ASOLGTSÅ,OMSIÅR,OMSSÅR,DÆKBIDTD*)
END;
OLINE = RECORD
VNR :ARRAY (1..2) OF INTEGER;
(*VNR,BESTILT*)
PRIS: REAL
END;
ORDREPOST = RECORD
A:AR;
(*
KNR1,KNR2,
NR1,NR2,
SIDE,
LEVUGE,ORDREDATO1-2,LEVKODE,BETAKODE,RESTORDREKODE,RABAT*)
HEAD :ARRAY(1..12) OF INTEGER;
LINE:ARRAY (1..2) OF PACKED ARRAY (1..30) OF CHAR;
ORDRELIN : ARRAY (1..15) OF OLINE
END;
KPOST=RECORD
A:AR;
NR:ARRAY (1..23) OF INTEGER;
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
END;
SYSPOST=RECORD
(*DATO1,DATO2,
UGENR,
MAXEXC,
ORDRENR1-2,
FAKTNR1-2,
KREDNTNR1-2,
BILAGSNR1-2,JOURFILNR,MOMS*) HELTAL: ARRAY (1..24) OF INTEGER;
KGB: ARRAY (1..5) OF REAL;
BETADAT:PACKED ARRAY (1..13) OF CHAR;
(*KIKKODE,ÆNDKODE*) KODE:ARRAY (1..2) OF PACKED ARRAY (1..10) OF CHAR
END;
SYSFILE=FILE OF SYSPOST;
VZONE= RECORD
H:ISFHEAD;
T:ARRAY(1..451) OF INTEGER
END;
ORDZONE=RECORD
H:ISFHEAD;
T:ARRAY(1..930) OF INTEGER
END;
KZONE=RECORD
H:ISFHEAD;
T:ARRAY(1..918) OF INTEGER
END;
VLIN=RECORD
VNR,ANTAL:INTEGER;
PRIS:REAL;
NAVN:PACKED ARRAY(1:30) OF CHAR
END;
VAR FVAR,FORD,FKUN : ISF;
VZ:VZONE;
KZ:KZONE;
OZ:ORDZONE;
ORDRE:ORDREPOST;
VARE:VPOST;
KUNDE:KPOST;
SYSFIL:SYSFILE;
LIN:STRING(30);
QHEAD:ARRAY (6..12) OF INTEGER;
QLINE:ARRAY (1..2) OF PACKED ARRAY (1..30) OF CHAR;
FNAVN:STRING(20);
VARELIN:ARRAY (1..16) OF VLIN;
KNAVN:STRING(4);
SVAR1,SVAR3:CHAR;
RETTET,SRETTET:BOOLEAN;
IER,I,J,K,L,ALI
:INTEGER;
R,R1,R2 :REAL;
QUQ:^INTEGER;
(*$L-*)
(*$R-,IEXCOMCOP*)
(*$IIOPEN*)
(*$ISÆTØG*)
(*$IREADPROC*)
(*$IFINDPOST*)
(*$IFORSKYD*)
(*$IICLOSE1*)
(*$IPUTGET*)
(*$IINSERT*)
(*$INEXTREC*)
(*$IDELETE*)
(*$R+*)
(*$L+*)
PROCEDURE ERROR;
BEGIN
WRITELN('FEJL I REGISTER ',IER);
ICLOSE(VZ.H,FVAR);
CLOSE(FVAR);
ICLOSE(OZ.H,FORD);
CLOSE(FORD);
ICLOSE(KZ.H,FKUN);
CLOSE(FKUN);
WRITELN('ICLOSE ',IER);
I:=I DIV 0
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 VALI;
BEGIN
WITH VARELIN(J) DO
BEGIN
REPEAT
VNR:=-1;
GOTOXY(5,5+I);
READLN;READ(VNR)
UNTIL (IORESULT=0) AND (VNR>=0);
IF VNR=0 THEN EXIT(VALI);
REPEAT
ANTAL:=-1;
GOTOXY(16,5+I);
READLN;READ(ANTAL)
UNTIL (IORESULT=0) AND (ANTAL>0);
REPEAT
GOTOXY(25,5+I);
READLN;READ(PRIS)
UNTIL (IORESULT=0);
PRIS:=PRIS*100;
GOTOXY(21,5+I);
WRITELN(PRIS/100:10:2)
END
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 LINIE;
BEGIN
GOTOXY(1,5+I);
WRITELN(I:3);
J:=I;
VALI;
IF VARELIN(I).VNR=0 THEN
I:=17
ELSE
WITH VARELIN(I) DO
BEGIN
VARE.HELTAL(1):=VNR;
GETREC(VZ.H,FVAR,VARE.A);
IF IER=0 THEN
BEGIN
NAVN:=VARE.NAVN(1);
GOTOXY(40,5+I);
WRITELN(NAVN);
R:=VARE.REELTAL(1);
WHILE VARELIN(J).PRIS<>R DO
BEGIN
GOTOXY(27,7+I);
WRITELN('PRISEN STEMMER IKKE MED VAREREGISTRET, SOM SIGER ');
WRITELN(VNR:8,ANTAL:8,' ':4,R/100:10:2);
WRITELN('INDTAST IGEN');
I:=I+3;
J:=16;
VALI;
I:=I-3;
IF VNR<>VARELIN(J).VNR THEN
BEGIN
VARE.HELTAL(1):=VARELIN(J).VNR;
GETREC(VZ.H,FVAR,VARE.A);
IF IER=0 THEN
BEGIN
VARELIN(I):=VARELIN(J);
NAVN:=VARE.NAVN(1);
R:=VARE.REELTAL(1)
END
END
ELSE
BEGIN
VARELIN(J).NAVN:=NAVN;
GOTOXY(5,5+I);
IF VARELIN(I)=VARELIN(J) THEN R:=PRIS
ELSE VARELIN(I):=VARELIN(J);
END;
IF IER<>0 THEN R:=VARELIN(J).PRIS;
GOTOXY(5,5+I);
WRITELN(VNR:4,ANTAL:8,' ':4,PRIS/100:10:2,' ':9,NAVN);
WRITELN(' ':77);
WRITELN(' ':77);
WRITELN(' ':77);
WRITELN(' ':77);
END;
IF IER=0 THEN
WITH VARE DO
BEGIN
IF (HELTAL(5)>ORDRE.HEAD(6)) OR (HELTAL(5)<ORDRE.HEAD(6)-30)
OR (ORDRE.HEAD(6)=0) THEN
BEGIN
IF REELTAL(7)+ANTAL>REELTAL(4) THEN
BEGIN
REELTAL(9):=REELTAL(9)+ANTAL+REELTAL(7)-REELTAL(4);
REELTAL(7):=REELTAL(4)
END
ELSE REELTAL(7):=REELTAL(7)+ANTAL
END
ELSE REELTAL(9):=REELTAL(9)+ANTAL;
PUTREC(VZ.H,FVAR,VARE.A);
IF IER<>0 THEN ERROR
END
END;
IF IER=-6 THEN
BEGIN
GOTOXY(40,5+I);
WRITELN('VARENUMMER EKSISTERER IKKE');
I:=I-1
END
ELSE IF IER<>0 THEN ERROR
END
END;
PROCEDURE FINDKUND;
VAR N1,N2,FIN:INTEGER;
SVAR1:CHAR;
BEGIN
REPEAT
I:=1;
SVAR1:='N';
CLEARSCREEN;
WRITELN('ORDREVEDLIGEHOLDELSE');
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,FKUN,KUNDE.A);
IF IER=-6 THEN NEXTREC(KZ.H,FKUN,KUNDE.A);
IF (IER=-9) OR (IER=-2) OR (IER=-1) THEN IER:=0;
I:=0
END
ELSE
BEGIN
NEXTREC(KZ.H,FKUN,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,FKUN,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'));
IF (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)
END;
PROCEDURE FINDORDR;
BEGIN
CLEARSCREEN;
WRITELN('INDTAST ORDRENR, 1 FOR OVERSIGT OVER KUNDENS ORDRER, 0 FOR STOP');
REPEAT
GOTOXY(65,1);READLN;READ(R)
UNTIL (IORESULT=0) AND (R<1000000.0) AND (R>=0);
IF R=0.0 THEN EXIT(FINDORDR);
WITH ORDRE DO
BEGIN
HEAD(1):=KUNDE.NR(1);
HEAD(2):=KUNDE.NR(2);
IF R>1 THEN
BEGIN
HEAD(3):=TRUNC(R/10000);
HEAD(4):=TRUNC(R-HEAD(3)*10000.0);
HEAD(5):=0;
NEXTREC(OZ.H,FORD,A);
IF (IER=-1) OR (IER=-2) OR (IER=-9) THEN IER:=0;
IF IER<>0 THEN ERROR;
IF (HEAD(3)*10000.0+HEAD(4)<>R) OR (HEAD(1)<>KUNDE.NR(1)) OR
(HEAD(2)<>KUNDE.NR(2)) THEN
BEGIN
WRITELN('ORDREN FINDES IKKE, TRYK RETURN');
READLN;
R:=-1
END ELSE R:=-2
END
ELSE
BEGIN
HEAD(3):=0;HEAD(4):=0;HEAD(5):=0;
R1:=0;
REPEAT
NEXTREC(OZ.H,FORD,A);
IF (IER=-1) OR (IER=-2) OR (IER=-9) THEN IER:=0;
IF IER<>0 THEN ERROR;
IF (HEAD(1)<>KUNDE.NR(1)) OR (HEAD(2)<>KUNDE.NR(2)) THEN
BEGIN
WRITELN('KUNDEN HAR IKKE FLERE ORDRER I SYSTEMET, TRYK RETURN');
READLN;R:=-1
END
ELSE
IF R1<>HEAD(3)*10000.0+HEAD(4) THEN
BEGIN
R1:=HEAD(3)*10000.0+HEAD(4);
GOTOXY(1,3);
WRITELN('ORDRENR:',R1:10:-2,' RIGTIGT (J/N)');
REPEAT
GOTOXY(40,3);
READLN;READ(SVAR1)
UNTIL (IORESULT=0) AND ((SVAR1='J') OR (SVAR1='N'));
IF SVAR1='J' THEN R:=-2
END
UNTIL R<0;
END
END
END;
PROCEDURE RETBETINGELSER;
VAR J,I:INTEGER;
BEGIN
WITH ORDRE DO
BEGIN
RETTET:=FALSE;
REPEAT
CLEARSCREEN;
GOTOXY(1,1);
WRITELN('GÆLDENDE ORDRE-HOVED:');
GOTOXY(1,4);
WRITELN('1 LEVERING',HEAD(9):9);
WRITELN('2 BETALING',HEAD(10):9);
WRITELN('3 RESTORDRE',HEAD(11):8);
WRITELN('4 RABAT',HEAD(12):12);
WRITELN('5 ORDREDATO',HEAD(7)*10000.0+HEAD(8):8:-2);
WRITELN('6 LEVERINGSUGE',HEAD(6):5);
WRITELN('7 TEKST 1 ',LINE(1));
WRITELN('8 TEKST 2 ',LINE(2));
REPEAT
GOTOXY(1,13);
WRITELN('ÆNDRING, 0 FOR NEJ');
GOTOXY(20,13);
READLN;READ(I)
UNTIL (IORESULT=0) AND (I<9) AND (I>=0);
IF I>0 THEN
BEGIN
RETTET:=TRUE;
CASE I OF
1,2,3,4: REPEAT GOTOXY(20,3+I);READLN;READ(HEAD(8+I))
UNTIL (IORESULT=0) AND (HEAD(8+I)<=99) AND (HEAD(8+I)>=0);
5: BEGIN
REPEAT
GOTOXY(20,8);READLN;READ(R)
UNTIL (IORESULT=0) AND (R>800000.0) AND (R<850000.0);
HEAD(7):=TRUNC(R/10000);
HEAD(8):=TRUNC(R-HEAD(7)*10000.0)
END;
6: REPEAT GOTOXY(20,9);READLN;READ(HEAD(6))
UNTIL (IORESULT=0) AND (HEAD(6)>=0) AND (HEAD(6)<=53);
7,8: BEGIN
FOR J:=1 TO 30 DO LIN(J):=LINE(I-6,J);
GOTOXY(11,3+I);
EDIT(LIN:30);
FOR J:=1 TO 30 DO LINE(I-6,J):=LIN(J)
END
END;
END
UNTIL I=0;
FOR I:=6 TO 12 DO QHEAD(I):=HEAD(I);
FOR I:=1 TO 2 DO FOR J:=1 TO 30 DO QLINE(I,J):=LINE(I,J)
END
END;
PROCEDURE SLETORDR;
BEGIN
REPEAT
FOR I:=1 TO 15 DO
WITH ORDRE,VARE DO
IF ORDRELIN(I).VNR(1)<>0 THEN
BEGIN
HELTAL(1):=ORDRELIN(I).VNR(1);
GETREC(VZ.H,FVAR,VARE.A);
IF IER<>0 THEN ERROR;
IF (HELTAL(5)>HEAD(6)) OR (HELTAL(5)<HEAD(6)-30) OR (HEAD(6)=0) THEN
IF ORDRELIN(I).VNR(2)>REELTAL(7) THEN
BEGIN
REELTAL(9):=REELTAL(9)-ORDRELIN(I).VNR(2)+REELTAL(7);
REELTAL(7):=0
END
ELSE REELTAL(7):=REELTAL(7)-ORDRELIN(I).VNR(2)
ELSE REELTAL(9):=REELTAL(9)-ORDRELIN(I).VNR(2);
PUTREC(VZ.H,FVAR,VARE.A);
IF IER<>0 THEN ERROR;
END;
L:=ORDRE.HEAD(5);
DELETE(OZ.H,FORD,ORDRE.A)
UNTIL L=99
END;
PROCEDURE RETSIDE;
VAR SVAR1:CHAR;
BEGIN
SRETTET:=FALSE;
GOTOXY(1,6+ALI);WRITELN;
REPEAT
FOR I:=1 TO ALI DO
WITH VARELIN(I) DO
BEGIN
GOTOXY(1,5+I);
WRITELN(I:3,VNR:5,ANTAL:8,' ':4,PRIS/100:10:2)
END;
REPEAT
GOTOXY(1,21);
WRITELN('Er ordresiden færdig (J/N)');
GOTOXY(28,21);
READLN;READ(SVAR1)
UNTIL (IORESULT=0) AND ((SVAR1='N') OR (SVAR1='J') OR (SVAR1='n') OR
(SVAR1='j'));
IF (SVAR1='J') OR (SVAR1='j') THEN EXIT(RETSIDE);
SRETTET:=TRUE;
GOTOXY(1,22);WRITELN('A: Tilføjelse B:Sletning');
REPEAT GOTOXY(35,22);READLN;READ(SVAR1)
UNTIL (IORESULT=0) AND ((SVAR1='A') OR (SVAR1='B'));
CASE SVAR1 OF
'A':IF ALI < 15 THEN
BEGIN
ALI:=ALI+1;
I:=ALI;
LINIE;
IF (I=17) OR (I=ALI-1) THEN ALI:=ALI-1
END
ELSE
BEGIN
GOTOXY(1,22);WRITELN('SIDEN ER FULD')
END;
'B':WITH VARE,ORDRE DO BEGIN
GOTOXY(1,23);
WRITELN('Linienummer');
REPEAT GOTOXY(15,23);READLN;READ(I)
UNTIL (IORESULT=0) AND (I>0) AND (I<=ALI);
HELTAL(1):=VARELIN(I).VNR;
GETREC(VZ.H,FVAR,VARE.A);
IF IER<>0 THEN ERROR;
IF (HELTAL(5)>HEAD(6)) OR (HELTAL(5)<HEAD(6)-30) OR
(HEAD(6)=0) THEN
IF VARELIN(I).ANTAL>REELTAL(7) THEN
BEGIN
REELTAL(9):=REELTAL(9)-VARELIN(I).ANTAL+REELTAL(7);
REELTAL(7):=0
END
ELSE REELTAL(7):=REELTAL(7)-VARELIN(I).ANTAL
ELSE REELTAL(9):=REELTAL(9)-VARELIN(I).ANTAL;
PUTREC(VZ.H,FVAR,VARE.A);
IF IER<>0 THEN ERROR;
FOR J:=I TO ALI-1 DO VARELIN(J):=VARELIN(J+1);
GOTOXY(1,5+ALI);WRITELN(' ':77);
ALI:=ALI-1
END;
END;
UNTIL SVAR1='J'
END;
BEGIN
CLEARSCREEN;
FNAVN:='REGVARE:P1:0000:I';
REWRITE(FVAR,FNAVN);
IOPEN(VZ.H,FVAR,SKRIV);IF IER<>0 THEN OFEJL;
FNAVN:='ORDRERG:P2:0000:I';
REWRITE(FORD,FNAVN);
IOPEN(OZ.H,FORD,SKRIV);IF IER<>0 THEN OFEJL;
FNAVN:='SYSREG:P2:1:I';
RESET(SYSFIL,FNAVN);
SEEK(SYSFIL,1);
GET(SYSFIL);
FNAVN:='KUNDERG:P2:0000:I';
RESET(FKUN,FNAVN);
IOPEN(KZ.H,FKUN,LÆS);IF IER<>0 THEN OFEJL;
LIN:='123456789012345678901234567890';
REPEAT
FINDKUND;
IF R<>0.0 THEN
FINDORDR;
IF R=-2 THEN
WITH ORDRE DO
BEGIN
RETTET:=FALSE;SRETTET:=FALSE;
L:=0;
CLEARSCREEN;
WRITELN('SKAL ORDREN SLETTES (J/N)');
REPEAT
GOTOXY(30,1);READLN;READ(SVAR1)
UNTIL (IORESULT=0) AND ((SVAR1='N') OR (SVAR1='J'));
IF SVAR1='N' THEN
BEGIN
CLEARSCREEN;
GOTOXY(1,1);WRITELN('ÆNDRINGER I ORDRE-HOVED (J/N)');
REPEAT
GOTOXY(30,1);READLN;READ(SVAR1)
UNTIL (IORESULT=0) AND ((SVAR1='J') OR (SVAR1='N'));
IF SVAR1='J' THEN RETBETINGELSER;
REPEAT
CLEARSCREEN;
WRITELN('ORDREVEDLIGEHOLDELSE');
WRITELN;
WRITELN(KUNDE.NAVN(1),' ':4,'Ordredato:',HEAD(7)*10000.0+HEAD(8):8:-2,
'Leveringsuge':20,HEAD(6):3);
WRITELN(' ':77);
WRITELN(' Varenummer','Antal':8,'Pris':10,'Tekst':14);
ALI:=0;
FOR I:=1 TO 15 DO
WITH ORDRELIN(I) DO
BEGIN
VARELIN(I).VNR:=VNR(1);
VARELIN(I).ANTAL:=VNR(2);
VARELIN(I).PRIS:=PRIS;
FILLCHAR(VARELIN(I).NAVN,30,' ');
IF VNR(1)<>0 THEN ALI:=I
END;
RETSIDE;
(*ORDREN TIL ORDREREGISTRET*)
IF (SRETTET OR RETTET) THEN
BEGIN
FOR I:=1 TO 15 DO
WITH ORDRELIN(I) DO
BEGIN
IF I<= ALI THEN
BEGIN
VNR(1):=VARELIN(I).VNR;
VNR(2):=VARELIN(I).ANTAL;
PRIS:=VARELIN(I).PRIS
END
ELSE VNR(1):=0
END;
PUTREC(OZ.H,FORD,A);
END;
IF HEAD(5)<99 THEN
BEGIN
L:=HEAD(5);
NEXTREC(OZ.H,FORD,A);
IF RETTET THEN
BEGIN
FOR I:=6 TO 12 DO HEAD(I):=QHEAD(I);
FOR I:=1 TO 2 DO FOR J:=1 TO 30 DO LINE(I,J):=QLINE(I,J)
END
END
ELSE
BEGIN
IF L<3 THEN
BEGIN
CLEARSCREEN;
WRITELN('SKAL DER OPRETTES EN NY SIDE (J/N)');
REPEAT
GOTOXY(40,1);READLN;READ(SVAR1)
UNTIL (IORESULT=0) AND ((SVAR1='J') OR (SVAR1='N'));
IF SVAR1='J' THEN
BEGIN
HEAD(5):=L+1;
INSERT(OZ.H,FORD,A);
IF IER<>0 THEN ERROR;
HEAD(5):=99;
FOR I:=1 TO 15 DO ORDRELIN(I).VNR(1):=0;
PUTREC(OZ.H,FORD,A);
IF IER<>0 THEN ERROR;
L:=L+1
END ELSE L:=99
END ELSE L:=99
END
UNTIL L=99;
END ELSE SLETORDR
END
UNTIL R=0.0;
ICLOSE(OZ.H,FORD);
CLOSE(FORD);
ICLOSE(KZ.H,FKUN);
CLOSE(FKUN);
ICLOSE(VZ.H,FVAR);
CLOSE(FVAR);
CHAIN('INTRE *1','HOVSA:P1',QUQ)
END.