home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
xc212os2.zip
/
SAMPLES
/
DHRY
/
dry1.mod
< prev
next >
Wrap
Text File
|
1993-10-19
|
2KB
|
80 lines
IMPLEMENTATION MODULE dry1;
IMPORT dry2;
PROCEDURE Proc1 (PtrValPar: dry2.RecPointer);
BEGIN
WITH PtrValPar^.PtrComp^ DO
(* == PtrGlobNext *)
PtrValPar^.PtrComp^ := dry2.PtrGlob^;
PtrValPar^.IntComp := 5;
IntComp := PtrValPar^.IntComp;
PtrComp := PtrValPar^.PtrComp;
Proc3 (PtrComp);
(* PtrValPar^.PtrComp^.PtrComp == PtrGlob^.PtrComp *)
IF Discr = dry2.Ident1 THEN
(* then, executed *)
IntComp := 6;
dry2.Proc6 (PtrValPar^.EnumComp, EnumComp);
PtrComp := dry2.PtrGlob^.PtrComp;
dry2.Proc7 (IntComp, 10, IntComp);
ELSE
(* not executed *)
PtrValPar^ := PtrValPar^.PtrComp^;
END;
END;
END Proc1;
PROCEDURE Proc2 (VAR IntParRef: INTEGER);
(* executed once *)
(* *IntParRef == 1, becomes 4 *)
VAR
IntLoc: INTEGER;
EnumLoc: dry2.Enumeration;
BEGIN
IntLoc := IntParRef + 10;
REPEAT (* executed once *)
IF dry2.Ch1Glob = 'A' THEN
(* then, executed *)
DEC (IntLoc);
IntParRef := IntLoc - dry2.IntGlob;
EnumLoc := dry2.Ident1;
END;
UNTIL EnumLoc = dry2.Ident1; (* true *)
END Proc2;
PROCEDURE Proc3 (VAR PtrRefPar: dry2.RecPointer);
(* executed once *)
(* PtrRefPar becomes PtrGlob *)
BEGIN
IF dry2.PtrGlob # NIL THEN
(* then, executed *)
PtrRefPar := dry2.PtrGlob^.PtrComp;
END;
dry2.Proc7 (10, dry2.IntGlob, dry2.PtrGlob^.IntComp);
END Proc3;
PROCEDURE Proc4; (* without parameters *)
(* executed once *)
VAR
BoolLoc: BOOLEAN;
BEGIN
BoolLoc := dry2.Ch1Glob = 'A';
dry2.BoolGlob := BoolLoc OR dry2.BoolGlob;
dry2.Ch2Glob := 'B';
END Proc4;
PROCEDURE Proc5; (* without parameters *)
(* executed once *)
BEGIN
dry2.Ch1Glob := 'A';
dry2.BoolGlob := FALSE;
END Proc5;
END dry1.