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 :

Concaténer TStrings


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 44
    Par défaut Concaténer TStrings
    Voila mon petit problème :
    J'ai deux variables TStrings, une correspondant à des éléments de la ListBox et l'autres aux éléments (chemins des fichiers) à y ajouter. J'ai pensé concaténer les deux morceaux et mettre comme items dans la listboxce résultat. Mais je n'arrive pas à les concaténer.
    Par exemple si
    a='Ligne1
    Ligne2
    Ligne3'

    et b='Ligneaajouter1
    Ligneaajouter2'

    Je voudrais avoir c='Ligne1
    Ligne2
    Ligne3
    Ligneaajouter1
    Ligneaajouter2'

    Merci d'avance

  2. #2
    Membre Expert

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Par défaut
    Fais un truc comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    c.assign(a);
    c.AddStrings(b);

    Bon dev'

  3. #3
    Invité
    Invité(e)
    Par défaut
    Salut,

    A priori, s'il s'agit simplement d'ajouter les lignes du deuxième TStrings à la suite de celles stockées dans le premier TStrings, tu dois pouvoir écrire l'instruction suivante :

    A.Text := A.Text + B.Text

    A+

    Didier

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 44
    Par défaut
    Dans les deux cas, ça me met :

    Le projet a provoqué une classe d'exception EAccessViolation avec le message "Violation d'accès à l'adresse 00459908 dans le module 'MP3Encoder.exe'. Lecture de l'adresse 8BD88B5B. Processus stoppé.
    J'arrive pas à trouver pourquoi. Ca bloque au moment :

    Morceau de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Ouvrir.Execute;
    ajout:=Ouvrir.Files;
    exist:=Listefich.Items;
    tout.Assign(exist);
    tout.AddStrings(ajout);
    Listefich.Items:=tout;
    En fait je voudrais ajouter au contenu de la listbox les chemins des fichiers ajoutés.

    Merci à tous

  5. #5
    Membre éclairé Avatar de gibet_b
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 292
    Par défaut
    As tu essaye :
    tout:=TStringList.Create;
    ajout:=TStringList.Create;
    exist:=TStringList.Create;
    tout:=AddStrings(ajout);
    tout:=AddStrings(ajout);
    Listefich.Items:=tout;

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 44
    Par défaut
    Merci beaucoup, c'est presque ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Ouvrir.Execute;
    tout:=TStringList.Create; 
    ajout:=TStringList.Create; 
    exist:=TStringList.Create;
     
    ajout:=Ouvrir.Files;
    exist:=Listefich.Items;
    tout.AddStrings(exist);
    tout.Addstrings(ajout);
    Listefich.Items:=tout;
    C'est juste tout.Addstrings et non tout:=Addstrings.
    Merci !!

  7. #7
    Membre Expert

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Par défaut
    Oublie pas de libérer la mémoire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    tout.free;
    ajout.free;
    exists.free;
    [...]

  8. #8
    Membre émérite
    Avatar de Pierre Castelain
    Inscrit en
    Avril 2002
    Messages
    523
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 523
    Par défaut
    Tu peux faire beaucoup plus simple. Dans la mesure où les propriétés Items et Files sont de type TStrings, tu peux écrire directement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      Listefich.Items.AddStrings(Ouvrir.Files);

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 44
    Par défaut
    Merci c'est encore plus simple avec la solution de Pierre Castelain, mais les autres pourront toujours me servir!

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

Discussions similaires

  1. Concaténation de 2 select en 1 seul
    Par Fleep dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 08/08/2003, 11h38
  2. Char(x) -> chaine concaténée d'espaces ?
    Par rgz dans le forum Débuter
    Réponses: 7
    Dernier message: 27/06/2003, 11h59
  3. Concaténation vertical ???
    Par loaded dans le forum Langage SQL
    Réponses: 10
    Dernier message: 07/05/2003, 15h44
  4. Récupération valeur d'une propriété type TStrings
    Par Stéphane Vaillant dans le forum Langage
    Réponses: 2
    Dernier message: 01/03/2003, 11h47
  5. Concaténation de String et Integer
    Par Ingham dans le forum Langage
    Réponses: 5
    Dernier message: 21/01/2003, 17h26

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