Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   TIDmessage!!! (https://www.clubdelphi.com/foros/showthread.php?t=73730)

MARLON1 12-05-2011 16:38:49

TIDmessage!!!
 
Hola foro!

Tengo un problema al momento de mostrar el cuerpo del mensaje en un memo, la conexion la hago utilizando los componentes: POP31, IdSSLIOHandlerSocketOpenSSL1 e Idmessage. al al momento de conectarme esta todo bien me muestra el subject, fecha, from, pero no me muestra el cuerpo del mensaje, ya probe todos los ejemplos aqui en el foro pero en todos me sucede lo mismo espero que pueden ayudarme, gracias de antemano.

este es el codigo que utilizo. (delphi 2010)

Código Delphi [-]
var
        Password: String;
        i,no:integer;
    begin
    memo1.Lines.Clear;

  if InputQuery('Recibir e-mail', 'Contraseña', Password) then
  begin
    idpop31.Username := edit3.Text;
    idpop31.Password := Password;
    bitbtn1.Enabled:= false;

try

      idpop31.Disconnect;
      idpop31.Connect;
       no:=idpop31.CheckMessages;
       be.Caption:=IntToStr(no);


      idpop31.Retrieve(no,idMessage1);
      edit1.Text:= idMessage1.From.Text;
      edit2.Text:= idMessage1.Subject;
      label6.Caption:= DateToStr(idmessage1.Date);
      memo1.Lines.Text:=idmessage1.Body.Text;


    finally
        bitbtn1.Enabled := true;
        end;

    end;
  end;

Casimiro Notevi 12-05-2011 16:41:05

Por favor, no olvides poner a los mensajes un título descriptivo, gracias por tu colaboración.
Guía de estilo.

Caro 12-05-2011 17:06:04

Hola Marlon1, prueba de esta forma:

Código Delphi [-]
   for i:=0 to idMessage.MessageParts.Count - 1 do
    begin
      if (idMessage.MessageParts.Items[i] is TIdText) then
        memo1.Lines.Text:= TIdText(idMessage.MessageParts.Items[i]).Body.Text;
    end;

Saluditos

MARLON1 12-05-2011 17:13:05

Cita:

Empezado por Caro (Mensaje 399818)
Hola Marlon1, prueba de esta forma:

Código Delphi [-] for i:=0 to idMessage.MessageParts.Count - 1 do begin if (idMessage.MessageParts.Items[i] is TIdText) then memo1.Lines.Text:= TIdText(idMessage.MessageParts.Items[i]).Body.Text; end;


Saluditos


hola caro gracias por tu pronta respuesta, probe el codigo que me proporcionas, declare la variableTIdText de la siguiente forma, nose si este bien, pero el programa me marca error : que el operador no es valido.
TIdText: TidMessage;

Código Delphi [-]
    for i:=0 to idMessage.MessageParts.Count - 1 do     begin     
      if (idMessage.MessageParts.Items[i] is TIdText) then      
          memo1.Lines.Text:= TIdText(idMessage.MessageParts.Items[i]).Body.Text;    
    end;

gracias

Caro 12-05-2011 17:24:32

Hola de nuevo, en uses añade IdText.

Saluditos

MARLON1 12-05-2011 17:33:59

Gracias
 
Cita:

Empezado por Caro (Mensaje 399825)
Hola de nuevo, en uses añade IdText.

Saluditos


Muchas gracias, ya me muestra el body del mensaje!! ahora solo investigare como mostrar solo el mensaje, por que me muestra codigo jeje, pero muchas gracias.:D

MARLON1 12-05-2011 17:36:04

solo muestra mensaje
 
Código Delphi [-]
memo1.Lines.AddStrings(TIdText(idMessage1.MessageParts.Items[i]).Body);


saludos y gracias por su ayuda!


La franja horaria es GMT +2. Ahora son las 09:44:04.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi