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

Composants VCL Delphi Discussion :

Cloner Listbox vers Tstring!


Sujet :

Composants VCL Delphi

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 317
    Points : 88
    Points
    88
    Par défaut Cloner Listbox vers Tstring!
    Avant de programmer je voudrais savoir si c'est possible de cloner une LIstbox avec Object dans une nouvelle TStringList. Quelle commande dois-je utiliser pour faire cela?

    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
    25
    26
    type
      TMyRecord = class(TObject)
        id: NoPos;
      end;
       var
      PMyRecord : TMyRecord;
    
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
        PMyRecord      := TMyRecord.Create;
        PMyRecord.Id   := '12345';
        ListBox1.Items.AddObject('Red Item', PMyRecord);
    end;
    
    procedure TForm1.Button2Click(Sender: TObject);
    var
       TsList: TStrings;
    begin
       TsList := TStringList.Create;
    
       TsList.Assign(listbox1.???);
    
    end;    
    end;
    Merci de vos aides, Salutations

  2. #2
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    Peut être :
    TsList.Assign(listbox1.iTems);

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 317
    Points : 88
    Points
    88
    Par défaut
    Je pense que j'avais une fois lu sur le Web quelque part, que TsList.Assign() ne copie pas le contenue de l'Object mais seulement le pointeur de l'Object c'est à dire si je fais Listbox.clear. Je perds les données de l'Object dans la TsList (Je ne suis pas sure ce que je dis pour cela je pose la question...)
    Merci pour votre avis et expériences.

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Non ça ce serait plutôt si tu faisais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TsList := listbox1.Items
    La méthode Assign (dans le but qu'on lui a donné) est là justement pour gérer la copie des données de l'objet source (en paramètre) vers l'objet cible (celui sur lequel on appelle la méthode Assign).

    Par contre dans ton exemple les deux listes via leur propriété Object pointerait sur le même PMyRecord car les références d'objets ne sont pas clonés par Assign.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  5. #5
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 317
    Points : 88
    Points
    88
    Par défaut
    J'avais cru plus compliqué que sa. J'avais en tête de copier la Listbox dans la Tstring par une boucle. Sa fonctionne comme tu l'as dit. Merci pour l'appui et bonne journée.

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

Discussions similaires

  1. Transférer les items d'un ListBox vers un autre
    Par youssef222 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 11/04/2008, 14h34
  2. [Access2003] Exporter le contenu d'une listbox vers excel
    Par hoaxpunk dans le forum VBA Access
    Réponses: 1
    Dernier message: 24/05/2007, 16h56
  3. [Excel] Basuler les informations d'une listBox vers une feuille Excel
    Par Paloma dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 30/11/2006, 14h06
  4. drag et drop de listbox vers listbox
    Par genius_.net dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 11/05/2006, 12h06
  5. Réponses: 16
    Dernier message: 20/03/2006, 23h21

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