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

⟦15e596ef9⟧ TextFile

    Length: 2304 (0x900)
    Types: TextFile
    Names: »connectzotx «

Derivation

└─⟦01e83a425⟧ Bits:30008166 Bånd med SW8010 og SW8500 source code
    └─⟦75ff9bef3⟧ 
        └─⟦this⟧ »connectzotx « 

TextFile



;       connect zone          * page 1   21 04 81, 15.23;  

if listing.yes
char 10 12 10

connect_zone=set 1 0
connect_zone=algol
;  connect_zone ;  
external
boolean procedure connect_zone(z, name, giveup, input);  
value                                   giveup, input;  
zone                           z;  
real array                        name;  
integer                                 giveup;  
boolean                                         input;  
begin
  comment 
  _ Proceduren åbner zonen 'z' til det "dokument", der er beskrevet
  _ i katalog indgangen med navn 'name'.
  _ Afhængig af 'input' sikres:
  _  input='true':  at der er læse-tilgang til det, der beskrives eller
  _  input='false': at der er skrive-tilgang.
  _ Zonen 'z'åbnes med "giveup-maske" som 'giveup'. 
  _ For yderligere oplysninger se:
  _    System 3 Utility Programs, Part 3, kap. 8.3 & 8.4;  

  integer i, free_param;  
  integer array z_desc(1:20);  
  real array field raf;  

  <* nulstil 2. dobbeltord i navn (hvis nødvendigt) *>
  if name(1) extract 8 = 'nul' then name(2):= real <::>;  

  <* gem 'free parameter', da connect input og -output ødelægger den*>
  getzone6(z, z_desc);  
  free_param:= z_desc(11);  

  if input then fp_proc(27)connect_input:(i, z, name)
  else
  begin
    i:= 1 shift 1 add 1;  <* hvis bs-område skal oprettes,
    _                        så 1 segment på disc *>
    fp_proc(28)connect_output:(i, z, name);  
  end;  

  if i<>0 then
  _ <* der gik noget galt *> connect_zone:= false add i shift 1
  else
  begin
    <* alt o.k. brug algol 'open' *>
    getzone6(z, z_desc);  

    <* gem navnet på dokumentet *>
    raf:= 2;
    name(1):= z_desc.raf(1);  name(2):= z_desc.raf(2);  

    <* og så åbnes der *>
    open(z, z_desc(1) <* mode/kind *>, name, giveup);  

    <* hvis det var en 'sub-entry' eller et magnetbånd,
    _  så skal der positioneres *>
    setposition(z, z_desc(7), z_desc(8));  

    <* reetabler 'free parameter' *>
    get_zone6(z, z_desc);  
    z_desc(11):= free_param;  
    set_zone6(z, z_desc);  

    connect_zone:= true;  
  end;  
end *connect_zone*;  
end;  

if warning.yes
message fejl i connect_zone

end
▶EOF◀