Delphi - Como agrego una imagen a un campo memo?

 
Vista:

Como agrego una imagen a un campo memo?

Publicado por Alfonso (47 intervenciones) el 23/03/2004 18:27:39
hola¡¡
quiero poner una imagen en un campo memo, como lo hago?
gracias¡
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como agrego una imagen a un campo memo?

Publicado por nombre (14 intervenciones) el 24/03/2004 00:25:27
¿Que tablas y componentes usas?

En Trucomania hay algo, creo recordar el truco 216 o algo asi.

Si me das tu dirección te mando un .pdf para hacerlo en InterBase.

Este código que te pongo funciona también.

//cargar foto
procedure TFDatos.Cargarfoto1Click(Sender: TObject);
var
m, f: TStream;
s: string;
begin
//se abre picturedialog para cargar fichero foto que se coja
if dlgOpenPicture.Execute then
begin
//modo edición
DM.IBDSAlumnos.Edit;
//stream a partir campo Blob que contendrá la imagen
m:= DM.IBDSAlumnos.CreateBlobStream(DM.IBDSAlumnosFOTO, bmWrite);
//stream para acceder al archivo gráfico
f:= TFileStream.Create(dlgOpenPicture.filename, fmOpenRead);
//copiar de un stream a otro
m.CopyFrom(f, f.Size);
//coger formato foto y ponerlo en campo correspondiente
s:= AnsiUpperCase(ExtractFileExt(dlgOpenPicture.FileName));
if s='.JPEG' then
s:= '.JPG';
DM.IBDSAlumnosFORMATOFOTO.AsString:= Copy(s,2,3);
DM.IBDSAlumnos.Post;
DM.IBDSAlumnos.Edit;
//destruir streams
f.Free;
m.Free;
end
end;

//borrar foto
procedure TFDatos.Borrarfoto1Click(Sender: TObject);
begin
//borrar imangen
ImageFoto.Picture.Assign(nil);
//borrar foto del campo blob
if (DM.IBDSAlumnos.State <> dsEdit) and (DM.IBDSAlumnos.State <> dsInsert) then
DM.IBDSAlumnos.Edit;
DM.IBDSAlumnosFOTO.Assign(nil);
DM.IBDSAlumnos.Post;
DM.IBDSAlumnos.Edit;
end;

//mostrar imagen (evento on change de datasource)
procedure TFDatos.DSAlumnosFDataChange(Sender: TObject; Field: TField);
var
m: TStream;
begin
if DM.IBDSAlumnosFOTO.IsNull then
//para registros sin foto poner imagen vacia
ImageFoto.Picture := nil
else
begin
if DM.IBDSAlumnosFORMATOFOTO.AsString = 'BMP' then
//si es formato BMP
ImageFoto.Picture.Graphic:= TBitmap.Create
else if DM.IBDSAlumnosFORMATOFOTO.AsString = 'JPG' then
//si es formato JPG
ImageFoto.Picture.Graphic:= TJpegImage.Create
{else if DM.IBDSAlumnosFORMATOFOTO.AsString='GIF' then //hace falta componente
//si es formato GIP //TGIFImage
Image1.Picture.Graphic:= TGIFImage.Create }
else
Exit;
//copiar los datos desde la tabla con un stream
m:= DM.IBDSAlumnos.CreateBlobStream(DM.IBDSAlumnosFOTO, bmRead);
ImageFoto.Picture.Graphic.LoadFromStream(m);
m.Free;
end;
end;

Suerte. TDS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como agrego una imagen a un campo memo?

Publicado por nombre (14 intervenciones) el 24/03/2004 00:33:14
Se me ha olvidado, creo recordar que para que funcione ese código hace falta añadir en

uses
Jpeg, DB

Suerte. TDS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Yo tambien lo quiero

Publicado por Alfonso (47 intervenciones) el 24/03/2004 17:36:00
hola¡¡

aqui te dejo mi mail para ver si me lo puedes pasar, gracias¡¡

[email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Yo tambien lo quiero

Publicado por nombre (14 intervenciones) el 24/03/2004 20:38:21
Os he mandado ahora mismo el pdf. Espero que lo hayais recibido.

TDS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Yo tambien lo quiero

Publicado por Alfonso (47 intervenciones) el 26/03/2004 18:58:21
hola¡¡
gracias por tad la ayuda y por el ejemplo, solo una cosa no ahy un metodo mas facil de solo copiar y pegar la imagen en un campo memo, o algun modo de imprimir texto de diferentes text box junto con la imagen?
gracias¡¡
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Yo tambien lo quiero

Publicado por nombre (14 intervenciones) el 27/03/2004 02:20:41
Si solo utilizas imágnes .bmp si es bastante sencillo.

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Yo tambien lo quiero

Publicado por Alfonso (47 intervenciones) el 29/03/2004 18:05:56
saludos, si de echo solo utilizo una sola imagen .bmp, esta es la que quiero pegar...
saludos¡
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar