Probleme beim Löschen von einträgen in einer Listbox
-
-
hab ich getan schonmal danke im voraus für deine hilfe
-
Also soweitso gut hab nun das problem: sobald man disconnectet wird user hinzugefügt und nicht gelöscht:
z.b.:
Server
User1
User1 // wird nachdem disconnect hinzugefügt obwohl der gelöscht werden sollteAnzUser = idServer->Socket->ActiveConnections; if ( AnzUser >= 1) { for ( int Lauf = 1;Lauf <= AnzUser; Lauf++) { AnsiString uMSG = idServer->Socket->Connections[(Lauf-1)]->ReceiveText(); AnsiString tTest = uMSG.SubString(1,1); if (tTest == 0) { int tPos = uMSG.Length(); AnsiString tNick = uMSG.SubString(2,tPos); /* Löschen des Nicks wenn der Client die Verbindung schließt */ if(lbUser->ItemIndex >= 0) // Unbedingt abfragen !!! { int testi; testi=lbUser->Items->IndexOf("User1"); lbUser->Items->Delete(testi); } } else if (tTest == 1 || tTest ==2) { int t1Pos = uMSG.Length(); AnsiString u1MSG = uMSG.SubString(2,t1Pos); reChat->Lines->Add(u1MSG); } } }Und sollte nach dem disconnect eigentlich so aussehn:
ServerDen kompletten SourceCode könnt ihr HIER →http://web32.w3profiler.com/files/CServerSourceCode.zip runterladen
Hat jemand nen rat?
-
Der Sourcecode des Server nützt nichts, wenn man nicht den Client zum testen hat. Wie soll also die Routine angesprungen werden?
-
arg mein fehler hier der link zum SourceCode vom Clienten.
http://web32.w3profiler.com/files/CClientSourceCode.rarNoch ne kleine Info der Server läuft auf Port 40000 Unter Optionen kann man den Port einstellen aber die buttons ok cancel funktioniern noch nicht und man muss um ein usernamen in der server listbox zu adden noch kurz vorher nen text abschicken mt dem clienten ach und nichts vom server aus senden funtzt noch nicht.
-
void __fastcall TfrmMain::idServerClientConnect(TObject *Sender, TCustomWinSocket *Socket) { AnzUser = idServer->Socket->ActiveConnections; int UserID = lbUser->Items->Count; for (int Lauf = 1; Lauf <= UserID; Lauf++) { for (int Lauf1 = 1; Lauf1 <= AnzUser; Lauf1++) { idServer->Socket->Connections[Lauf1-1]->SendText("0" +lbUser->Items->Strings[Lauf-1]); } } }Du nimmst doch auch keinen User in die Liste auf, wenn er sich connectet
-
DochDoch das Passiert erst sobald der User ne Nachricht an den Server schickt ich weis is im mom nicht gut gelöstist kommt später aber so das wenn der client sich verbindet direkt den nick wegschickt und der server denn dann addet
hast du skype oder teamspeak glaube is einfacher das darüber zu machen oder icq?
-
Bei mir wird nie ein User in der Listbox gezeigt, auch wenn ich einen String esandt habe, der wohl angezeigt wird
skype oder teamspeak glaube is einfacher das darüber zu machen oder icq
habe ich alles nicht
-
Schau in meiner Mail nach
-
jo besten dank das läuft jetzt endlich danke für die schnelle hilfe