Mostrar Fotos en Visual Fox pro

Tengo una BD. En un Servidor en el cual contiene la tabla articulos.
Esa tabla contiene un campo que se llama imagen el cual guarda la ruta
de la imagen que esta en una carpeta en el servidor.
Ahora yo tengo un programita en visual fox y lo que quiero es mostrar esas
imagenes segun el codigo, pero lo quiero mostrar en local que no se conecte
al servidor
Ejemplo
Nombre de la foto: pc001 y al uscar en local que aparesca esa foto
Me gustaria que copiase toda la foto en mi local y que luego pueda
mostrar esas fotos en visual fox pero sin guardar la ruta.
¿Se puede?

2 respuestas

Respuesta

Hola Rubén Dario Lezcano Salinas! Infinitas gracias por consultar. Espero poder ayudarte.

No comprendo muy bien "lo quiero mostrar en local que no se conecte
al servidor".. a que te refieres? Según entiendo... las fotos están en una carpeta de server... vos quieres buscar la foto de forma local? osea que las fotos están en la terminal cliente (en tu pc)??? Explícame un poco mejor!

Respuesta

Espero poder ayudarte. Te recomiendo que cambies el enfoque para hacer mejor tu consulta de los datos:

.

Podrías hacer que la tabla "articulos" tenga un campo tipo memo que se llame "imagen" y ahí guardas la imagen. ¿Cómo guardas una imagen en un memo?, bueno, con la función fileToStr()

.

Cuando alguien elije una imagen de un articulo y actualiza vos la guardas con:

Replace imagen with fileToStr('c:\fotos\articulo.jpg') 

.

De esta manera te queda una cadena que representa a tu imagen.

.

Para mostrarla en un image es fácil. En lugar de usar la propiedad picture a la ruta de la imagen, usas la propiedad pictureVal donde va tu cadena. Así:

.

thisform.image.pictureVal=articulos.imagen

.

Lo bueno de esto es que la imagen estará siempre disponible y no usas archivos. Salvo que quieras copiarlo o algo, en ese caso podes usar una función inversa que se llama strToFile(): Así:

.

strToFile(articulos.imagen,'c:\fotos\imagen.jpg')

o

mArchivo=putFile('jpg')

if !empty(mArchivo)

StrToFile(articulos. Imagen, mArchivo)

Endif

.

Para la pantalla de alta de artículos (donde el usuario elije la imagen) podes hacer un control image y le pones un botón abrir por ejemplo "buscar imagen" y el click de ese botón haces así:

.

mArchivo=getFile('jpg')

if !empty(mArchivo)

thisform.imagen.pictureVal=fileToStr(mArchivo)

Endif

.

Después, cuando guardas los datos solo reemplazas así:

.

replace imagen with thisform.imagen.pictureVal

.

.

Espero haber podido ayudar. Christian de Keystone

www.keystone.com.ar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas