program remote; unit MyProcess:process(n:integer); var koniec:boolean; unit Destroy:procedure; begin koniec:=TRUE; end Destroy; unit WriteChar:procedure(a:char); begin write(a); end WriteChar; begin koniec:=FALSE; enable Destroy; writeln("READY"); return; while not koniec do accept WriteChar; od; writeln; writeln("END"); end MyProcess; var p:MyProcess,i:integer; begin pref IIUWGRAPH block begin p:=new MyProcess(5); resume(p); i:=inkey; while i<>ord('q') do if i<>0 then call p.WriteChar(chr(i)); write(chr(i)); fi; i:=inkey; od; call p.Destroy; end; end.