PDA

Ver la Versión Completa : Guardar texto con formato en Access


Franklim
13-04-2004, 11:26:11
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.
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
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!