DataMuseum.dk

Presents historical artifacts from the history of:

MIKADOS

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about MIKADOS

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦168acc1c6⟧ TextFile

    Length: 2976 (0xba0)
    Types: TextFile
    Notes: Mikados_K
    Names: »UDFØR.K«

Derivation

└─⟦5630b2e42⟧ Bits:30009005 START APRIL 1985 aft april 1985 (PASCAL kildetekster)
    └─⟦this⟧ »UDFØR.K« 
└─⟦6c21327e0⟧ Bits:30008986 LINIMATIC K-FILER (IKKE HELT UPTODTATE)
    └─⟦this⟧ »UDFØR.K« 

Mikados K File

(*$P*)
PROCEDURE UDFØR(PROCTYPE:MESSAGETYPE;VAR REC:AR);
VAR I,MSTATUS:INTEGER;
BEGIN
  BESKED.KOMMANDO:=PROCTYPE;
  IF PROCTYPE IN (.LÆSPOST..INDSÆT,RETURNHEAD,RETURNSTAT.) THEN
  BEGIN
    RESERV(SEMAFOR,TRUE,TRUE,MSTATUS);                        
    IF MSTATUS<>0 THEN BEGIN WRITELN('1:',MSTATUS);READLN END;
    REPEAT
      ALLOCA(COMREC,2*(REC(-4)+1),MSTATUS);
     (*$XT*)IF MSTATUS<>0 THEN BEGIN WRITELN('2:',MSTATUS);READLN END;(*$X-*)
    UNTIL MSTATUS=0;
                                                                      (*$R-*)
    BESKED.INFO:=SNYD(-2);(*COMREC'S ADRESSE*)   
                                                                      (*$R+*)
    IF PROCTYPE=RETURNSTAT THEN
      COMREC^(0):=STATUSER
    ELSE
    BEGIN                                                              (*$R-*)
      COMREC^(0):=REC(-3);(*FILNR*)                             
      IF PROCTYPE<>RETURNHEAD THEN  (*EVT. KUN NØGLER*)         
      MOVELEFT(REC(1),COMREC^(1),2*REC(-4));
      (*FOR I:=1 TO REC(-4) DO COMREC^(I):=REC(I)*)                    (*$R+*)
    END
  END 
  ELSE
  IF PROCTYPE IN (.ÅBEN,LUK,INITIER.) THEN
  BEGIN                                                                (*$R-*)
    BESKED.INFO:=REC(-3);                                              (*$R+*)
    IF PROCTYPE=ÅBEN THEN
      BESKED.IREC:=MODE
    ELSE
    IF PROCTYPE=INITIER THEN
      BESKED.IREC:=IREC 
  END
  ELSE 
  IF PROCTYPE=PTILMELD THEN BESKED.INFO:=PROGRAMNR;
  REPEAT
  IF PROCTYPE IN (.ÅBEN,INITIER.) THEN
    SENDM(CPPCB,BESKED,6,MSTATUS)
  ELSE
    SENDM(CPPCB,BESKED,4,MSTATUS);
  IF MSTATUS<>0 THEN BEGIN WRITELN('3:',MSTATUS);READLN END;
  UNTIL MSTATUS=0;
  IF PROCTYPE IN (.LÆSPOST..INDSÆT,RETURNHEAD,RETURNSTAT.) THEN
  BEGIN
    RELEAS(SEMAFOR,MSTATUS);
    IF MSTATUS<>0 THEN BEGIN WRITELN('4:',MSTATUS);READLN END 
  END
END;
(*$P*)
PROCEDURE UDFØRT(PROCTYPE:MESSAGETYPE;VAR REC:AR);
VAR I,MSTATUS:INTEGER;
BEGIN
  (*MODTAG BESKED, CHECK TYPEOVERENSSTEMMELSE OG EVT. FILNR,
    OVERFØR COMREC TIL REC, FRIGIV COMREC*)
  RECEIV(CPPCB,BESKED,I);
  IF BESKED.KOMMANDO<>PROCTYPE THEN
  BEGIN WRITELN('KOMUOV',ORD(PROCTYPE):6,ORD(BESKED.KOMMANDO):6);READLN END;
  IF PROCTYPE IN (.LÆSPOST..INDSÆT,RETURNHEAD,RETURNSTAT.) THEN 
  BEGIN
(*$R-*)
    IF (PROCTYPE<>NÆSTEX) OR (BESKED.INFO<>-31) THEN   (*DIRTY*)
      MOVELEFT(COMREC^(1),REC(1),2*REC(-4));
    (*FOR I:=1 TO REC(-4) DO REC(I):=COMREC^(I);*) 
(*$R+*)
    DEALLO(COMREC,MSTATUS);
    IF MSTATUS<>0 THEN BEGIN WRITELN('5:',MSTATUS);READLN END 
  END;
  IF PROCTYPE=STOPSYS THEN
    REMUSERS:=BESKED.INFO
  ELSE
  BEGIN
    IER:=BESKED.INFO;
    IF PROCTYPE=ÅBEN THEN
    BEGIN
      REC(-4):=BESKED.IREC;(*POSTSTØRRELSE*)
      IF IER=-12 THEN
      BEGIN
        IER:=0;
        FILEINIT:=FALSE
      END ELSE FILEINIT:=TRUE
    END
  END
END;

TextFile

▶06◀(*$P*)▶06◀1PROCEDURE UDFØR(PROCTYPE:MESSAGETYPE;VAR REC:AR);1▶16◀VAR I,MSTATUS:INTEGER;▶16◀▶05◀BEGIN▶05◀▶1c◀  BESKED.KOMMANDO:=PROCTYPE;▶1c◀?  IF PROCTYPE IN (.LÆSPOST..INDSÆT,RETURNHEAD,RETURNSTAT.) THEN?▶07◀  BEGIN▶07◀>    RESERV(SEMAFOR,TRUE,TRUE,MSTATUS);                        >>    IF MSTATUS<>0 THEN BEGIN WRITELN('1:',MSTATUS);READLN END;>
    REPEAT
+      ALLOCA(COMREC,2*(REC(-4)+1),MSTATUS);+M     (*$XT*)IF MSTATUS<>0 THEN BEGIN WRITELN('2:',MSTATUS);READLN END;(*$X-*)M▶14◀    UNTIL MSTATUS=0;▶14◀M                                                                      (*$R-*)M1    BESKED.INFO:=SNYD(-2);(*COMREC'S ADRESSE*)   1M                                                                      (*$R+*)M▶1f◀    IF PROCTYPE=RETURNSTAT THEN▶1f◀▶1a◀      COMREC^(0):=STATUSER▶1a◀▶08◀    ELSE▶08◀N    BEGIN                                                              (*$R-*)N@      COMREC^(0):=REC(-3);(*FILNR*)                             @@      IF PROCTYPE<>RETURNHEAD THEN  (*EVT. KUN NØGLER*)         @,      MOVELEFT(REC(1),COMREC^(1),2*REC(-4));,N      (*FOR I:=1 TO REC(-4) DO COMREC^(I):=REC(I)*)                    (*$R+*)N▶07◀    END▶07◀▶06◀  END ▶06◀▶06◀  ELSE▶06◀*  IF PROCTYPE IN (.ÅBEN,LUK,INITIER.) THEN*N  BEGIN                                                                (*$R-*)NN    BESKED.INFO:=REC(-3);                                              (*$R+*)N▶19◀    IF PROCTYPE=ÅBEN THEN▶19◀▶17◀      BESKED.IREC:=MODE▶17◀▶08◀    ELSE▶08◀▶1c◀    IF PROCTYPE=INITIER THEN▶1c◀▶18◀      BESKED.IREC:=IREC ▶18◀▶05◀  END▶05◀▶07◀  ELSE ▶07◀3  IF PROCTYPE=PTILMELD THEN BESKED.INFO:=PROGRAMNR;3▶08◀  REPEAT▶08◀&  IF PROCTYPE IN (.ÅBEN,INITIER.) THEN&!    SENDM(CPPCB,BESKED,6,MSTATUS)!▶06◀  ELSE▶06◀"    SENDM(CPPCB,BESKED,4,MSTATUS);"<  IF MSTATUS<>0 THEN BEGIN WRITELN('3:',MSTATUS);READLN END;<▶12◀  UNTIL MSTATUS=0;▶12◀?  IF PROCTYPE IN (.LÆSPOST..INDSÆT,RETURNHEAD,RETURNSTAT.) THEN?▶07◀  BEGIN▶07◀▶1c◀    RELEAS(SEMAFOR,MSTATUS);▶1c◀>    IF MSTATUS<>0 THEN BEGIN WRITELN('4:',MSTATUS);READLN END >▶05◀  END▶05◀▶04◀END;▶04◀▶06◀(*$P*)▶06◀2PROCEDURE UDFØRT(PROCTYPE:MESSAGETYPE;VAR REC:AR);2▶16◀VAR I,MSTATUS:INTEGER;▶16◀▶05◀BEGIN▶05◀<  (*MODTAG BESKED, CHECK TYPEOVERENSSTEMMELSE OG EVT. FILNR,<+    OVERFØR COMREC TIL REC, FRIGIV COMREC*)+▶19◀  RECEIV(CPPCB,BESKED,I);▶19◀#  IF BESKED.KOMMANDO<>PROCTYPE THEN#L  BEGIN WRITELN('KOMUOV',ORD(PROCTYPE):6,ORD(BESKED.KOMMANDO):6);READLN END;L@  IF PROCTYPE IN (.LÆSPOST..INDSÆT,RETURNHEAD,RETURNSTAT.) THEN @▶07◀  BEGIN▶07◀▶07◀(*$R-*)▶07◀@    IF (PROCTYPE<>NÆSTEX) OR (BESKED.INFO<>-31) THEN   (*DIRTY*)@,      MOVELEFT(COMREC^(1),REC(1),2*REC(-4));,3    (*FOR I:=1 TO REC(-4) DO REC(I):=COMREC^(I);*) 3▶07◀(*$R+*)▶07◀▶1b◀    DEALLO(COMREC,MSTATUS);▶1b◀>    IF MSTATUS<>0 THEN BEGIN WRITELN('5:',MSTATUS);READLN END >▶06◀  END;▶06◀▶1a◀  IF PROCTYPE=STOPSYS THEN▶1a◀▶19◀    REMUSERS:=BESKED.INFO▶19◀▶06◀  ELSE▶06◀▶07◀  BEGIN▶07◀▶15◀    IER:=BESKED.INFO;▶15◀▶19◀    IF PROCTYPE=ÅBEN THEN▶19◀	    BEGIN	,      REC(-4):=BESKED.IREC;(*POSTSTØRRELSE*),▶15◀      IF IER=-12 THEN▶15◀▶0b◀      BEGIN▶0b◀▶0f◀        IER:=0;▶0f◀▶17◀        FILEINIT:=FALSE▶17◀▶1d◀      END ELSE FILEINIT:=TRUE▶1d◀▶07◀    END▶07◀▶05◀  END▶05◀▶04◀END;▶04◀▶00◀▶00◀ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc

Full view