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

Langage Delphi Discussion :

Saut de ligne dans un TStrings


Sujet :

Langage Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 93
    Points : 38
    Points
    38
    Par défaut Saut de ligne dans un TStrings
    Bonjour,

    J'ai un probleme (oui je sais on s'en serais douté).

    Pour envoyer un mail via un automate de traitement de fichiers (c'est pour placer le décor mais ca n'a pas grande importance), j'ai un Tstrings qui s'apelle Mail et dans lequel je fais des Mail.Add de chaqeu informations que je veut ajouter au mail.

    Mon probleme est que il n'y a aucun saut de ligne dans le mail et c'est illisible, j'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mail.Add(#10#13 'texte' #10#13)
    j'ai aussi tenté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mail.Add(slinebreak+ 'texte' +slinebreak)
    ainsi que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mail.Add(char(10)+char(13)+'texte'+ char(10)+char(13))
    et rien n'y fait, j'obtient désesperemment un gros paquet illisible dans mon mail.

    Pour info voila la fonction Mail que j'utililise (tiré de la FAQ)

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    function TForm1.Mailing (Mail : Tstrings):integer;
    var
      IdMessage: TIdMessage;
      IdSMTP: TIdSMTP;
      i: Integer;
      Fichiers: Array Of String;
    begin
      IdMessage := TIdMessage.Create(nil); //création dynamique du composant
     
      IdMessage.From.Address := 'Traitement_Mouvements_Quotidien@PI.com';
     
      //Ces deux lignes peuvent-être répétées autant de fois que vous désirez
      //d’adresse de réponse et/ou de destinataire
      //IdMessage.ReplyTo.Add.Address := 'expediteur@domaine.com';
      IdMessage.Recipients.Add.Address := 'simon.penet@bjd.fr' ;
     
      IdMessage.Subject := 'Probleme de traitement';
     
      IdMessage.ContentType := 'multipart/alternative'; //Message « découpé » en plusieurs parties
     
      //Message := Memo1.Lines; //par exemple… il faut juste que ce soit un TStrings !
     
      //Ici on va créer les différentes parties du message
      //Au cas où le client ne gère pas les messages HTML :
      With TIdText.Create(IdMessage.MessageParts, Mail) Do
      Begin
        ContentType := 'text/plain';
        Body.Insert(0, 'Veuillez configurer votre messagerie pour accepter les message de type HTML, ce message ne peut pas être affiché correctement');
      end;
     
      //Ajout du message au format HTML (en supposant que Message contient du HTML) :
      with TIdText.Create(IdMessage.MessageParts, Mail) do
        ContentType := 'text/html';
     
      //Et maintenant, l’ajout des pièces jointes :
      //Le tableau de strings Fichiers doit être remplis avec les chemins complets des fichiers à inclure
      for i := Low(Fichiers) to High(Fichiers) do
        TIdAttachment.Create(IdMessage.MessageParts, Fichiers[i]);
     
      //On passe ensuite à l’envoi du message:
      IdSMTP := TIdSMTP.Create(nil) ; //Création dynamique du composant
     
      IdSMTP.Port := 25; //Le port SMTP standard…
      IdSMTP.Host := 'xxx.xxx.xxx.xxx';  //Le serveur auquel se connecter
     
      //Ensuite on se connecte et on envoit le message, en gérant les erreurs, tant qu’à faire !
      Try
        Try
          IdSMTP.Connect;
          IdSMTP.Send(IdMessage);
        except
          on e: exception do MessageDlg(e.Message, mtError, [mbOK], 0);
        end;
      finally
        IdSMTP.Disconnect;
        IdSMTP.Free;
        IdMessage.Free;
      end;
     
    end ;
    Merci d'avance de votre aide

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 885
    Points : 11 403
    Points
    11 403
    Billets dans le blog
    6
    Par défaut
    puisque le message est en html, il faut utiliser la balise <br> (de tête) pour le saut de ligne

  3. #3
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 562
    Points
    3 562
    Par défaut
    Sinon, un saut de ligne en ASCII, c'est plutot #13 puis #10 que #10 puis #13

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 93
    Points : 38
    Points
    38
    Par défaut
    Merci beaucoup,

    J'ai mis les balise <br>, je ne pensait plus au format HTML étant donné que le mail ne contient que du texte.

    D'ailleurs tant que jy suis je me dit que le fait d'envoyer en HTML ne me sert à rien.

    Si je remplace :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //Ici on va créer les différentes parties du message
      //Au cas où le client ne gère pas les messages HTML :
      With TIdText.Create(IdMessage.MessageParts, Mail) Do
      Begin
        ContentType := 'text/plain';
        Body.Insert(0, 'Veuillez configurer votre messagerie pour accepter les message de type HTML, ce message ne peut pas être affiché correctement');
      end;
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //Ici on va créer les différentes parties du message
      //Au cas où le client ne gère pas les messages HTML :
      With TIdText.Create(IdMessage.MessageParts, Mail) Do
      Begin
        ContentType := 'text/plain';
        Body.Insert(0, Mail);
      end;
    cela va-t-il marcher?

    En tout cas merci pour votre réponse rapide ca ma déjà enlevé une epine du pied

  5. #5
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Salut
    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Mail.Add(#10#13+'texte'+#10#13)
    Fais plutot:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Mail.Add('');
    Mail.Add('texte');
    Mail.Add('');
    Ou encore:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Mail.Text:=Mail.Text+#13+#10+'texte'+#13+#10;
    C'est mieux

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 23/05/2005, 10h35
  2. Mettre une saut de ligne dans une balise alt
    Par PrinceMaster77 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 16/12/2004, 09h45
  3. Réponses: 2
    Dernier message: 03/12/2004, 10h27
  4. Export vers Excel et saut de ligne dans cellule
    Par sbeu dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 16/08/2004, 16h53
  5. Nombre de sauts de ligne dans un String
    Par Johnbob dans le forum ASP
    Réponses: 7
    Dernier message: 03/03/2004, 16h33

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