Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-10-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 24
Caro Va por buen camino


Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #2  
Antiguo 20-10-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Caro Ver Mensaje
Saluditos
Upppppsss!!!

Perdón, "se me fue el Santo al Cielo" con este hilo (como se suele decir).
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 20-10-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Bueno, más o menos me refería a esto. Lo recordaba con menos líneas la verdad.
He subido el ejemplo completo a mi web, ya que "pesa" demasiado para subirlo aquí. Incluye una Base de Datos algunas imágenes y el compilado.

Los dos procedimientos que se usan son estos:

Uno para obtener la imagen JPG de disco y guardarla e la Base de Datos.

Código Delphi [-]
procedure loadjpeg(FieldIMAGEN:TblobField; FileName:string);
var
  Jpg: TJpegImage;
  Stream: TMemoryStream;
begin
  Jpg := nil;
  Stream := nil;
  try
    Jpg := TJpegImage.Create;
    Jpg.LoadFromFile(filename);
    Stream := TMemoryStream.Create;
    Jpg.SaveToStream(Stream);
    Stream.Position := 0;
    FieldIMAGEN.loadFromStream(Stream);
  except
    showmessage('problemas');
    jpg.Free;
    Stream.Free;
    raise;
  end;
  jpg.Free;
  Stream.Free;
end;

Y otro para poder visualizar esas imágenes JPG en los componentes estandard de Base de Datos.

Código Delphi [-]
procedure ShowJPG(FieldImagen:TBlobField; Picture:TPicture);
var
  Stream: TMemoryStream;
  Jpg: TJpegImage;
begin
 Jpg := nil;
  Stream := nil;
  try
    Stream := TMemoryStream.Create;
    FieldImagen.SaveToStream(Stream);
    if Stream.Size > 0
     then begin
            Jpg := TJpegImage.Create;
            Stream.Position := 0;
            Jpg.LoadFromStream(Stream);
            Picture.Assign(Jpg);
         end
     else Picture.Assign(nil);
  except
    Picture.Assign(nil);
  end;
  jpg.Free;
  Stream.Free;
end;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 21-10-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 24
Caro Va por buen camino
Muchas gracias por responder Neftali, te cuento que la forma en que lleno el TImage es algo parecido al codigo que me has pasado.

Lo que yo quiero es que en mi campo donde se guarde la foto, pueda haber tanto imagenes bmp como jpg, para que se haga mas facil he añadido un campo mas para guardar la extension, entonces lo que hice fue verificar la extensión y dependiendo de cual fuera, mostrar de una forma u otra.

En el programa que me has pasado hice los cambios para que puedas ver mejor y me ayudes en un problemita que tengo, ahora se puede registrar tanto bmp o jpg, he añadido un DBCtrlGrid que es ahí donde quiero mostrar el DBImage, así como estaba con el evento AfterScroll que es el que refresca la imagen, no funcionaba nada bien, por lo que he utilizado el evento OnPaintPanel del DBCtrolGrid.

Mis preguntas, con el TImage funciona bien si todos los registros tienen imagenes pero sino, repite la ultima imagen que ha cargado en los que no tienen ninguna imagen, le he asiganado nil por si no encuentra pero nada me sigue cargando la imagen. De mi forma con un DBImagen pasa algo parecido que el anterior la diferencia es que solo el siguiente que no tiene imagen se carga con el anterior, con tu codigo, funciona bien. Por favor me puedes decir que estoy haciendo mal con mi codigo, porque no se asigan nil cuando no encuentra imagen en ese registro , tanto para el TImage como el TDBImage.

Te adjunto el pas, dfm y la BD lo he subido ha rapidshare, esta con el nuevo campo y con algunas imagenes bmp http://rapidshare.com/files/156026934/DataBase.mdb.html

Saluditos
Archivos Adjuntos
Tipo de Archivo: zip ImagenesDB.zip (3,1 KB, 9 visitas)
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #5  
Antiguo 21-10-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Hola Caro.
Bueno, queda descartado el tema del DBImage, puesto que creo que al utilizar DBCtrlGrid que visualiza más de un registro, esa opción no tiene mucho futuro.

Si te quedas con el Image, la única slución que se me ha ocurrido (no se si la has probado ya) es utlizar un BMP vacío para "limpiar" la imagen. Parece un poco "chapuza" y realmente lo es, pero con las pruebas que he hecho, es la única forma que he encontrado de que funcione.
La he añadido a un recurso para que no esté en disco.
Archivos Adjuntos
Tipo de Archivo: zip ImagenesDB1.zip (3,9 KB, 10 visitas)
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 21-10-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 24
Caro Va por buen camino
Muchas gracias Neftali, entonces seguire utilizando el TImage con el bmp vacío , acabo de hacer la prueba y si funciona . Una preguntita mas solo por curiosidad que significa "se me fue el Santo al Cielo".

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #7  
Antiguo 21-10-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Caro Ver Mensaje
"se me fue el Santo al Cielo".
Algo así como:
"Se me pasó y ...", "se me olvidó y ..."

Cuando quieres hacer algo, se te olvida y dejas de hacerlo. Cuando te acuerdas sale esta frase... "se me fue el Santo al Cielo" en referencia a aquello que debías hacer.

Es difícil de explicar...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
mostrar imagen MARLON1 Varios 18 04-04-2008 20:22:45
Insertar Imagen en Registro de Access Saiyan Conexión con bases de datos 7 22-08-2007 17:27:52
Mostrar una imagen JPG Doraemon Gráficos 1 19-01-2007 04:10:36
Buscar registro y mostrar en edits CONY Conexión con bases de datos 1 18-07-2006 23:14:43
Mostrar 3 registro de un campo MAXIUM Tablas planas 5 27-09-2005 17:52:13


La franja horaria es GMT +2. Ahora son las 16:14:19.


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