nit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdSocketHandle, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdUDPBase, IdUDPClient, ExtCtrls, IdUDPServer , IdTCPServer, jpeg, Buttons, FileCtrl, WinSock; type TForm1 = class (TForm) Button1: TButton; s: TIdUDPServer; c: TIdUDPClient; Eip: TEdit; Timer1: TTimer; Timer2: TTimer; Memo1: TMemo; Image1: TImage; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Eip2: TEdit; Label5: TLabel; Eport: TEdit; Button2: TButton; Button3: TButton; Bevel1: TBevel; procedure Button1Click (Sender: TObject); procedure sUDPRead (Sender: TObject; AData: TStream; ABinding: TIdSocketHandle); procedure Timer1Timer (Sender: TObject); procedure Timer2Timer (Sender: TObject); procedure Button2Click (Sender: TObject); procedure s2UDPRead (Sender: TObject; AData: TStream; ABinding : TIdSocketHandle); procedure FormCreate (Sender: TObject); procedure Button3Click (Sender: TObject); var i: integer; mas: array [0 .. 1000] of char; str, pg: string; begin if numP <> 0 then begin if ncs = 1 then Memo1.Lines.Add ('Ïîäêëþ Г· ГҐГГЁГҐ ГЄ ñåðâåðó 1 âîñòà ГîâëåГГГ®') else Memo1.Lines.Add ("Ïîäêëþ Г· ГҐГГЁГҐ ГЄ ñåðâåðó 2 âîñòà ГîâëåГГГ® '); end; numP: = 0; timer2.Enabled: = false; Adata . Read (mas, 100); for i: = 0 to 1000 do begin if mas [i] <>'' then str: = str + mas [i] else break; end; if mas [0] = ' z 'then begin if mas [1] =' d 'then Image1.Picture.LoadFromFile (' d.jpg '); if mas [1] =' p 'then Image1.Picture.LoadFromFile (' p.jpg '); if mas [1] = 's' then Image1.Picture.LoadFromFile ('s.jpg'); if mas [1] = 'o' then Image1.Picture.LoadFromFile ('o.jpg'); for i: = 2 to 1000 do begin if mas [i] <> '#' then pg: = pg + mas [i] else break; end; label1.Caption: = pg; end; end; procedure TForm1.Timer1Timer (Sender: TObject); begin// c.Host: = eip.Text; c.Port: = strtoint (eport.text); c.Active: = true; c.Send ('p' + Mip + '!'); c. Active: = false; timer2.Enabled: = true; private function GetLocalIP: String; {Private declarations} public {Public declarations} Mip: string; ncs: byte; end; var Form1: TForm1; numP: byte; implementation {$ R *. dfm} function TForm1.GetLocalIP: String; const WSVer = $ 101; var wsaData: TWSAData; P: PHostEnt; Buf: array [0 .. 127] of Char; begin Result: =''; if WSAStartup (WSVer, wsaData ) = 0 then begin if GetHostName (@ Buf, 128) = 0 then begin P: = GetHostByName (@ Buf); if P <> nil then Result: = iNet_ntoa (PInAddr (p ^. h_addr_list ^) ^); end; WSACleanup; end; end; procedure TForm1.Button1Click (Sender: TObject); begin c.Port: = strtoint (eport.text); c.Active: = true; c.Send ('z' + GetLocalIP); c . Ac...