|
|
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: 6240 (0x1860)
Types: TextFile
Notes: Mikados_K
Names: »OPRETORD.K«
└─⟦eb89399bc⟧ Bits:30008990 SOM ISFORIG, MEN KUN K-FILER
└─⟦this⟧ »OPRETORD.K«
PROGRAM OPRETFILES;
(*$IISFHEAD*)
PLUOLINE = RECORD
VNR :ARRAY (1..3) OF INTEGER;
(*VNR,LEVERET,BESTILT*)
PRIS: REAL
END;
OLINE = RECORD
VNR :ARRAY (1..2) OF INTEGER;
(*VNR,BESTILT*)
PRIS: REAL
END;
PLUORPOST=RECORD
A:AR;
HEAD:ARRAY (1..12) OF INTEGER;
LINE:ARRAY (1..2) OF PACKED ARRAY (1..30) OF CHAR;
(*KNR1,KNR2,ONR1,ONR2,SIDE,LEVUGE,ORDREDATO1-2,LEVKODE,BETAKODE,
RESTORDREKODE,RABAT*)
ORDRELIN : ARRAY (1..15) OF PLUOLINE
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;
POSTPOST=RECORD
A:AR;
(*KNR1-2,DATO1-2,TEKSTKODE,BILAGSNR1-2*) HELTAL:ARRAY(1..7) OF INTEGER;
(*BELØB,RESTBELØB*) REEL:ARRAY (1..2) OF REAL
END;
POSTZONE=RECORD
H:ISFHEAD;
T:ARRAY (1..1000) OF INTEGER
END;
PLUZONE=RECORD
H:ISFHEAD;
T:ARRAY(1..1000) OF INTEGER
END;
RORPOST=RECORD
A:AR;
(* KNR1,KNR2,
VNR,
DAT1,DAT2:INTEGER;*) HEAD:ARRAY(1..5) OF INTEGER;
ANTAL:REAL
END;
RORZONE=RECORD
H:ISFHEAD;
T:ARRAY(1..1000) OF INTEGER
END;
ORDZONE=RECORD
H:ISFHEAD;
T:ARRAY(1..1000) OF INTEGER
END;
KEYDESCRIPTION=ARRAY (1..9) OF ARRAY (1..3) OF INTEGER;
VAR FORD,FPLU,FROR,FPOST : ISF;
OZ:ORDZONE;
PZ:PLUZONE;
ORDRE:ORDREPOST;
PLUORD:PLUORPOST;
FNAVN:STRING(20);
RESTORD:RORPOST;
POSTERIN:POSTPOST;
RZ:RORZONE;
PSZ:POSTZONE;
IER,I,J,
NREC,RECSIZE,KEYFLDS :INTEGER;
R:REAL;
KEYDESC:KEYDESCRIPTION;
(*$L-*)
(*$ICREATE*)
(*$R-,IEXCOMCOP*)
(*$IIOPEN*)
(*$ISÆTØG*)
(*$IREADPROC*)
(*$IFINDPOST*)
(*$IFORSKYD*)
(*$IICLOSE*)
(*$IINSERT*)
(*$IINITIATE*)
(*$R+,L+*)
PROCEDURE ERROR;
BEGIN
WRITELN('FEJL I REGISTER ',IER);
ICLOSE(RZ.H,FROR);
ICLOSE(OZ.H,FORD);
ICLOSE(PZ.H,FPLU);
ICLOSE(PSZ.H,FPOST);
WRITELN('ICLOSE ',IER);
I:=I DIV 0
END;
PROCEDURE PIP;
BEGIN
FNAVN:='POSTREG:P2';
RECSIZE:=15;
KEYFLDS:=1;
KEYDESC(1,1):=1;KEYDESC(1,2):=7;KEYDESC(1,3):=1;
CREATE(FNAVN,NREC,RECSIZE,KEYFLDS,KEYDESC,IER);
WRITELN(LIST,'IER : ',IER);WRITELN;
REWRITE(FPOST,FNAVN);
IOPEN(PSZ.H,FPOST,SKRIV);IF IER<>0 THEN ERROR;
INITIATE(PSZ.H,FPOST,PSZ.H.NBUC);
FOR I:=1 TO 7 DO WITH POSTERIN DO HELTAL(I):=0;
FOR I:=0 TO PSZ.H.NBUC-1 DO
WITH POSTERIN DO
BEGIN
R:=10000.0+80000.0*I/(PSZ.H.NBUC-1);
HELTAL(1):=TRUNC(R/10000);
HELTAL(2):=TRUNC(R-HELTAL(1)*10000.0);
INSERT(PSZ.H,FPOST,A)
END;
ICLOSE(PSZ.H,FPOST);
END;
BEGIN
CLEARSCREEN;
REPEAT
REPEAT
GOTOXY(1,1);
WRITELN('OPRETTELSE AF REGISTRE, ');
WRITELN('ORDREREG 1, PLUOR 2, RESTORDREREG 3, POSTERINGSREG 4');
READLN;READ(J)
UNTIL (IORESULT=0) AND (J>=0) AND (J<5);
REPEAT
GOTOXY(1,3);WRITELN('ANTAL POSTER');
GOTOXY(20,3);READLN;READ(NREC)
UNTIL (IORESULT=0) AND (NREC>0);
CASE J OF
4:PIP;
1:BEGIN
FNAVN:='ORDRERG:P2';
RECSIZE:=132;
KEYFLDS:=1;
KEYDESC(1,1):=1;KEYDESC(1,2):=5;KEYDESC(1,3):=1;
CREATE(FNAVN,NREC,RECSIZE,KEYFLDS,KEYDESC,IER);
WRITELN(LIST,'IER : ',IER);WRITELN;
REWRITE(FORD,FNAVN);
IOPEN(OZ.H,FORD,SKRIV);IF IER<>0 THEN ERROR;
INITIATE(OZ.H,FORD,OZ.H.NBUC);
FOR I:=1 TO 5 DO WITH ORDRE DO HEAD(I):=0;
FOR I:=0 TO OZ.H.NBUC-1 DO
WITH ORDRE DO
BEGIN
R:=10000.0+80000.0*I/(OZ.H.NBUC-1);
HEAD(1):=TRUNC(R/10000);
HEAD(2):=TRUNC(R-HEAD(1)*10000.0);
INSERT(OZ.H,FORD,A)
END;
ICLOSE(OZ.H,FORD);
END;
2:BEGIN
FNAVN:='PLUOR:P2';
RECSIZE:=147;
KEYFLDS:=1;
KEYDESC(1,1):=1;KEYDESC(1,2):=5;KEYDESC(1,3):=1;
CREATE(FNAVN,NREC,RECSIZE,KEYFLDS,KEYDESC,IER);
WRITELN(LIST,'IER : ',IER);WRITELN;
REWRITE(FPLU,FNAVN);
IOPEN(PZ.H,FPLU,SKRIV);IF IER<>0 THEN ERROR;
INITIATE(PZ.H,FPLU,PZ.H.NBUC);
FOR I:=1 TO 5 DO WITH PLUORD DO HEAD(I):=0;
FOR I:=0 TO PZ.H.NBUC-1 DO
WITH PLUORD DO
BEGIN
R:=10000.0+80000.0*I/(PZ.H.NBUC-1);
HEAD(1):=TRUNC(R/10000);
HEAD(2):=TRUNC(R-HEAD(1)*10000.0);
INSERT(PZ.H,FPLU,A)
END;
ICLOSE(PZ.H,FPLU);
END;
3:BEGIN
FNAVN:='RESTREG:P2';
RECSIZE:=9;
KEYFLDS:=1;
KEYDESC(1,1):=1;KEYDESC(1,2):=3;KEYDESC(1,3):=1;
CREATE(FNAVN,NREC,RECSIZE,KEYFLDS,KEYDESC,IER);
WRITELN(LIST,'IER : ',IER);WRITELN;
REWRITE(FROR,FNAVN);
IOPEN(RZ.H,FROR,SKRIV);IF IER<>0 THEN ERROR;
INITIATE(RZ.H,FROR,RZ.H.NBUC);
RESTORD.HEAD(3):=0;
FOR I:=0 TO RZ.H.NBUC-1 DO
WITH RESTORD DO
BEGIN
R:=10000.0+80000.0*I/(RZ.H.NBUC-1);
HEAD(1):=TRUNC(R/10000);
HEAD(2):=TRUNC(R-HEAD(1)*10000.0);
INSERT(RZ.H,FROR,A)
END;
ICLOSE(RZ.H,FROR);
END
END
UNTIL J=0;
END.