| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
rockman2003 Master

Registrado: 27 Ene 2004Mensajes: 202Ubicación: Madrid
|
Publicado: Mar 08 Jun, 2010 4:47 pm Asunto: Problema con RichEdit (RTF) y RAD2010 |
|
|
Buenas...
Vengo con las de siempre.
Tengo un codigo que funciona perfectamente en Builder 6, pero al pasarlo en RAD2010 falla estrepitosamente.
El codigo que he creado para ver el problema es el siguiente:
Se crea un formulario con un TRichText y un TEdit.
En el evento OnClick del TRichText
| Código: |
String respuesta = "";
// hacemos un salvado en un fichero temporal
randomize();
String nombreArchivo = "fich_rtf"+IntToStr(rand());
RichEdit1->Lines->SaveToFile(nombreArchivo);
TStringList* n = new TStringList();
n->LoadFromFile(nombreArchivo);
respuesta = n->GetText();
delete n;
DeleteFile (nombreArchivo);
Edit1->Text = respuesta;
|
Y en el evento OnClick del TEdit
| Código: |
RichEdit1->Text = Edit1->Text;
|
La idea es que cuando pinche en el RichText me pase al TEdit el codigo RTF del texto del TRichText. Al pinchar en el TEdit debería de aparecer el texto con el codigo RTF incluido en el TRichText (Negrita, subrayado, etc...)
Este codigo funciona en Builder 6 (En este entorno no tiene el evento OnClick el componente TRichText, pero se puede probar con cualquier otro, o poner un boton para probar).
Si lo pones en RAD2010, al pinchar en el TEdit, en el TRichText sigue apareciendo con el codigo RTF.
¿Me podeis ayudar?
Lo que yo quiero es guardar el codigo RTF en la BD, y cuando lo recupere me aparezca el texto con su formato en el RichText.
Muchas gracias
Un saludo |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Mar 08 Jun, 2010 5:59 pm Asunto: |
|
|
Esto funciona en las dos versiones y no requiere de un archivo temporal:
- En el OnClick del RichEdit:
| Código: | std::auto_ptr<TStringStream> ss(new TStringStream(EmptyStr));
RichEdit1->Lines->SaveToStream(ss.get());
Edit1->Text = ss->DataString;
|
- En el OnClick del Edit:
| Código: | std::auto_ptr<TStringStream> ss(new TStringStream(Edit1->Text));
RichEdit1->Lines->LoadFromStream(ss.get());
|
|
|
| Volver arriba |
|
 |
rockman2003 Master

Registrado: 27 Ene 2004Mensajes: 202Ubicación: Madrid
|
Publicado: Mar 08 Jun, 2010 6:26 pm Asunto: |
|
|
Muchas gracias _Leo, como siempre impecable.
Para los que lo vayan a utilizar, faltaria incluir (valga la redundancia)
| Código: |
#include <vector>
|
|
|
| Volver arriba |
|
 |
|