MONITOR.MOD 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. (* Release 3.10 *)
  2. (*-------------------------------------------------------------------------*
  3. * *
  4. * MONITOR.MOD - COMMS Toolkit RS232 line monitors *
  5. * *
  6. * COPYRIGHT (C) 1990..1992 Clarion Software Corporation. *
  7. * All Rights Reserved *
  8. * *
  9. *--------------------------------------------------------------------------*)
  10. IMPLEMENTATION MODULE Monitor;
  11. IMPORT FIO,RS232,FTSupport;
  12. CONST
  13. TestFileName = 'E:\TEST.232';
  14. VAR
  15. TestFile : FIO.File;
  16. RxChain : RS232.RxHookProc;
  17. TxChain : RS232.TxHookProc;
  18. PROCEDURE RxProc(VAR ch:CHAR);
  19. BEGIN
  20. FIO.WrChar(TestFile,ch);
  21. FIO.WrChar(TestFile,'');
  22. IF RxChain # NULLPROC THEN
  23. RxChain(ch);
  24. END; (*IF*)
  25. END RxProc;
  26. (*# save,call(o_a_copy=>off),check(index=>off)*)
  27. PROCEDURE TxProc(VAR Stg:ARRAY OF CHAR;VAR Len:CARDINAL);
  28. VAR
  29. i : CARDINAL;
  30. BEGIN
  31. FOR i := 0 TO Len - 1 DO
  32. FIO.WrChar(TestFile,Stg[i]);
  33. FIO.WrChar(TestFile,'');
  34. END; (*FOR*)
  35. IF TxChain # NULLPROC THEN
  36. TxChain(Stg,Len);
  37. END; (*IF*)
  38. END TxProc;
  39. (*# restore *)
  40. BEGIN (*Monitor*)
  41. TestFile := FIO.Create(TestFileName);
  42. RS232.AddRxHook(RxProc,RxChain);
  43. RS232.AddTxHook(TxProc,TxChain);
  44. FTSupport.HookOnFT := TRUE;
  45. END Monitor.
  46.