procedure TForm1.Beenden1Click(Sender: TObject);
begin
ServerSocket.active:=false;
//server schließen
ClientSocket.active:=false;
//client schließen
close
end;
procedure TForm1.StartButtonClick(Sender: TObject);
begin
nick:=nickEdit.text;
Timer.Enabled:=true;
GroupBox1.Visible:=false;
ChatGB.Visible:=true;
//server
ServerSocket.Port := 23;
//Festlegung des Ports
ServerSocket.active := true;
//Aktivierung der ServerSocket
//client
if ip1Edit.text<>'
'
then begin
ClientSocket.Port := 23;
//Festlegung des Ports
ClientSocket.Host := ip1Edit.text;
//IP des Zielrechners
try
ClientSocket.active := true;
//Aufbau der Verbindung ?
finally
ClientSocket.active := true;
//Aufbau der Verbindung
end;
end;
if ip2Edit.text<>'
'
then begin
ClientSocket1.Port := 23;
//Festlegung des Ports
ClientSocket1.Host := ip2Edit.text;
//IP des Zielrechners
try
ClientSocket1.active := true;
//Aufbau der Verbindung ?
finally
ClientSocket1.active := true;
//Aufbau der Verbindung
end;
end;
if ip3Edit.text<>'
'
then begin
ClientSocket2.Port := 23;
//Festlegung des Ports
ClientSocket2.Host := ip3Edit.text;
//IP des Zielrechners
try
ClientSocket2.active := true;
//Aufbau der Verbindung ?
finally
ClientSocket2.active := true;
//Aufbau der Verbindung
end;
end;
if ip4Edit.text<>'
'
then begin
ClientSocket3.Port := 23;
//Festlegung des Ports
ClientSocket3.Host := ip4Edit.text;
//IP des Zielrechners
try
ClientSocket3.active := true;
//Aufbau der Verbindung ?
finally
ClientSocket3.active := true;
//Aufbau der Verbindung
end;
end;
end;
procedure TForm1.ServerSocketClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo.Lines.Add(Socket.ReceiveText);
//Texteingang von Clients
end;
procedure TForm1.OKButtonClick(Sender: TObject);
var text:
string;
begin
text:='
['+nick+'
]: '+TextEdit.text;
//nick in chat eingefügt
Memo.Lines.Add(text);
if ClientSocket.Active
then
ClientSocket.Socket.SendText(text);
//senden der Nachricht 1
if ClientSocket1.Active
then
ClientSocket1.Socket.SendText(text);
//senden der Nachricht 2
if ClientSocket2.Active
then
ClientSocket2.Socket.SendText(text);
//senden der Nachricht 3
if ClientSocket3.Active
then
ClientSocket3.Socket.SendText(text);
//senden der Nachricht 4
TextEdit.Text:='
';
end;
procedure TForm1.aktualisieren1Click(Sender: TObject);
begin
x:=9
end;
procedure TForm1.FormKeyDown(Sender: TObject;
var Key: Word;
Shift: TShiftState);
begin
case Key
of // abfrage welche taste****
VK_RETURN:
// return
begin
OKButton.Click;
Key:=0;
// Taste auf 0 gesetzt
end;
end;
end;
procedure TForm1.Clienthinzufgen1Click(Sender: TObject);
begin
GroupBox1.Visible:=true;
ChatGB.Visible:=false;
Timer.enabled:=false;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
x:=9;
Form1.StatusBar1.Panels[0].Text:= '
LAN-chat';
Form1.StatusBar1.Panels[1].Text:= '
v 1.0';
Form1.StatusBar1.Panels[2].Text:= '
(c) Ppirokke';
Form1.StatusBar1.Panels[3].Text:= '
@ beta';
end;
procedure TForm1.TimerTimer(Sender: TObject);
begin
x:=x+1;
if x=10
then
begin
if ip1Edit.text<>'
'
then begin
ClientSocket.Port := 23;
//Festlegung des Ports
ClientSocket.Host := ip1Edit.text;
//IP des Zielrechners
try
ClientSocket.active := true;
//Aufbau der Verbindung ?
finally
ClientSocket.active := true;
//Aufbau der Verbindung
end;
end;
if ip2Edit.text<>'
'
then begin
ClientSocket1.Port := 23;
//Festlegung des Ports
ClientSocket1.Host := ip2Edit.Text;
//IP der Verbindung
try
ClientSocket1.active := true;
//Aufbau der Verbindung ?
finally
ClientSocket1.active := true;
//Aufbau der Verbindung
end;
end;
if ip3Edit.text<>'
'
then begin
ClientSocket2.Port := 23;
//Festlegung des Ports
ClientSocket2.Host := ip3Edit.text;
//IP des Zielrechners
try
ClientSocket2.active := true;
//Aufbau der Verbindung ?
finally
ClientSocket2.active := true;
//Aufbau der Verbindung
end;
end;
if ip4Edit.text<>'
'
then begin
ClientSocket3.Port := 23;
//Festlegung des Ports
ClientSocket3.Host := ip4Edit.text;
//IP des Zielrechners
try
ClientSocket3.active := true;
//Aufbau der Verbindung ?
finally
ClientSocket3.active := true;
//Aufbau der Verbindung
end;
end;
x:=1;
Form1.StatusBar1.Panels[4].Text:= '
Aktualisierung läuft';
end;
if x=2
then
Form1.StatusBar1.Panels[4].Text:= '
';
end;
procedure TForm1.ClientSocket3Error(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
MemoFail.Lines.Add(ip4Edit.text+'
Antw. nicht');
end;
procedure TForm1.ClientSocket2Error(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
MemoFail.Lines.Add(ip3Edit.text+'
Antw. nicht');
end;
procedure TForm1.ClientSocket1Error(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
MemoFail.Lines.Add(ip2Edit.text+'
Antw. nicht');
end;
procedure TForm1.ClientSocketError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
MemoFail.Lines.Add(ip1Edit.text+'
Antw. nicht');
end;
end.