IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Comment supprimer un pseudo avec un vector


Sujet :

C++Builder

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 17
    Points : 9
    Points
    9
    Par défaut Comment supprimer un pseudo avec un vector
    Bonsoir,
    J'ai fais une application Tchat multiclient et je n'arrive pas a supprimer un pseudo lors de la déconnexion.

    Pour la connexion le pseudo est ajouté avec un vector de type ansistring :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Liste = "@@@";
                Mess2 = Mess.SubString(5,Mess.Length());
                vectServeur.push_back(Mess2);
    Mais pour la déconnexion j'ai esseyer de faire avec la methode find mais j'ai une erreur qui apparait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Mess2 = Mess.SubString(5,Mess.Length());
                it = find(Mess2,vectServeur.begin(),vectServeur.end());
                vectServeur.erase(it);
    Avez vous une idée ?

  2. #2
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Salut,
    est-ce que tu pourrait nous donner l'erreur complète que cela te fait ?
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    Désolé pour l'attente :

  4. #4
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    As oui désolé j'avais pas fait attention, find est une méthode de la classe vector, il faut donc que tu l'appelle via ton objet vector :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Mess2 = Mess.SubString(5,Mess.Length());
    it = vectServeur.find(Mess2,vectServeur.begin(),vectServeur.end());
    vectServeur.erase(it);
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    J'ai toujours une erreur :!
    Il va me rendre dingue ce prog :!!!!!

  6. #6
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Effectivement, je suis désolé, la méthode find n'existe pas pour les vector.
    Du coup, il faut que tu parcours tout le tableau pour trouver le bon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Mess2 = Mess.SubString(5,Mess.Length());
    std::vector<AnsiString>::iterator it = vectServeur.begin();
    while(it != vectServeur.end())
    {
      if(*it == Mess2)
      {
        vectServeur.erase(it);
        break;
      }
      it++;
    }
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    Oulala !
    Merci ca marche !
    jpensais pas que sa allez etre aussi compliquer ^^

  8. #8
    Membre averti

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Points : 446
    Points
    446
    Par défaut
    find fonctionne pour les vectors mais elle est dans la partie "algorithm" de la STL:

    Ajoute donc cet include dans ton header:
    Par contre elle est native dans les map par exemple (map::find)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comment supprimer les accents avec un onKeyPress
    Par thor76160 dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 18/03/2010, 17h05
  2. comment supprimer des lignes avec macros
    Par kadij dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/06/2009, 06h14
  3. Réponses: 0
    Dernier message: 03/06/2008, 15h40
  4. Réponses: 11
    Dernier message: 07/03/2008, 11h37
  5. Réponses: 6
    Dernier message: 12/02/2008, 20h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo