Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Indy SaveToFile Caracteres Especiales (https://www.clubdelphi.com/foros/showthread.php?t=31352)

gluglu 05-05-2006 12:24:01

Indy SaveToFile Caracteres Especiales
 
Saludos a todos !

Cuando recupero un mensaje con IdPop3 de las Indy, inmediatamente lo grabo a un fichero con IdMessage1.SaveToFile('C:\Prueba.eml');

Si intento abrir ahora ese fichero .eml con el Outlook Express, NO me muestra correctamente cualquier caracter especial tales como las vocales con acentos y la 'ñ'.

Qué solución tiene esto ? Porque supongo que con cualquier otro lenguaje diferente del español, habrá también caracteres especiales que deberá tratarlos correctamente.

Gracias por vuestros consejos.

gluglu 05-05-2006 16:31:16

Me acabo de dar cuenta que todo este problema me viene por utilizar Delphi 2006 VCL.NET

Si lo intento en Win32 todo funciona correctamente. Al parecer existe un nuevo tipo de Stream para Indy 10 que es compatible con .NET, y es TIdStream. Alguien sabe como utilizarlo ? Porque los métodos normales, como Create, etc. no están al parecer disponibles.

gluglu 05-05-2006 16:47:18

Cita:

TIdStream is often used to cast a TStream instance to TIdStream to allow access to the additional methods for stream-based input and output.
Como se 'castea' una instancia TStream a TIdStream ?

dec 06-05-2006 06:24:38

Hola,

Cita:

Como se 'castea' una instancia TStream a TIdStream ?
Código Delphi [-]
// ¿Tal vez así? 
var   
  ts: TStream; 
begin   
  {...}  
  (ts as TIdStream).MetodoDeTIdStream(); 
end;

gluglu 06-05-2006 09:35:33

Solución :

La verdad es que ya había visto un hilo con una contestación parecida en el foro, pero por la causa que sea al probarlo no lo apliqué correctamente.

Para grabar el formato correcto en un fichero :
Código Delphi [-]
IdMessage1.Clear;
IdMessage1.NoDecode := True;
IdPOP31.Retrieve(1, IdMessage1);
IdMessage1.NoEncode := True;
IdMessage1.SaveToFile('C:\email.eml');


Saludos a todos


La franja horaria es GMT +2. Ahora son las 21:13:06.

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