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

Langage Delphi Discussion :

TCollection, comment ca marche ?


Sujet :

Langage Delphi

  1. #1
    Membre régulier

    Étudiant
    Inscrit en
    Août 2004
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2004
    Messages : 108
    Points : 124
    Points
    124
    Par défaut TCollection, comment ca marche ?
    Bonjour à tous,

    J'utilise les classes TCollection et TCollectionItem pour mon projet qui contient les objets suivants :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Joueur = class (TCollectionItem)
       nom : string;
       ....
       end;
     
    Joueurs = class (TCollection);
    Dans une procedure je déclare :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    var
    UnJoueur: TJoueur;
    LesJoueurs: TJoueurs;
     
    begin
     
    UnJoueur := TJoueur(LesJoueurs);
    UnJoueur.nom := 'J1';
    LesJoueurs := TJoueurs.Create(TJoueur);
    //ensuite j'essye d'ajouter ce joueur à la collection LesJoueurs
    UnJoueur := LesJoueurs.Add;
    //Mais ca ne marche pas
    J'ai essayé de faire cela dans tout les sens mais sans résultats, j'ai certaiment oublié qqch mais quoi ???

  2. #2
    Membre habitué
    Inscrit en
    Mars 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2003
    Messages : 281
    Points : 187
    Points
    187
    Par défaut
    C'est pas exactement comme ça que ca marche.

    Regarde dans les tutoriels, il y en a un qui explique le fonctionnement des collections.


    Logiquement le code serait plus comme cà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    var
    UnJoueur: TJoueur;
    LesJoueurs: TJoueurs; 
     
    begin
       Lesjoueurs := Tjoueurs.create;
       Unjoueur := Lesjoueurs.add;
       Unjoueur.nom := 'J1';
    end;
    Pour ta collection, dérive d'un TownedCollection plutot que d'un Tcollection

  3. #3
    Membre régulier

    Étudiant
    Inscrit en
    Août 2004
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2004
    Messages : 108
    Points : 124
    Points
    124
    Par défaut
    Arf... J'ai toujours le même problème, lors de l'appel de Add, il me dit qu'il y a un pb de type entre TJoueur et TCollectionItem (Ce qu'il attend).

  4. #4
    Membre habitué
    Inscrit en
    Mars 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2003
    Messages : 281
    Points : 187
    Points
    187
    Par défaut
    Peux tu poster le code de déclaration de ta collection et de ton tcollectionitem ?

  5. #5
    Membre régulier

    Étudiant
    Inscrit en
    Août 2004
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2004
    Messages : 108
    Points : 124
    Points
    124
    Par défaut
    hum ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    type
     
      TJoueur = class (TCollectionItem)
          public
          nom: string[30];
          score: integer;
      end;
     
      TJoueurs = class (TCollection);
     
    implementation

  6. #6
    Membre habitué
    Inscrit en
    Mars 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2003
    Messages : 281
    Points : 187
    Points
    187
    Par défaut
    C'est pas suffisant.
    il faut que tu indique que les items de ta collection sont des Tjoueur.

    Regarde le tutoriel sur les collection :
    http://sjames.developpez.com/ListesCollections.pdf

    et dérive de Townedcollection au lieu de Tcollection. ca facilite les choses.

    Bon dev.

Discussions similaires

  1. ToAsciiEx, comment cela marche ?
    Par mikyfpc dans le forum C++Builder
    Réponses: 2
    Dernier message: 17/02/2004, 21h39
  2. [MFC] list box : comment ça marche
    Par runn2 dans le forum MFC
    Réponses: 4
    Dernier message: 28/01/2004, 12h36
  3. [SYNEDIT] -> Comment ça marche ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/01/2004, 19h11
  4. [TP][Turbo Vision] comment ça marche ??
    Par Costello dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 05/08/2003, 00h24
  5. [update][req. imbriquee] Comment ca marche ??
    Par terziann dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/07/2003, 12h51

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