|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 3072 (0xc00) Types: TextFile Names: »katalog«
└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ. Detaljer om "HC8000" projekt. └─⟦0364f57e3⟧ └─⟦this⟧ »katalog« └─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ. └─⟦b2ec5d50f⟧ └─⟦this⟧ »katalog«
begin <*program, niveau 1*> integer lbrug-inf-kons;<*den samlet længde målt i ord af*> <*de informationskonstanter brugeren*> <*kan ændre*> integer lbrug-kpost-felt;<*antal felt-typer som brugeren kan*> <ændre i en katalogpost*> integer anttilstande; <*antal tilstande i aktionstabellen*> integer antinputordre;<*antal inputordre i aktionstabellen*> <*index til brug ved opslag, efter felter i kpfl arrayet*> integer type-index, titel-index,for-index,bib-index,res-index; integer ankomst-index, journal-index, stikord-index, beskriv-index; integer ord-index, søgemængder-index, mængdestr-index; procedure init; begin integer i,j,k,n; <*indlæs fil-information*> open(filinf,4,brugerfil,0); setposition(filinf,0,0); inrec6(filinf, lfilinf*4); nykatstart:=gfkatstart:=filinf.kikatstart; nykatstr:=gfkatstr:=filinf.kikatstr; nyinvstart:=gfinvstart:=filinf.kiinvstart; for i:=1 step 1 until lbrug-inf-kons do begin k-ny-fl(i):=k-gf-fl(i):=filinf.kiarraystart(i); end; close(filinf,true); ledigkatpost:=gfkatstr+1; <*initialisering af katalogpost*> slettet:=i:=1; udvidet:=i:=i+1; mor:=i:=i+1; i:=i+1; moradr:=i:=i+2; barnadr:=i:=i+2; stiktegnantal:=i:=i+2; k:=kpostarraystart:=1; j:=1; for i:=1 step 1 until lbrug-kpost-felt do begin n:=1; if i:=for-index then begin n:=3; end; j:=j+n*k-gf-fl(i); k:=k+n*k-gf-fl(i); kpost(i):=j-n*k-gf-fil(i); end; dobbeltordlængde(gf-ktp-længde,k); <*udregning af konstanter til brug ved læsning og*> <*skrivning af katalogposter*> post-skriv-læs-konstanter(gf-ktp-længde,gf-ktp-antal,gf-ktp-seg); <*initialiserer værdilisten*> open(værinf,4,værdifil,0); setposition(værinf,0,0); inrec6(værinf, lværinf*4); vfværførst:=værinf.viførst; vfværantal:=værinf.viantal; close(værinf,true); <*initialisering af poster i værdifilen*> vford:=i:=0; i:=i+4*gford; vfantal:=i:=i+2; vfref:=i:=i+2; dobbeltordlængde(vf-vær-længde,i); post-skriv-læs-konstanter(vf-vær-længde,vf-vær-antal,vf-vær-seg); end; procedure skriv-ny-ga-katpost(nr,buffer); integer nr; long array buffer; <*skriver en katalog-post på bruger filen eller på den*> <*temporere nye brugerfil. Proceduren bruges ved udskrivning*> <*af ny moderposter og postudvidelser*> begin if nr < gfkatstr then begin <*posten skal lægges i brugerfilen*> skriv-katalogpost(nr,gfkatstart, buffer); end; else begin <*posten ligger i ny brugerfil*> skriv-nykatalogpost(nr-gfkatstr,0,buffer); end; end; procedure indsæt-i-array(resultal,værdiarray,værlængde); value reslængde, værdiarray,værlængde; long array værdiarray; integer værlængde; <*tegnet i hvert enkelt finis wrk000074=finisf wrk000074 i job1 finis 81 11 17.13 08 ▶EOF◀