Вот код
| Код | unit Unit1;
interface
uses SysUtils, ExtCtrls, StdCtrls, Classes, ActnList, Controls, ComCtrls, IdBaseComponent, IdComponent, IdTCPServer, IdTelnetServer, Forms, Dialogs;
type TForm1 = class(TForm) IdTelnetServer1: TIdTelnetServer; RichEdit1: TRichEdit; Label1: TLabel; Panel1: TPanel; ActionList1: TActionList; Action1: TAction; ScrollBox1: TScrollBox; Panel2: TPanel; GroupBox1: TGroupBox; Label2: TLabel; Label3: TLabel; Button1: TButton; Timer1: TTimer; procedure Timer1Timer(Sender: TObject); procedure Action1Execute(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure IdTelnetServer1Connect(AThread: TIdPeerThread); procedure IdTelnetServer1Disconnect(AThread: TIdPeerThread); procedure IdTelnetServer1Execute(AThread: TIdPeerThread); private { Private declarations } public { Public declarations } Procedure LogAdd(Str: string); end;
var Form1: TForm1; bSrvStatus: Boolean; b1_BoolInt: Byte;
Const srvOnOfStr: Array[0..3] Of String = ('Disabled', 'Enabled', 'Connect', 'Disconnect');
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject); begin // Подготолвить значения bSrvStatus := idTelnetServer1.Active; If bSrvStatus Then b1_BoolInt := 1 Else b1_BoolInt := 0; // Вкл./Откл и статус.... Label3.Caption := srvOnOfStr[b1_BoolInt]; Action1.Caption := srvOnOfStr[b1_BoolInt + $02]; end;
procedure TForm1.Action1Execute(Sender: TObject); begin IdTelnetServer1.Active := Not IdTelnetServer1.Active; Timer1Timer(Nil); LogAdd('Server now ' + srvOnOfStr[b1_BoolInt]); end;
Procedure TForm1.LogAdd(Str: string); Begin RichEdit1.Lines.Insert(0, TimeToStr(Now) + ' -> ' + Str); End;
procedure TForm1.IdTelnetServer1Execute(AThread: TIdPeerThread); begin LogAdd('Event On@Execute by=' + AThread.Connection.Socket.Binding.PeerIP); AThread.Connection.InputLn(); end;
end.
|
|