ok dann versuche ich mal etwas ausführlicher zu werden
Delphi-Quellcode:
uses MainformU;
procedure server;
begin
frmServer.Port.Text := '55555';
frmServer.Server.Port := strtoint (frmServer.Port.Text);
frmServer.Server.Active := True;
end;
procedure TfrmServer.FormCreate(Sender: TObject);
begin
Port.Text := '55555';
end;
procedure TfrmServer.FormDestroy(Sender: TObject);
begin
Server.Active := False;
end;
procedure TfrmServer.ServerClientConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
Memo1.Lines.Add('Status: Client ' + Socket.RemoteAddress + ' verbunden.');
Userzahl:=Userzahl +1;
User.Caption:='User: ' + IntToStr(Userzahl);
end;
procedure TfrmServer.ServerClientDisconnect(Sender: TObject; Socket: TCustomWinSocket);
begin
Memo1.Lines.Add('Status: Client ' + Socket.RemoteAddress + ' getrennt.');
Userzahl:=Userzahl -1;
User.Caption:='User: ' + IntToStr(Userzahl);
end;
procedure TfrmServer.ServerClientError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer);
begin
Memo1.Lines.Add('Status: Client ' + Socket.RemoteAddress + 'hat den Fehler: ' + inttostr(Errorcode));
Userzahl:=Userzahl -1;
User.Caption:='User: ' + IntToStr(Userzahl);
end;
procedure TfrmServer.ServerClientRead(Sender: TObject; Socket: TCustomWinSocket);
var i:integer;
Nachricht:AnsiString;
begin
Nachricht:=Socket.RemoteAddress + ': ' + Socket.ReceiveText;
Memo1.Lines.Add(Nachricht);
for i := 0 to Server.Socket.ActiveConnections -1 do
Server.Socket.Connections[i].SendText(Nachricht);
end;
procedure TfrmServer.BtnAnhaltenClick(Sender: TObject);
begin
Server.Port := strtoint (Port.Text);
Server.Active := False;
BtnStarten.Enabled := True;
BtnAnhalten.Enabled := False;
Memo1.Lines.Add('Status: Server angehalten.');
end;
procedure TfrmServer.BtnClearClick(Sender: TObject);
begin
Memo1.Lines.Clear;
Memo1.Lines.Add('Server 1.0');
end;
procedure TfrmServer.BtnSendenClick(Sender: TObject);
var i:Integer;
begin
for i := 0 to Server.Socket.ActiveConnections -1 do
Server.Socket.Connections[i].SendText('Nachricht vom Server: ' + EdSenden.Text);
Memo1.Lines.Add('Nachricht vom Server: ' + EdSenden.Text);
end;
procedure TfrmServer.BtnStartenClick(Sender: TObject);
begin
Server.Port := strtoint (Port.Text);
Server.Active := True;
BtnStarten.Enabled := False;
BtnAnhalten.Enabled := True;
Memo1.Lines.Add('Status: Server gestartet.');
end;
end.
Das ist mein Server.
Dann habe ich eine
Unit MainForm, in dieser Mainform befindet sich ein EditFeld, in diesem EditFeld können die Benutzer Ihren Nickname eingeben.
Nun möchte ich, wenn sich z.B. 20 Leute "einloggen" dass bei jedem diese 20 Namen in der ListBox, die sich auch auf dieser MainForm befindet angezeigt wird.
Nun möchte ich nur noch die ServerListe abfragen und diese dann in der ListBox speichern.