www.pudn.com > StreamSend.rar > unit1.pas


unit Unit1; 
 
interface 
 
uses 
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, 
  IdBaseComponent, IdComponent, IdTCPServer, StdCtrls, ComCtrls, 
  UPTTreeList, UPTShellControls, IdUDPBase, IdUDPServer, IdTrivialFTPServer; 
 
type 
  TForm1 = class(TForm) 
    srv: TIdTCPServer; 
    Memo1: TMemo; 
    Label1: TLabel; 
    Label2: TLabel; 
    PTShellList1: TPTShellList; 
    ftp: TIdTrivialFTPServer; 
    procedure FormCreate(Sender: TObject); 
    procedure srvConnect(AThread: TIdPeerThread); 
    procedure srvDisconnect(AThread: TIdPeerThread); 
    procedure srvExecute(AThread: TIdPeerThread); 
  private 
    l_sessions: integer; 
    procedure SetSessions(Value: integer); 
    { Private declarations } 
  public 
    property Sessions: integer read l_sessions write SetSessions; 
    { Public declarations } 
  end; 
 
var 
  Form1: TForm1; 
procedure Addmsg(Msg: string); 
 
implementation 
uses srvproc; 
{$R *.DFM} 
 
procedure TForm1.FormCreate(Sender: TObject); 
begin 
  srv.active := true; 
  l_sessions := 0; 
end; 
 
procedure Addmsg(Msg: string); 
begin 
  with form1 do begin 
    if memo1.lines.count > 200 then 
      memo1.lines.clear; 
    memo1.lines.add(msg); 
  end; 
end; 
 
procedure TForm1.srvConnect(AThread: TIdPeerThread); 
begin 
  sessions := sessions + 1; 
end; 
 
procedure TForm1.srvDisconnect(AThread: TIdPeerThread); 
begin 
  sessions := sessions - 1; 
end; 
 
procedure TForm1.SetSessions(Value: integer); 
begin 
  l_Sessions := value; 
  label2.caption := inttostr(value); 
end; 
 
procedure TForm1.srvExecute(AThread: TIdPeerThread); 
begin 
  ProcSession(athread); 
end; 
 
end.