DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

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

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦8b74022ae⟧ TextFile

    Length: 3072 (0xc00)
    Types: TextFile
    Names: »katalog«

Derivation

└─⟦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« 

TextFile

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◀