unit1.pas

来自「用delphi+indy写的一个传送文件的范例。」· PAS 代码 · 共 77 行

PAS
77
字号
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.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?