Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Varios
Register FAQ Members List Calendar Guía de estilo Today's Posts

Coloboración Paypal con ClubDelphi

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 08/09/2005
Ermek Ermek is offline
Miembro
 
Join Date: Jul 2005
Posts: 18
Poder: 0
Ermek Va por buen camino
Unhappy Problemas con RichEdit

Buenas. Necesito guardar en una base de datos el texto de un editor realizado con RichEdit. Pero el problema es que lo guarda sin formato.

El código que pongo es el siguiente:

Código Delphi [-]
 Editor.PlainText:=True;
 Query2.Edit;
 Query2.FieldByName('TEXTO').AsString:=Editor.Text;
 Query2.Post;
 Editor.SetFocus;
Pero, parece que no hace caso al PlainText.

Last edited by dec : 08/09/2005 at 13:03. Reason: (Encerrar el código fuente en la etiqueta DELPHI)
Reply With Quote
  #2  
Old 08/09/2005
dec's Avatar
dec dec is offline
Moderador
 
Join Date: Dec 2004
Location: Alcobendas, Madrid, España
Posts: 13,142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

¿No es al revés? ¿No estás indicando con "PlainText = True" que lo guarde como texto plano, es decir, sin formato?
__________________
David Esperalta
www.decsoftutils.com

Last edited by dec : 08/09/2005 at 13:04. Reason: (corrección del texto)
Reply With Quote
  #3  
Old 08/09/2005
Ermek Ermek is offline
Miembro
 
Join Date: Jul 2005
Posts: 18
Poder: 0
Ermek Va por buen camino
He probado con Plaintext:=False y también pasa lo mismo.
Reply With Quote
  #4  
Old 08/09/2005
dec's Avatar
dec dec is offline
Moderador
 
Join Date: Dec 2004
Location: Alcobendas, Madrid, España
Posts: 13,142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Terminará pasando lo mismo, es decir, que al cabo no consigas lo que quieres, pero, desde luego, esto es lo que puede leerse en la descripción de la propiedad "PlainText" en la ayuda de Delphi, la cual, por cierto, tal vez te proporcione alguna idea:

Quote:
Originally Posted by Ayuda de Delphi
To write the rich text in the control to a plain text file, set PlainText to true before streaming the text to a file. To ignore the rich text information encoded in a file, set PlainText to true before streaming the text to the control. To stream in the rich text attributes encoded in a file, or save the encoding of the rich text attributes to a file, set PlainText to false.

If the rich text attributes of a file are encoded in some format other than rich text format (RTF), it is necessary to use a converter on the text, even when PlainText is true.

Note: Rich edit controls do not directly support streaming. Use the Lines property to stream to or from a file.
__________________
David Esperalta
www.decsoftutils.com
Reply With Quote
  #5  
Old 08/09/2005
jmariano's Avatar
jmariano jmariano is offline
Miembro
 
Join Date: Jul 2005
Posts: 376
Poder: 22
jmariano Va por buen camino
El problema no se encuentra en usar o no la propiedad "PlainText", sino en el uso de la propiedad "Text", la cual sólo devuelve la cadena de texto introducida ignorando toda información sobre el formato de dicha cadena.

Para poder almacenar el texto junto con el formato es necesario leer el "contenido" en sí del control (es decir, el "Stream"). Para no enrollarme mucho, pongo un ejemplo:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  CadenaFmt: TStringStream;
begin
  CadenaFmt := TStringStream.Create('');

  with RichEdit1 do
  begin
    // Ejecutar primero con PlainText a False y después a True

    SelAttributes.Color := clRed;
    SelAttributes.Style := [fsBold];
    SelText := 'Hola';
    Lines.SaveToStream(CadenaFmt);
  end;

  ShowMessage(CadenaFmt.DataString);
  CadenaFmt.Free;
end;

Si probais el ejemplo, vereis que se muestra un mensaje con la cadena de texto introducida mas las "etiquetas" utilizadas para dar formato a dicho texto. Si ahora lo ejecutais de nuevo poniendo la propiedad "PlainText" a "True", vereis que el mensaje muestra el texto normal sin dichas "etiquetas". Es decir, "PlainText" solo afecta a como será almacenado el texto del control (a la hora de usar los métodos "SaveToFile" o "SaveToStream"), con formato o sin él.

Saludos!

Last edited by jmariano : 08/09/2005 at 15:07.
Reply With Quote
  #6  
Old 08/09/2005
dec's Avatar
dec dec is offline
Moderador
 
Join Date: Dec 2004
Location: Alcobendas, Madrid, España
Posts: 13,142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Bueno, jmariano, creo que lo que has explicado es bastante explícito, pero, si se quiere guardar el texto con el formato (haciéndolo como tú lo has planteado arriba, no utilizando la propiedad "Text" del "TRichEdit", sencillamente), la propiedad "PlainText" ha de valer "False", ¿es o no es?
__________________
David Esperalta
www.decsoftutils.com
Reply With Quote
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT +2. The time now is 01:52.


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
Copyright 1996-2007 Club Delphi