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

C++Builder Discussion :

interprétention dans un TMemo


Sujet :

C++Builder

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 139
    Par défaut interprétention dans un TMemo
    Bonjour à tous,
    je saisi du texte dans un TEdit et ensuite je veux afficher ce texte interprété dans un TMemo :
    Ex. : TEdit : ABC§CRLF§DEF
    Le TMemo devrait afficher : ABC
    DEF
    Comment je dois faire pour que le TMemo interpréte mon §CRLF§ ?
    (ou un autre caractère hexa ?)
    Merci

  2. #2
    Membre émérite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Par défaut
    Salut,
    le TEdit renvoie un AnsiString, tu peux travailler tes chaînes de caractères avec les méthodes AnsiString.Pos (pour connaître la position d'une chaîne dans ta chaîne), .SubString (pour récupérer une chaîne dans ta chaîne), .Delete (pour supprimer N caractère dans ta chaîne) et .Length (pour récupérer la longueur de la chaîne)

    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    AnsiString  texte  = "ABC§CRLF§DEF";
    int         pos    = texte.Pos("§CRLF§");     //renvoie la position de '§CRLF§", ici 4
    AnsiString  texte1 = texte.SubString(1,pos-1);//récupère "ABC"
    Tu peux te servir de l'aide pour avoir d'autres exemple.

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Février 2005
    Messages
    317
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 317
    Par défaut
    Moi je fait comme ça:

    j'utilise une fonction split:
    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
     
    function TfmXAMException.Split(Source, Deli: string): TStringlist;
        var
        EndOfCurrentString: integer;
     
        begin
        result:= TStringList.Create;
        if not length(source) >0 then exit;
        repeat
        EndOfCurrentString := Pos(Deli, Source);
        if (EndOfCurrentString <= 0) then
        begin
        EndOfCurrentString:=0;
        result.add(Source);
        end
        else
        result.add(Copy(Source, 1, EndOfCurrentString - 1));
        Source := Copy(Source, EndOfCurrentString + length(Deli), length(Source) - EndOfCurrentString);
        until EndOfCurrentString = 0;
    end;
    et je l'appelle comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mon_memo.lines := split(ansireplacestr(ansireplacestr(ma_string_avec_crlf,#10,''),#$A,''),#13);

Discussions similaires

  1. Positionnement de ligne dans un TMemo
    Par tixu dans le forum Composants VCL
    Réponses: 4
    Dernier message: 18/12/2004, 11h45
  2. Position du curseur dans un TMemo
    Par yokito dans le forum Composants VCL
    Réponses: 3
    Dernier message: 28/08/2003, 16h35
  3. Taille des tabulations dans un TMemo ?
    Par dergen dans le forum Composants VCL
    Réponses: 2
    Dernier message: 07/01/2003, 19h38
  4. 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