home *** CD-ROM | disk | FTP | other *** search
/ Delphi Anthology / aDELPHI.iso / Runimage / Delphi50 / Demos / FastNet / Msg / msgdem.pas < prev    next >
Pascal/Delphi Source File  |  1999-08-11  |  5KB  |  150 lines

  1. ///////////////////////////////////////////////////////////////////////////
  2. //                                                                       //
  3. // Copyright ⌐ 1997-1998, NetMasters, L.L.C                              //
  4. //  - All rights reserved worldwide. -                                   //
  5. //  Portions may be Copyright ⌐ Inprise.                                 //
  6. //                                                                       //
  7. // Message Client/Server Demo Unit 1:  (UNIT1.PAS)                       //
  8. //                                                                       //
  9. // DESCRIPTION:                                                          //
  10. //                                                                       //
  11. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY //
  12. // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE   //
  13. // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR //
  14. // PURPOSE.                                                              //
  15. //                                                                       //
  16. ///////////////////////////////////////////////////////////////////////////
  17. //
  18. // Revision History
  19. //
  20. //                                                                       //
  21. ///////////////////////////////////////////////////////////////////////////
  22. unit msgdem;
  23.  
  24. interface
  25.  
  26. uses
  27.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  28.   StdCtrls, ExtCtrls, Psock, NMMSG, ComCtrls, ScktComp;
  29.  
  30. type
  31.   TForm1 = class(TForm)
  32.     Panel1: TPanel;
  33.     Memo1: TMemo;
  34.     Edit1: TEdit;
  35.     NMMsg1: TNMMsg;
  36.     NMMSGServ1: TNMMSGServ;
  37.     Label1: TLabel;
  38.     Edit2: TEdit;
  39.     Label2: TLabel;
  40.     Edit3: TEdit;
  41.     StatusBar1: TStatusBar;
  42.     Label3: TLabel;
  43.     ClientSocket1: TClientSocket;
  44.     procedure Panel1Resize(Sender: TObject);
  45.     procedure Edit1KeyPress(Sender: TObject; var Key: Char);
  46.     procedure NMMSGServ1MSG(Sender: TComponent; const sFrom, sMsg: String);
  47.     procedure NMMsg1MessageSent(Sender: TObject);
  48.     procedure NMMsg1Connect(Sender: TObject);
  49.     procedure NMMsg1ConnectionFailed(Sender: TObject);
  50.     procedure NMMsg1Disconnect(Sender: TObject);
  51.     procedure NMMsg1HostResolved(Sender: TComponent);
  52.     procedure NMMsg1Status(Sender: TComponent; Status: String);
  53.     procedure NMMsg1InvalidHost(var handled: Boolean);
  54.     procedure NMMSGServ1ClientContact(Sender: TObject);
  55.     procedure NMMSGServ1Status(Sender: TComponent; Status: String);
  56.   private
  57.     { Private declarations }
  58.   public
  59.     { Public declarations }
  60.   end;
  61.  
  62. var
  63.   Form1: TForm1;
  64.  
  65. implementation
  66.  
  67. {$R *.DFM}
  68.  
  69. procedure TForm1.Panel1Resize(Sender: TObject);
  70. begin
  71.   Edit1.Left := 8;
  72.   Edit1.Width := Panel1.Width - 16;
  73.   Label1.Left := 8;
  74.   Edit2.Left := 67;
  75. end;
  76.  
  77. procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
  78. begin
  79.   If Key = #13 then
  80.   Begin
  81.     NMMsg1.Host := Edit3.Text;
  82.     NMMsg1.FromName := Edit2.Text;
  83.     NMMsg1.PostIt(Edit1.Text);
  84.   End;
  85. end;
  86.  
  87. procedure TForm1.NMMSGServ1MSG(Sender: TComponent; const sFrom,
  88.   sMsg: String);
  89. begin
  90.   Memo1.Lines.Add(sFrom+'::'+sMsg);
  91. end;
  92.  
  93. procedure TForm1.NMMsg1MessageSent(Sender: TObject);
  94. begin
  95.   ShowMessage('Message sent!');
  96. end;
  97.  
  98. procedure TForm1.NMMsg1Connect(Sender: TObject);
  99. begin
  100.   StatusBar1.SimpleText := 'Connected';
  101. end;
  102.  
  103. procedure TForm1.NMMsg1ConnectionFailed(Sender: TObject);
  104. begin
  105.   ShowMessage('Connection Failed');
  106. end;
  107.  
  108. procedure TForm1.NMMsg1Disconnect(Sender: TObject);
  109. begin
  110.   If StatusBar1 <> nil then
  111.     StatusBar1.SimpleText := 'Disconnected';
  112. end;
  113.  
  114. procedure TForm1.NMMsg1HostResolved(Sender: TComponent);
  115. begin
  116.   StatusBar1.SimpleText := 'Host Resolved';
  117. end;
  118.  
  119. procedure TForm1.NMMsg1Status(Sender: TComponent; Status: String);
  120. begin
  121.   If StatusBar1 <> nil then
  122.     StatusBar1.SimpleText := status;
  123. end;
  124.  
  125. procedure TForm1.NMMsg1InvalidHost(var handled: Boolean);
  126. var
  127.   TmpStr: String;
  128. begin
  129.   If InputQuery('Invalid Host!', 'Specify a new host:', TmpStr) then
  130.   Begin
  131.     NMMsg1.Host := TmpStr;
  132.     Handled := TRUE;
  133.   End;
  134. end;
  135.  
  136. procedure TForm1.NMMSGServ1ClientContact(Sender: TObject);
  137. begin
  138.   NMMsgServ1.ReportLevel := Status_Basic;
  139.   NMMsgServ1.TimeOut := 90000;
  140.   StatusBar1.SimpleText := 'Client connected';
  141. end;
  142.  
  143. procedure TForm1.NMMSGServ1Status(Sender: TComponent; Status: String);
  144. begin
  145.   If StatusBar1 <> nil then
  146.     StatusBar1.SimpleText := status;
  147. end;
  148.  
  149. end.
  150.