home *** CD-ROM | disk | FTP | other *** search
/ Mastering Visual Basic 6 / mastvb6.iso / leadtools / ocx32.lt / CLIENT.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1998-06-15  |  4.0 KB  |  160 lines

  1. unit Client;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   OleCtrls, LEAD, Menus, ExtCtrls, StdCtrls,LEADNet, ComCtrls, Buttons;
  8.  
  9. type
  10.   TClientForm = class(TForm)
  11.     Panel1: TPanel;
  12.     Panel2: TPanel;
  13.     Label2: TLabel;
  14.     TotalTime: TLabel;
  15.     Timer1: TTimer;
  16.     GroupBox1: TGroupBox;
  17.     ReceiveImages: TCheckBox;
  18.     SendImages: TCheckBox;
  19.     GroupBox2: TGroupBox;
  20.     ReceiveSound: TCheckBox;
  21.     SendSound: TCheckBox;
  22.     BitBtn1: TBitBtn;
  23.     LeadCtrl1: TLeadCtrl;
  24.     Inet: TLeadNetCtrl;
  25.     procedure FormCreate(Sender: TObject);
  26.     procedure LeadCtrl1Paint(Sender: TObject);
  27.     procedure Disconnect1Click(Sender: TObject);
  28.     procedure Timer1Timer(Sender: TObject);
  29.     procedure LeadCtrl1Click(Sender: TObject);
  30.     procedure ReceiveImagesClick(Sender: TObject);
  31.     procedure SendImagesClick(Sender: TObject);
  32.     procedure BitBtn1Click(Sender: TObject);
  33.     procedure SendSoundClick(Sender: TObject);
  34.     procedure ReceiveSoundClick(Sender: TObject);
  35.   private
  36.     { Private declarations }
  37.   public
  38.     bReceiveImages: Boolean;
  39.     bSendImages: Boolean;
  40.     bReceiveSound: Boolean;
  41.     hComputer: SmallInt;
  42.     ConnectTime: TDateTime;
  43.     bFirstBitmap: Boolean;
  44.     TotalSec: Word;
  45.     bBadClientFormat: Boolean;
  46.  
  47.   end;
  48.  
  49. var
  50.   ClientForm: TClientForm;
  51.  
  52. implementation
  53.  
  54. uses LEADDef, SDIMAIN;
  55.  
  56. {$R *.DFM}
  57.  
  58. procedure TClientForm.FormCreate(Sender: TObject);
  59. begin
  60.   ConnectTime:=Now;
  61.   LeadCtrl1.Left:=0;
  62.   LeadCtrl1.Top:=0;
  63.   bReceiveImages:=True;
  64.   bSendImages:=True;
  65.   bReceiveSound:=False;
  66.   LeadCtrl1.TextTop := 0;
  67.   LeadCtrl1.TextLeft := 0;
  68.   {Text alignment and angle}
  69.   LeadCtrl1.TextAlign := EFX_TEXTALIGN_HCENTER_VCENTER;
  70.   LeadCtrl1.TextAngle := 0;
  71.   LeadCtrl1.Font.Bold := 1;
  72.   {Text highlight color and style}
  73.   LeadCtrl1.TextHiliteColor := RGB(255, 255, 255);
  74.   LeadCtrl1.TextStyle := EFX_TEXTSTYLE_NORMAL;
  75.   LeadCtrl1.DrawFontColor := RGB(255,0,0);
  76.   LeadCtrl1.DrawPersistence := False;
  77.   bFirstBitmap:=False;
  78.   TotalSec:=0;
  79.   bSendImages:=True;
  80.   bBadClientFormat:=False;
  81. end;
  82.  
  83. procedure TClientForm.LeadCtrl1Paint(Sender: TObject);
  84. begin
  85.   if (not bReceiveImages) or (not bFirstBitmap) then
  86.    begin
  87.      LeadCtrl1.DrawText ('Not Receiving Images',0);
  88.    end;
  89. end;
  90.  
  91. procedure TClientForm.Disconnect1Click(Sender: TObject);
  92. begin
  93.   Timer1.Enabled:=False;
  94.   MainForm.CloseConnection(Inet,hComputer);
  95. end;
  96.  
  97. procedure TClientForm.Timer1Timer(Sender: TObject);
  98. var
  99.   tTime: TDateTime;
  100.   nTime: TDateTime;
  101.   Hour, Min, Sec, MSec: Word;
  102. begin
  103.   nTime:=Now;
  104.   tTime:=nTime - ConnectTime;
  105.   TotalTime.Caption:=FormatDateTime('hh:nn:ss',tTime);
  106.   DecodeTime(tTime, Hour, Min, Sec, MSec);
  107.   TotalSec:=TotalSec + (Hour*3600)+(Min*60)+Sec;
  108.   Application.ProcessMessages;
  109. end;
  110.  
  111. procedure TClientForm.LeadCtrl1Click(Sender: TObject);
  112. begin
  113.   MainForm.SendCommand(hComputer,'Test Message');
  114. end;
  115.  
  116. procedure TClientForm.ReceiveImagesClick(Sender: TObject);
  117. begin
  118.   bReceiveImages:=ReceiveImages.Checked;
  119.   if not bReceiveImages then
  120.    begin
  121.      LeadCtrl1.TextWidth := LeadCtrl1.DstWidth;
  122.      LeadCtrl1.TextHeight := LeadCtrl1.DstHeight;
  123.      LeadCtrl1.Refresh;
  124.      LeadCtrl1.DrawText ('Not Receiving Images',0);
  125.    end;
  126. end;
  127.  
  128. procedure TClientForm.SendImagesClick(Sender: TObject);
  129. begin
  130.   bSendImages:=SendImages.Checked;
  131.   if not SendImages.Checked then
  132.      MainForm.RemoveFromSendList(Inet,hComputer)
  133.   else
  134.      MainForm.AddToSendList(Inet,hComputer);
  135. end;
  136.  
  137. procedure TClientForm.BitBtn1Click(Sender: TObject);
  138. begin
  139.   MainForm.CloseConnection(Inet,hComputer);
  140.   Close;
  141. end;
  142.  
  143. procedure TClientForm.SendSoundClick(Sender: TObject);
  144. begin
  145.   if SendSound.Checked then
  146.     MainForm.AddToSoundList(hComputer)
  147.   else
  148.     MainForm.RemoveFromSoundList(hComputer);
  149. end;
  150.  
  151. procedure TClientForm.ReceiveSoundClick(Sender: TObject);
  152. begin
  153.   if ReceiveSound.Checked then
  154.     MainForm.ReceiveFrom(hComputer,True)
  155.   else
  156.     MainForm.ReceiveFrom(hComputer,False);
  157. end;
  158.  
  159. end.
  160.