home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 24 / CD_ASCQ_24_0995.iso / vrac / apdtr.zip / EXTRIG0.PAS < prev    next >
Pascal/Delphi Source File  |  1995-05-22  |  2KB  |  94 lines

  1. unit Extrig0;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, WinTypes, WinProcs, WinCrt, Messages, Classes, Graphics,
  7.   Controls, Forms, Dialogs, StdCtrls, AdPort;
  8.  
  9. type
  10.   TExTrigTest = class(TForm)
  11.     ComPort1: TComPort;
  12.     StartTest: TButton;
  13.     Label1: TLabel;
  14.     procedure ComPort1TriggerAvail(CP: TObject; Count: Word);
  15.     procedure ComPort1TriggerData(CP: TObject; TriggerHandle, Len: Word);
  16.     procedure ComPort1TriggerTimer(CP: TObject; TriggerHandle: Word);
  17.     procedure StartTestClick(Sender: TObject);
  18.   private
  19.     { Private declarations }
  20.     TimerHandle : Word;
  21.     DataHandle  : Word;
  22.   public
  23.     { Public declarations }
  24.   end;
  25.  
  26. var
  27.   ExTrigTest: TExTrigTest;
  28.  
  29. implementation
  30.  
  31. {$R *.DFM}
  32.  
  33. procedure WriteIt(C : Char);
  34. begin
  35.   if Ord(C) > 32 then
  36.     Write(C)
  37.   else
  38.     Write('[', Ord(C), ']');
  39. end;
  40.  
  41. procedure TExTrigTest.ComPort1TriggerAvail(CP: TObject; Count: Word);
  42. var
  43.   I : Word;
  44.   C : Char;
  45. begin
  46.   WriteLn('Got data available, ', Count, ' bytes received');
  47.   for I := 1 to Count do begin
  48.     C := ComPort1.GetChar;
  49.     WriteIt(C);
  50.   end;
  51.   WriteLn;
  52.   WriteLn('--------');
  53. end;
  54.  
  55. procedure TExTrigTest.ComPort1TriggerData(CP: TObject; TriggerHandle,
  56.                                           Len: Word);
  57. var
  58.   I : Word;
  59.   C : Char;
  60. begin
  61.   WriteLn('Got data trigger, ', TriggerHandle, ' for ', Len, ' bytes');
  62.   for I := 1 to Len do begin
  63.     C := ComPort1.GetChar;
  64.     WriteIt(C);
  65.   end;
  66.   WriteLn;
  67.   WriteLn('--------');
  68. end;
  69.  
  70. procedure TExTrigTest.ComPort1TriggerTimer(CP: TObject;
  71.   TriggerHandle: Word);
  72. begin
  73.   WriteLn('Got timer trigger ', TriggerHandle);
  74. end;
  75.  
  76. procedure TExTrigTest.StartTestClick(Sender: TObject);
  77. begin
  78.   ComPort1.ChangeLengthTrigger(1);
  79.   TimerHandle := ComPort1.AddTimerTrigger;
  80.   ComPort1.SetTimerTrigger(TimerHandle, 91, True);
  81.  
  82.   (*
  83.   StatusHandle := ComPort1.AddStatusTrigger(stOutBuffUsed);
  84.   ComPort.SetStatusTrigger(StatusHandle, 5, True);
  85.   *)
  86.  
  87.   DataHandle := ComPort1.AddDataTrigger('OK', True);
  88.  
  89.   {Send a string to a modem that will hit all triggers}
  90.   ComPort1.PutString('ATI'^M);
  91. end;
  92.  
  93. end.
  94.