|
|
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: 2304 (0x900)
Types: TextFile
Names: »connectzotx «
└─⟦01e83a425⟧ Bits:30008166 Bånd med SW8010 og SW8500 source code
└─⟦75ff9bef3⟧
└─⟦this⟧ »connectzotx «
; 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◀