Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   metiendo un TMSRichEditor como BLOB en MySQL y como sacarlo de ahi (https://www.clubdelphi.com/foros/showthread.php?t=96659)

navbuoy 30-03-2024 19:02:08

metiendo un TMSRichEditor como BLOB en MySQL y como sacarlo de ahi
 
Hola, estoy teniendo un problemilla con esta historia

1) quiero guardar en una Tabla MySQL en un campo BLOB un archivo .rte (rich editor-Texto enriquecido)

esto lo estoy haciendo asi:

Código:

TMemoryStream *MemoryStream = new TMemoryStream;

 des = Form1->appPath + "\\data\\RTE\\" + "RichEditDesc" + AnsiString(Form1->template_Notas[c].id) + ".rte";
                 
Form1->RichEditor1->LoadFromFile(des);
Form1->RichEditor1->SaveToStream(MemoryStream);

y luego al crear el registro en la tabla, append etc la instruccion es esta:

MyTable_SERVER_TEMPLATES->FieldValues["RTE_BLOB"] = MemoryStream;

(esto lo hace bien, no da error ni nada asi que creo que lo mete en la BD)


el problema viene al intentar hacer la operacion inversa, es decir, sacar el *.rte del RTE_BLOB y escribirlo en disco y que lo haga bien claro para que lo pueda leer el RichEdit

lo tengo asi:

Código:

          TField *field = Form7->MyTable_SERVER_TEMPLATES->FieldByName("RTE_BLOB");
          TBlobField *blob = dynamic_cast<TBlobField *>(field);

          AnsiString des = Form1->appPath + "\\data\\RTE\\" + "RichEditDesc" + AnsiString(Form1->notas2[count].id) + ".rte";
                      blob->SaveToFile(des);

y aunque lo guarda y tal, no lo hace bien porque el contenido del *.rte creado no tiene toda la historia de cosas raras que suele tener el fichero binario de Rich Text
y me dice cuando intento cargarlo en el RichEdit "read error" es decir el formato no lo ha guardado con el que tendria el rich edit rte.

si alguien me echa una mano pues gracias


La franja horaria es GMT +2. Ahora son las 06:01:30.

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