Hola a todos!
se que aun debo de informarme mas sobre lazarus y todo los componentes. y estoy en eso!
Tengo una pregunta puedo tener una BD de imagenes
estaba pensando en una opcion que fuera cargar y
cargara la imagen de un producto.
Pero no se si esto se puede realizar?
Mailing lists / lazarus-es / 2010-11
Imagenes
5 messages · 3 people · –
- LLissy Amador 2
- PPaola Bruccoleri 2
- CClaudio Romero 1
Reply by email Subscribe to this list Your subscription
Read-only archive. Use j and k to move between messages.
El 29/11/2010 07:07 p.m., Lissy Amador escribi�:
Show quoted text 7 lines
si, puedes usar los campos blob para eso. Aunque muchos prefieren no guardar las im�genes en la bd sino guardar la ruta a la imagen, y tener las im�genes en alguna carpeta. Luego, desde el programa, cargas la imagen. cauuuuuuuuuuu
el tipo blob me permite guardar en mayor cantidad
entonces puedo tener un form para guardar datos y
dentro de esos datos puede estar un dato de tipo
blob. puedo tener componentes para los campos de
nombre y apellido y como puedo hacer para teener un boton que me permita visualizar la imagen a guardar,
para luego tener un boton guardar y me pueda guardar todos los datos incluyendo la imagen, en una tabla.
para la opcion de guardar lo haria con un insert pero para cargar o visualizar la imagen como lo puedo hacer?
Earlier message 20 lines
El 29/11/2010 07:52 p.m., Lissy Amador escribi�:
Show quoted text 12 lines
ac� ten�s algo para ir mirando...
http://www.clubdelphi.com/foros/showthread.php?t=20099 http://archives.postgresql.org/pgsql-es-ayuda/2007-03/msg00930.php http://www.forosdelweb.com/f14/insercion-imagenes-delphi-405598/
Hola, para mi caso particular que yo usaba imaganes .tiff, los componentes de Lazarus no me cargaban ni mostraba la imagen. Y para no depender del formato, decidi hacer la carga de cualquier tipo de imagen .gif, .jpg, .tiff etc en la base Firebird con este codigo.
if not OpenDialog1.Execute then exit;
consulta:='INSERT INTO IMAGENES
(SOCIO,TIPO,IMAGEN,fecha)VALUES(:SOCIO,:TIPO,:IMAGEN,:fecha)';
with SQLQuery1 do begin
Close; SQL.Clear; SQL.Add(consulta);
Params.ParamByName('socio').AsString:=E_CodAfiliado.Text;
Params.ParamByName('imagen').LoadFromFile(Utf8ToSys(OpenDialog1.FileName),ftBlob);
Params.ParamByName('tipo').AsString:=E_CodTipoImagen.Text;
Params.ParamByName('fecha').AsDate:=GFechaHoraServidor;
if SQLTransaction1.Active then SQLTransaction1.Commit;
SQLTransaction1.StartTransaction;
ExecSQL;
end;
SQLTransaction1.Commit;
Despues para ver la imagen y no renegar con Lazarus, use un programa
externo que soporta multiples formatos de imagenes (tanto en Windows
como Linux hat muchisimos tipo ACDSee, etc)
Para ver la imagen, la descargo en el disco local y la abro con un visor.
try
Screen.Cursor:=crSQLWait;
//hay que guardar el nombre para sacar la extension, aunque abre jpg
con extension tif.
archivo:=ExtractFilePath(Application.EXEName)+'imagen.tif';
try
if SQLQuery2.FieldByName('imagen').IsNull then exit;
TBlobField(SQLQuery2.FieldByName('imagen')).SaveToFile(archivo);
except on e:exception do
begin
GrabaLog(Kinfo,'TFormInfoAfiliado.MI_VerImagenClick: '+e.Message);
exit;
end;
end;
EjecutarPrograma(GVisorImagenes+' '+archivo);
finally
Screen.Cursor:=crArrow;
end;Hace un a�o esta en producci�n, y los usuarios cargan imagenes scaneadas sin problemas. Tanto JPG como TIFF.
Saludos.
