3 #include "classes/ansi.inc"
6 unit ekran : ANSI process(node:integer;rozm:rozmowca);
8 unit rejestruj : procedure(r:rozmowca);
13 unit odbior_zdalny : procedure(s:char);
15 call GotoXy(hy, hisline);
19 if s=chr(13) then hisline := hisline + 1;hy:=1; fi;
20 if hy = 80 then hy := 1; hisline:=hisline+1 fi;
24 (* call Rect(1,1,11,80); *)
28 unit odbior_lokalny : procedure(s:char);
30 call GotoXY(my, myline);
33 if s=chr(13) then myline := myline + 1;my:=1; fi;
34 if my = 80 then my := 1; myline := myline+1 fi;
37 (* call Rect(13,1,24,80); *)
41 unit kasuj_lokalny : procedure;
44 if my<0 then my := 0 fi;
45 call GotoXY(my, myline);
49 unit kasuj_zdalny : procedure;
52 if hy<0 then hy := 0 fi;
53 call GotoXY(hy, hisline);
58 unit koniec : procedure;
64 myline,hisline,my,hy:integer,
77 write("-------------------------ESC - koniec ----------------------------");
82 accept odbior_lokalny, odbior_zdalny, kasuj_lokalny, kasuj_zdalny, koniec;
89 (*---------------------------------*)
91 unit rozmowca : IIUWgraph process(node: integer;el,ez:ekran);
93 var knc:boolean, s:char, i:integer;
95 unit koniec : procedure;
111 call el.kasuj_lokalny;
112 call ez.kasuj_zdalny;
114 call el.odbior_lokalny(s);
115 call ez.odbior_zdalny(s);
130 e1 := new ekran(0,none);
132 e2 := new ekran(1,none);
134 p1 := new rozmowca(0,e1,e2);
135 p2 := new rozmowca(1,e2,e1);
136 call e1.rejestruj(p1);
137 call e2.rejestruj(p2);