home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 26 / CD_ASCQ_26_1295.iso / vrac / caterm.zip / CATETERM.PAS < prev    next >
Pascal/Delphi Source File  |  1995-07-20  |  4KB  |  148 lines

  1. unit CateTerm;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  7.     Forms, Dialogs, Cate, StdCtrls;
  8.  
  9. type
  10.     TCateMain = class(TForm)
  11.     Memo1: TMemo;
  12.     CateComm: TCate;
  13.         procedure CateCommBreak(Sender: TObject; CommEvent: TCommEvents);
  14.         procedure CateCommCts(Sender: TObject; CommEvent: TCommEvents);
  15.         procedure CateCommCtss(Sender: TObject; CommEvent: TCommEvents);
  16.         procedure CateCommDsr(Sender: TObject; CommEvent: TCommEvents);
  17.         procedure CateCommErr(Sender: TObject; CommEvent: TCommEvents);
  18.         procedure CateCommPErr(Sender: TObject; CommEvent: TCommEvents);
  19.         procedure CateCommReceive(Sender: TObject; Count: Word);
  20.         procedure CateCommRing(Sender: TObject; CommEvent: TCommEvents);
  21.         procedure CateCommRingTE(Sender: TObject; CommEvent: TCommEvents);
  22.         procedure CateCommRlsd(Sender: TObject; CommEvent: TCommEvents);
  23.         procedure CateCommRlsds(Sender: TObject; CommEvent: TCommEvents);
  24.         procedure CateCommRxChar(Sender: TObject; CommEvent: TCommEvents);
  25.         procedure CateCommRxFlag(Sender: TObject; CommEvent: TCommEvents);
  26.         procedure CateCommTransmit(Sender: TObject; Count: Word);
  27.         procedure CateCommTxEmpty(Sender: TObject; CommEvent: TCommEvents);
  28.         procedure Memo1KeyPress(Sender: TObject; var Key: Char);
  29.         procedure Memo1Enter(Sender: TObject);
  30.   private
  31.         { Private declarations }
  32.     SendBuffer: array[0..255] of char;
  33.   public
  34.     { Public declarations }
  35.   end;
  36.  
  37. var
  38.     CateMain: TCateMain;
  39.  
  40. implementation
  41.  
  42. {$R *.DFM}
  43.  
  44. procedure TCateMain.CateCommBreak(Sender: TObject; CommEvent: TCommEvents);
  45. begin
  46.     Memo1.Lines.Add ('Got a EV_BREAK event');
  47. end;
  48.  
  49. procedure TCateMain.CateCommCts(Sender: TObject; CommEvent: TCommEvents);
  50. begin
  51.     Memo1.Lines.Add ('Got a EV_CTS event');
  52. end;
  53.  
  54. procedure TCateMain.CateCommCtss(Sender: TObject; CommEvent: TCommEvents);
  55. begin
  56.     Memo1.Lines.Add ('Got a EV_CTSS event');
  57. end;
  58.  
  59. procedure TCateMain.CateCommDsr(Sender: TObject; CommEvent: TCommEvents);
  60. begin
  61.     Memo1.Lines.Add ('Got a EV_DSR event');
  62. end;
  63.  
  64. procedure TCateMain.CateCommErr(Sender: TObject; CommEvent: TCommEvents);
  65. begin
  66.     Memo1.Lines.Add ('Got an EV_ERR event');
  67. end;
  68.  
  69. procedure TCateMain.CateCommPErr(Sender: TObject; CommEvent: TCommEvents);
  70. begin
  71.     Memo1.Lines.Add ('Got a EV_PERR event');
  72. end;
  73.  
  74. procedure TCateMain.CateCommReceive(Sender: TObject; Count: Word);
  75. var
  76.     ReceivedData: array[0..255] of char;
  77.     Index: Integer;
  78. begin
  79.     for Index := 0 to 255 do                {Clear ReceiveData array prior to getting port data}
  80.         ReceivedData[Index] := #0;
  81.     CateComm.Read(@ReceivedData, 255);
  82.     Memo1.Lines.Add(StrPas(ReceivedData));
  83. end;
  84.  
  85. procedure TCateMain.CateCommRing(Sender: TObject; CommEvent: TCommEvents);
  86. begin
  87.     Memo1.Lines.Add ('Got a EV_RING event');
  88. end;
  89.  
  90. procedure TCateMain.CateCommRlsd(Sender: TObject; CommEvent: TCommEvents);
  91. begin
  92.     Memo1.Lines.Add ('Got a EV_RLSD event');
  93. end;
  94.  
  95. procedure TCateMain.CateCommRlsds(Sender: TObject;  CommEvent: TCommEvents);
  96. begin
  97.     Memo1.Lines.Add ('Got a EV_RLSDS event');
  98. end;
  99.  
  100. procedure TCateMain.CateCommRxChar(Sender: TObject;  CommEvent: TCommEvents);
  101. begin
  102.     Memo1.Lines.Add ('Got a EV_RXCHAR event');
  103. end;
  104.  
  105. procedure TCateMain.CateCommRxFlag(Sender: TObject;    CommEvent: TCommEvents);
  106. begin
  107.     Memo1.Lines.Add ('Got a EV_RXFLAG event');
  108. end;
  109.  
  110. procedure TCateMain.CateCommTransmit(Sender: TObject; Count: Word);
  111. begin
  112.     Memo1.Lines.Add ('Got a TRANSMIT event');
  113. end;
  114.  
  115. procedure TCateMain.CateCommTxEmpty(Sender: TObject;    CommEvent: TCommEvents);
  116. begin
  117.     Memo1.Lines.Add ('Got a EV_TXEMPTY event');
  118. end;
  119.  
  120. procedure TCateMain.CateCommRingTE(Sender: TObject;    CommEvent: TCommEvents);
  121. begin
  122.     Memo1.Lines.Add ('Got a EV_RINGTE event');
  123. end;
  124.  
  125. procedure TCateMain.Memo1KeyPress(Sender: TObject; var Key: Char);
  126. begin
  127.     if (Key = #10) or (Key = #13) then    {Send the string to port}
  128.     begin
  129.         StrCat(SendBuffer, @Key);                    {Perhaps not necessary?}
  130.         CateComm.Write(@SendBuffer, StrLen(SendBuffer));
  131.         Memo1Enter(Self);                                    {Shortcut to clear SendBuffer}
  132.     end else                                                        {Store character in string}
  133.     begin
  134.         StrCat(SendBuffer, @Key);
  135.     end;
  136. end;
  137.  
  138. procedure TCateMain.Memo1Enter(Sender: TObject);
  139. var
  140.     Index: Integer;
  141. begin
  142.     for Index := 0 to 255 do
  143.         SendBuffer[Index] := #0;
  144. end;
  145.  
  146. initialization
  147. end.
  148.