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 :

à quelle liste appartient un élément ?


Sujet :

Langage Delphi

  1. #1
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 388
    Points : 2 999
    Points
    2 999
    Par défaut à quelle liste appartient un élément ?
    Hello tou(te)s

    Petite question : Comment un élément d'une liste de générique peut-il remonter à la liste qui le contient ?

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
      TNote = class
        Dte: TDateTime;
        Text: string;
      end;
     
      TNotes = class(TList<TNote>)
      end;

    Si j'ajoute un élément à ma liste, et que mon élément veut accéder à une variable de la liste, c'est possible ou pas ?

  2. #2
    Membre expert
    Avatar de e-ric
    Homme Profil pro
    Apprenti chat, bienfaiteur de tritons et autres bestioles
    Inscrit en
    Mars 2002
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Apprenti chat, bienfaiteur de tritons et autres bestioles

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 559
    Points : 3 948
    Points
    3 948
    Par défaut
    Salut

    Hélas non, sauf à ajouter un lien de ton objet TNote sur la liste, et encore il faudra te contenter des membres publics de l'objet liste.
    Peut-être qu'en définissant un Helper sur la TList<>, tu pourrais atténuer.

    Que veux-tu faire exactement ?

    Cdlt

    M E N S . A G I T A T . M O L E M
    Debian 64bit, Lazarus + FPC -> n'oubliez pas de consulter les FAQ Delphi et Pascal ainsi que les cours et tutoriels Delphi et Pascal

    "La théorie, c'est quand on sait tout, mais que rien ne marche. La pratique, c'est quand tout marche, mais qu'on ne sait pas pourquoi. En informatique, la théorie et la pratique sont réunies: rien ne marche et on ne sait pas pourquoi!".
    Mais Emmanuel Kant disait aussi : "La théorie sans la pratique est inutile, la pratique sans la théorie est aveugle."

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Peut être qu'un TDictionnary au lieu d'une TList répondrait au problème ?
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  4. #4
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 388
    Points : 2 999
    Points
    2 999
    Par défaut
    Citation Envoyé par e-ric Voir le message
    Salut

    Hélas non, sauf à ajouter un lien de ton objet TNote sur la liste, et encore il faudra te contenter des membres publics de l'objet liste.
    Peut-être qu'en définissant un Helper sur la TList<>, tu pourrais atténuer.

    Que veux-tu faire exactement ?

    Cdlt
    Oui, je pourrais rajouter ne référence à ma liste dans chaque objet.
    En fait, je me posais la question parce que ma liste est liée à un dossier avec un ID bien précis.
    Et que je voudrais pouvoir sauver en base une note en particulier (lien avec l'ID vous l'aurez compris) mais au niveau de la note plutôt que depuis la liste.
    Donc, je me suis demandé si en mettant l'ID seulement au niveau la liste, je pouvais le retrouver facilement plutôt que rajouter une valeur à chaque note.
    L'économie est extrêmement limitée, j'en conviens.
    La question était surtout parce qu'en écrivant ma classe, je me suis demandé si c'était possible et que je ne trouvais pas la solution.

  5. #5
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 388
    Points : 2 999
    Points
    2 999
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Bonjour,

    Peut être qu'un TDictionnary au lieu d'une TList répondrait au problème ?
    Le TDictionnary ne résoudra pas le "problème" (plutôt la simple réflexion qui m'est venue hier )
    Je voulais juste pouvoir associer chaque note à un dossier précis (donc ID de dossier unique pour toutes les notes).

    La question était plus technique qu'une évocation d'un problème bloquant

    Je pensais que j'avais peut-être zappé un truc évident mais il semble bien que non.

  6. #6
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 421
    Points : 5 820
    Points
    5 820
    Par défaut
    salut

    je ne vois pas le problème de passer un identifiant a un enfant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    TParent =Class(TList)
      ID : Integer;
      Procedure AddEnfant();
    ...
    end;
     
    TEnfant  = Class
      IDPArent : Integer;
      IDEnfant : Integer;
      Constructor Create(Id : Integer);
    ...
    end;
     
    Constructor TEnfant.Create(Id : Integer);
    begin
      IdParent := Id;
    end;  
     
    Procedure TParent.AddEnfant();
    begin
      AddObject(TEnfant.Create(Id));
      ...
    end;
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  7. #7
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 388
    Points : 2 999
    Points
    2 999
    Par défaut
    Tout à fait ! C'est ce que j'ai fait au final.
    Encore une fois, la question était plus technique qu'une demande d'aide à la solution à un problème bloquant :-)

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/03/2010, 14h36
  2. comment savoir à quelle liste appartient une valeur?
    Par tsly_mdk dans le forum Général Python
    Réponses: 7
    Dernier message: 03/12/2009, 12h33
  3. Obtenir la liste des combinaisons de p éléments d une liste de n éléments?
    Par Stéphane Nadry dans le forum Général Python
    Réponses: 7
    Dernier message: 18/02/2008, 20h16
  4. Réponses: 3
    Dernier message: 24/07/2007, 19h31
  5. Faire une liste avec deux éléments par ligne
    Par pc.bertineau dans le forum Mise en page CSS
    Réponses: 18
    Dernier message: 12/04/2007, 14h47

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