|
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: 5056 (0x13c0) Notes: Mikados TextFile, Mikados_K Names: »KNUDELBO«
└─⟦206949bb3⟧ Bits:30004653 Kunderegister P1 til messe (MIKADOS) └─ ⟦this⟧ »KNUDELBO«
PROGRAM KNUDELBO; (*$IISFHEAD*) 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; ZONE= RECORD H:ISFHEAD; T:ARRAY(1..918) OF INTEGER END; LANDFILE=FILE OF PACKED ARRAY(1..30) OF CHAR; VAR F:ISF; KZ:ZONE; LANDFIL:LANDFILE; QUQ:^INTEGER; FILNAVN2:STRING(20); J,IER,I:INTEGER; KUNDE:KPOST; T:TEXT; NAME:PACKED ARRAY (1..26) OF CHAR; FIRST,LAST:PACKED ARRAY (1..4) OF CHAR; STRENG:STRING(4); PNR,FINIS:BOOLEAN; (*$L-*) (*$R-,IEXCOMCOP*) (*$IIOPEN*) (*$IREADPROC*) (*$IFINDPOST*) (*$IICLOSE*) (*$INEXTREC*) (*$R+*) (*$L+*) PROCEDURE ERROR; BEGIN WRITELN('FEJL I KUNDEREG ',IER); ICLOSE(KZ.H,F); 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; FUNCTION CHECK:BOOLEAN; VAR P:PACKED ARRAY (1..4) OF CHAR; K:INTEGER; BEGIN FOR K:=1 TO 4 DO P(K):=KUNDE.POSTNR(K); IF (P>=FIRST) AND (P<=LAST) THEN CHECK:=TRUE ELSE CHECK:=FALSE END; PROCEDURE PRKUNOPL(O:INTEGER); BEGIN WITH KUNDE DO BEGIN J:=0; REPEAT J:=J+1 UNTIL (J=4) OR (NAVN(1,J)<>' '); IF NAVN(1,J)=' ' THEN BEGIN MOVELEFT(NAVN(1,5),NAME,26); WRITELN(T,' ':6,NAME) END ELSE WRITELN(T,' ':6,NAVN(1)); WRITELN(T,' ':6,NAVN(2)); WRITELN(T,' ':6,NAVN(3)); WRITELN(T,' ':6,LANDSBY); WRITELN(T,' ':6,POSTNR); WRITELN(T,' ') END END; BEGIN CLEARSCREEN; WRITELN('KUNDELABELS'); FILNAVN2:='KLABELS:P1:30:K'; REWRITE(T,FILNAVN2); FILNAVN2:='KUNDERG:P2:1338:I'; RESET(F,FILNAVN2); IOPEN(KZ.H,F,LÆS); IF IER<>0 THEN OFEJL; REPEAT GOTOXY(1,22); WRITELN('I POSTNR-INTERVALLER (1), ET INTERVAL (2), KNR-ORDEN (3)'); GOTOXY(60,22); READLN;READ(J) UNTIL (IORESULT=0) AND (J>0) AND (J<4); IF J=1 THEN BEGIN FINIS:=FALSE;PNR:=TRUE END; IF J=2 THEN BEGIN FINIS:=TRUE;PNR:=TRUE END; IF J=3 THEN BEGIN FINIS:=TRUE;PNR:=FALSE END; IF J=2 THEN BEGIN REPEAT CLEARSCREEN; REPEAT GOTOXY(1,22); WRITELN('START'); GOTOXY(10,22); READLN;READ(STRENG) UNTIL LENGTH(STRENG)=4; FOR I:=1 TO 4 DO FIRST(I):=STRENG(I); REPEAT GOTOXY(20,22); WRITELN('SLUT'); GOTOXY(30,22); READLN;READ(STRENG) UNTIL LENGTH(STRENG)=4; FOR I:=1 TO 4 DO LAST(I):=STRENG(I); UNTIL LAST>=FIRST; END ELSE BEGIN FIRST:='1000'; LAST:='1999' END; I:=0; WITH KUNDE DO REPEAT NR(1):=0;NR(2):=0; NEXTREC(KZ.H,F,A); IF IER<>-1 THEN ERROR; REPEAT IF (PNR=FALSE) OR (CHECK=TRUE) THEN BEGIN PRKUNOPL(-1); WRITELN(T,' ':6,'afs. H.S.Møller Trommesalen 5 1614 V.'); WRITELN(T,' '); WRITELN(T,' '); I:=I+1; END; NEXTREC(KZ.H,F,A) UNTIL IER<>0; IF IER<>-2 THEN ERROR; IF LAST='9999' THEN FINIS:=TRUE; LAST(1):=CHR(ORD(LAST(1))+1); FIRST(1):=CHR(ORD(FIRST(1))+1); UNTIL FINIS; ICLOSE(KZ.H,F); CLEARSCREEN; WRITELN('ICLOSE ',IER,I:7); CHAIN('INTRE *1','LISTKNUD:P1',QUQ) END.