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 :

Changer le return par des "\\n" [FAQ]


Sujet :

C++Builder

  1. #1
    Membre �clair�
    Homme Profil pro
    Consultant technique
    Inscrit en
    Juillet 2002
    Messages
    519
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activit� : Consultant technique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 519
    Par d�faut Changer le return par des "\\n"
    Bonjour,
    J'ai un Tmemo dans lequel l'utilisateur rentre un text avec des retour � la ligne.

    Je dois � un moment tout copier dans un AnsiString sans modifier le contenu du TMemo. Seulement, il me faut avoir les caract�res \ et n � la place du retour � la ligne.

    Comment faire pour d�tecter ce retour � la ligne?

  2. #2
    Membre chevronn�


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 855
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 855
    Par d�faut
    Bonsoir,

    est-ce que cette source ne r�pond pas � ton besoin : http://c.developpez.com/sources/bcb/...ilinepasteedit

    En l'occurence, l'utilisation de la fonction StringReplace :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Edit1->Text = StringReplace(Memo1->Text, "\r\n", "\\n", TReplaceFlags() << rfReplaceAll);
    Eric

  3. #3
    Membre �prouv�

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Par d�faut
    Je vais peut �tre dire n'importe quoi mais le propri�t� Text du TMemo ne te suffit pas ?

  4. #4
    Membre chevronn�


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 855
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 855
    Par d�faut Re: Changer le return par des "\\n"
    Citation Envoy� par gandf
    Seulement, il me faut avoir les caract�res \ et n � la place du retour � la ligne.
    Ma r�ponse se base sur ces propos. Ce que j'ai compris de la question, c'est qye gandf veut remplacer le retour � la ligne par \n.

    Soit la conversion de
    mots
    sur
    plusieurs
    lignes
    en
    mots\nsur\nplusieurs\nlignes
    Eric

  5. #5
    Membre �clair�
    Homme Profil pro
    Consultant technique
    Inscrit en
    Juillet 2002
    Messages
    519
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activit� : Consultant technique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 519
    Par d�faut
    Ricky81 avait bien compris la question.
    Seulement, il ne fallait pas modifier le texte Memo parce qu'il est encore utilis� par l'utilisateur.

    Voici le code que j'obtiens :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    AnsiString MemoTemp = "";
    MemoTemp = Memo1->Text;
    int nPos;
    while ((nPos = MemoTemp.Pos( "\r\n")) != 0)
          {
          MemoTemp = MemoTemp.Delete(nPos, 2);
          MemoTemp = MemoTemp.Insert("\\n", nPos);
          }
    Et il faut rechercher "\r\n" et non "\n\r" ou "\n" comme je le faisais

    Une derni�re petite question :
    Les 2 caract�res \ et ' l'un � la suite de l'autre donne :
    "\\'" ou "\\\'"?

  6. #6
    Membre chevronn�


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 855
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 855
    Par d�faut
    Citation Envoy� par gandf
    Ricky81 avait bien compris la question.
    Seulement, il ne fallait pas modifier le texte Memo parce qu'il est encore utilis� par l'utilisateur.
    Mais la fonction StringReplace ne modifie pas le texte du Memo.
    Le code que je t'ai donn� modifie-t-il ton Memo ?

    Eric

  7. #7
    Membre �clair�
    Homme Profil pro
    Consultant technique
    Inscrit en
    Juillet 2002
    Messages
    519
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activit� : Consultant technique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 519
    Par d�faut
    Vous avez effectivement raison et votre code est plus simple que celui que j'avais.

    Une question que je me pose :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    J'ai une autre ligne après :
    MemoTemp = StringReplace(MemoTemp, '\'', '\\' + '\'', TReplaceFlags() << rfReplaceAll);
    Et cela me remplace tous les caract�res ' par 131.
    J'ai toujours beaucoup de mal avec les chaines de caract�res

  8. #8
    Membre chevronn�


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 855
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 855
    Par d�faut
    Aucun probl�me en utilisant des cha�nes :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    MemoTemp = StringReplace(MemoTemp, "\'", "\\\'", TReplaceFlags() << rfReplaceAll);
    Pour ce qui est de l'explication, lancez ce code :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    ShowMessage('\\' + '\'');
    ShowMessage((int)'\\');
    ShowMessage((int)'\'');
    Eric

  9. #9
    Membre �clair�
    Homme Profil pro
    Consultant technique
    Inscrit en
    Juillet 2002
    Messages
    519
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activit� : Consultant technique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 519
    Par d�faut
    Merci, cela focntionne parfaitement et je comprend maintenant pourquoi mon code ne focntionnait jamais.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 5
    Dernier message: 30/05/2005, 16h58

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