Ver Mensaje Individual
  #13  
Antiguo 28-07-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Reputación: 22
andres1569 Va por buen camino
Hola:

De las tres opciones propuestas por Marcos, me quedo con la tercera, aunque dependiendo de la finalidad que le des a esa base de datos, ode lo que ocupen las fotos, puede que la primera opción sea más oportuna en ciertos casos. Me explico:

La primera opción, la de almacenar en un campo STRING el nombre del archivo con la foto, tiene el hándicap de que si migras la aplicación a otro ordenador debes arrastrar consigo también la carpeta con las fotos, está claro que lo mismo has de hacer con la Base de Datos, pero no deja de ser un paso más. La ventaja que le veo es que es más fácil retocar o cambiar una imagen y que quede reflejado en tu programa. Si la foto estuviera en la misma BD, habría que habilitar una opción de dibujo desde tu programa (o quizás copiar y pegar a un programa de retoque fotográfico, ejem, ejem, algo engorroso). Si usas esta opción veo recomendable que sólo almacenes en la tabla el nombre del archivo, sin la ruta. Ésta residiría, o bien en otra tabla de índole general en tu aplicación, o bien en un archivo .INI, etc, el caso es que sea fácil redirigir desde el programa el lugar donde debe buscar las fotos. Una ventaja de esta opción es que alivias de peso la BD.

La segunda opción que plantea Marcos me parece algo complicada. Quizás el propósito es aliviar el peso de la tabla maestra (la que contiene el resto de datos de personas), pero hay que tener en cuenta que ya de por sí los campos GRAPHIC, al igual que los MEMO, se almacenan en un fichero aparte en Paradox. Además, la programación de esta opción es más complicada, pues implica cada vez relacionar dos tablas.

Me quedo con la tercera opción, la de almacenar directamente en un campo GRAPHIC cada foto, más que nada por un tema de simplicidad y de tenerlo todo en la misma BD. También admito que el uso de esta opción va ligado al tamaño de las fotos, si éstas ocupan mucho, pueden sobrecargar la BD en exceso.

Si optas por la primera opción, Marcos ya te ha propuesto una buena manera de mostrar una foto alternativa en caso de que no haya foto original. Éste es un artificio difícil de implementar si usamos un TDBImage en vez de un TImage.

A todo esto, ¿resolviste el tema de poder cargar la imagen en el TDBImage?
__________________
Guía de Estilo
Responder Con Cita