Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Guardar texto con formato en Access (https://www.clubdelphi.com/foros/showthread.php?t=9052)

Franklim 13-04-2004 11:26:11

Guardar texto con formato en Access
 
Hola amigos, que tal. Tengo la siguiente duda a ver si me pueden ayudar :
Estoy realizando una aplicacion, uso Delphi 6 y Access y tengo que guardar algun campo de texto bastante grande del tipo memo pero me gustaria guardarlo con formato, me explico, que al mostrarlo despues desde la BD aparezca tal y como lo guarde, si estaba una palabra en negrita que aparezca asi, etc. Hasta ahora no he podido hacerlo porque lo guardo de una manera y me aparece despues todo el texto igual. Quiero hacerlo para que al mostrarlo en el QuickReport aparezca tal y como lo introduje.


Saludos y muchos gracias.

delphi.com.ar 13-04-2004 15:50:50

Puedes guardarlo de esta forma, y usar un QRDBRichText para imprimirlo.
Código:

var
  AStream : TStream;
begin
  AStream := TMemoryStream.Create;
  Try
    RichEdit1.Lines.SaveToStream( AStream );
    TBlobField( qryFirmas.FieldByName('FIRMA') ).LoadFromStream( AStream );
  finally
    AStream.Free;
  end;
end;

Saludos!

Franklim 14-04-2004 13:41:35

Gracias pero no se como insertar el codigo
 
Muchas gracias por tu respuesta pero tengo un pequeño problema y es que no se como insertar el codigo en el mio. Me explico, yo trabajo de esta manera :(he quitado las comprobaciones previas para hacer mas claro el codigo)


sql := 'Insert into [Modelo Presupuesto] (enlace,modelo,descripcion) values(';
sql := sql +ADOQueryConsulta.fieldByName('Indice').AsString+',';
sql := sql +''''+ EditModeloSeleccionado.Text+''''+',';
sql := sql +''''+ RichEditDescripcion.Text+''''+');';
ADOQueryConsulta.SQL.Clear;
ADOQueryConsulta.SQL.Add(sql);
ADOQueryConsulta.ExecSQL;

y no veo como o no se como introducir el codigo que me comentas en medio de esto.


AStream := TMemoryStream.Create;
Try
RichEditDescripcion.Lines.SaveToStream(AStream);
BlobField(ADOQueryConsulta.FieldByName('Descripcion') ).LoadFromStream
(AStream);
finally
AStream.Free;


Saludos y gracias.

delphi.com.ar 14-04-2004 15:24:18

Si quieres armar el Sql "a mano" en lugar de pasarlo a un TMemoryStream podrías pasarlo a un TStringStream y recuperar el contenido del mismo con la propiedad DataString... pero si el valor del RichEdit es demasiado extenso, posiblemente esta metodología falle, por eso te recomiendo usar DataSets editables. Busca en el foro información sobre el TUpdateSQL.

Saludos!


La franja horaria es GMT +2. Ahora son las 14:27:07.

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