Hallo,
ich bin gerade dabei, nur zu Übungszwecken, einen Chat mit Server zu schreiben.
Nun stellt sich mit die Frage, wie man am besten speichert, in welchem
Channel ein Benutzer ist. Ich habe ein dynamisches Array of RecordTyp
erstellt, welches für jeden Benutzer einen ausgefüllte Record besitzt.
In diesem Record soll auch gespeichert werden, in welchen Channel man
sich zur Zeit aufhält.
Die Struktur des Records sieht so aus:
Delphi-Quellcode:
type
PUserList = ^TUserList;
TUserList =
record
szName:
String[255];
//Benutzername
tOnlineTime: TTime;
//Uhrzeit des Serverjoins
dOnlineDate: TDate;
//Datum des Serverjoins
lpID: Cardinal;
//Benutzer ID
bAsAdminAuthed: Boolean;
//ist er ein Admin?
szAddress:
String[255];
//IP-Adresse
szInChannel:
String[255];
//<------- In welchen Channel befindet er sich?
end;
Wie ihr seht, ist szInChannel ein String. Im Moment habe ich es so gemacht, dass,
wenn er einen Channel beitritt, der Channel zum String hinzugefügt wird und wenn
er einen Channel verlässt, der Channel einfach aus dem String herausgenommen wird.
Ich finde aber, dass das eine doofe und unschöne Lösung ist. Desshalb komme ich jetzt
zur eigentlichen Frage: Wie sollte man die Channels am besten speichern? Mit einem dynamischen
Array of ChannelRecord? Oder einer TStringList?
Danke schon mal für Hilfe.
MfG: sk0r