Zitat von
Capa:
Mag sein das es für einige nicht die beste art ist einige sachen zu lösen aber ich bin auch für vorschläge offen
Jupp, da sind einige Sachen, die nicht so gut sind, aber das lässt sich ja ändern.
1.) Der Record TUserdata sollte in eine Klasse umgewandelt werden.
Damit würde Userid zu einer Funktion oder einem Property.
UserIP und UserPort sind ja schon vorhanden, also muss die Kombination aus beiden berechnet werden
Als Bonus würde ich noch LoginDateTime hinzubringen.
2.) Speicherung der Liste von TUserdata-Objekten.
Delphi-Quellcode:
TUserlist = class
// vorher
// Userdaten: array[1..250] of TUserdata;
// nachher
FUserdaten: TObjectList;
Damit ist die Anzahl der User praktisch unbegrenzt. procedure TUserlist.Clear wird überflüssig.
3.) der Parameter mylist:TListBox gehört nicht in die Klasse TUserlist.
Damit wird nur eine Komponente der Benutzeroberfläche mit der tieferliegenden Klasse verquickt.
In function TUserlist.ChangeNickName könnte man z.B. eine
Exception auslösen, wenn der neue Nickname schon vergeben ist.