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

Delphi Discussion :

TMemo versus TStringList


Sujet :

Delphi

  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    502
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 502
    Par défaut TMemo versus TStringList
    Bonjour

    Je souhaite récupérer dans un TMemo en temps réel (chaque seconde) les valeurs contenues dans le presse papier quand celui ci est au format CF_TEXT.

    Je veux écarter la recopie dans TMemo quand sa valeur n'a pas changé.

    pour cela je compare la dernière valeur connue du presse papier (versée dans un TMemo) avec celle versée dans un TStringList

    Le problème est que TStringList.add met toutes les lignes du presse papier dans une seule ligne de TStringList tandis que TMemo.Lines.add crée autant de lignes +1 qu'il y a de CRLF.

    J'en déduis que le Add de TMemo.Lines n'est pas celui de TStringList

    Quelle méthode ou composant utiliser pour obtenir une fragmentation des lignes (en dehors d'un deuxième TMemo invisible) ?

    Merci

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 569
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    cela dépend de la version de Delphi.
    Si je me base sur la 12, à ma souvenance valable aussi avec les versions 10.2, 10.3 et 11, j'utiliserai un TArray<String> ou une autre collection de l'unité System.Generics.Collections

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    404
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 404
    Par défaut
    pour copier plusieurs lignes dans une TStringList ils faut utiliser TStringList.Text, si tu veux conserver l'ancien contenu il faut le sauvegarder pour le rajouter avec le nouveau

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    502
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 502
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Bonjour,

    cela dépend de la version de Delphi.
    Si je me base sur la 12, à ma souvenance valable aussi avec les versions 10.2, 10.3 et 11, j'utiliserai un TArray<String> ou une autre collection de l'unité System.Generics.Collections
    Je suis en version 7...

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    502
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 502
    Par défaut
    Citation Envoyé par exoseven Voir le message
    pour copier plusieurs lignes dans une TStringList ils faut utiliser TStringList.Text, si tu veux conserver l'ancien contenu il faut le sauvegarder pour le rajouter avec le nouveau
    En version 7 je ne vois pas comment exploiter TStringList.Text mais SetText(PChar(AnsiString)) semble fonctionner

    Merci

  6. #6
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 912
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 912
    Par défaut
    Citation Envoyé par frantzgac Voir le message
    Je souhaite récupérer dans un TMemo en temps réel (chaque seconde) les valeurs contenues dans le presse papier quand celui ci est au format CF_TEXT.
    Il faudra t'assurer que le presse-papier contient bien ce format mais plutôt qu'une lecture toutes les secondes et cette comparaison, autant demander au système de t'envoyer un message WM_CLIPBOARDUPDATE à chaque changement par AddClipboardFormatListener.

    A noter que le presse-papier peut encore être verrouillé par l' "expéditeur" à la réception de ce message, plusieurs tentatives de lecture peuvent être nécessaires (boucle avec délai).

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/12/2021, 10h21
  2. TMemo TStringList TString
    Par krokmitaine dans le forum Delphi
    Réponses: 5
    Dernier message: 22/06/2015, 12h00
  3. TStringList vers TMemo
    Par looping dans le forum Composants VCL
    Réponses: 1
    Dernier message: 09/10/2007, 14h37
  4. Charger le contenu d'un TMemo dans un TStringList
    Par kurkaine dans le forum C++Builder
    Réponses: 1
    Dernier message: 11/05/2007, 23h28
  5. Retour chariot dans un TMemo ?
    Par Vincent PETIT dans le forum C++Builder
    Réponses: 7
    Dernier message: 27/08/2002, 18h55

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