A
Hallo
danke für deine hilfe aber ich krieg das nicht hin..
habe keine ahnung von vector, und so kann dein beispiel nicht nachvollziehen
Vielleicht hilfts es ja ein bißchen, wenn du statt vector erstmal DynamicArray nimmst.
class TMainForm : public TForm
{
...
DynamicArray<TUserData> UserList; // Liste aller User, die von diesem Client aus zu erreichen sind
int AddUser(AnsiString Name, AnsiString IDAddress); // Beispielfunktion zum Hinzufügen eines neuen Users
int OpenChatWindow(int UserNumber); // Bepsielfunktion zum Öffnen eines CHatfensters zu einem bestimmten Users
}
...
int TMainForm::AddUser(AnsiString UserName, AnsiString UserIDAdress)
{
int Pos = -1; // Position der Userdaten
UserList.Length++; // neuen Eintrag in der Liste machen
Pos = UserList.Length -1; // Position bestimmen
UserList[Pos] = TUserData(); // Eintrag initialisieren
UserList[Pos].Name = UserName; // Namen zuweisen
UserList[Pos].IPAdress = UserIPAddress; // Adresse zuweisen
...
return(Pos);
}
int TMainForm::OpenChatWindow(unsinged int UserNumber)
{
// UserNumber überprüfen, ob in Bereich des Arrays
if (UserNumber >= UserList.Length)
{
ShowMessage("User List - Out of Range");
return;
}
// Wenn Fenster für diesen User noch nicht vorhanden, Fenster öffen
if (UserList[UserNumber].ChatForm == NULL)
UserList[UserNumber].OpenWindow();
// Wenn Fenster für diesen User vorhanden, diesen in Vordergrund holen
else
UserList[UserNumber].ChatForm->SetFocus();
return(0);
}
Noch weiter vereinfachen kann ich es nicht. Wenn du damit nicht klar kommst, solltest du dich erst mal an einfacheren Sachen probieren (Ist nicht böse oder überheblich, sondern ernst gemeint)
bis bald
akari