unit u_main; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ScktComp; const SERVER_PORT = 6667; type TForm1 = class(TForm) lbl_host: TLabel; edt_host: TEdit; lbl_channel: TLabel; edt_channel: TEdit; lbl_nick: TLabel; edt_nick: TEdit; btn_connect: TButton; ClientSocket1: TClientSocket; Log: TMemo; procedure btn_connectClick(Sender: TObject); procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); procedure ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); procedure ClientSocket1Disconnect(Sender: TObject; Socket: TCustomWinSocket); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.btn_connectClick(Sender: TObject); begin if btn_connect.Caption = 'Verbinden' then begin if edt_host.Text <> '' then begin Log.Clear; ClientSocket1.Port := SERVER_PORT; ClientSocket1.Host := edt_host.text; ClientSocket1.Open; btn_connect.Caption := 'Trennen'; end end else if btn_connect.Caption = 'Trennen' then begin Log.Lines.Add('Test'); ClientSocket1.Close; btn_connect.Caption := 'Verbinden'; end end; procedure TForm1.ClientSocket1Disconnect(Sender: TObject; Socket: TCustomWinSocket); begin Log.Lines.Add('Verbindung getrennt.'); end; procedure TForm1.ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); begin Log.Clear; Log.Lines.Add('Verbindung zum Server '+edt_host.text+' hergestellt'); end; procedure TForm1.ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); begin if (ClientSocket1.Active) then ClientSocket1.Close; ErrorCode := 0; Log.Lines.Add('Verbindungsfehler!'); end; procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); begin Log.Lines.Add(Socket.ReceiveText); end; end.