Como insertar foto en tablas de visual fox pro 9

Alguien por favor que me oriente como insertar una foto en visual fox pro de tal manera que al cambiar de registro cambien también las fotos
Gracias de antemano
{"lat":15.2841851140764,"lng":-83.671875}
1

1 respuesta

1
Respuesta de
Hola. Espero poder ayudarte:
Hay dos métodos. Uno es por referencia a un archivo y el otro guardando la foto directamente en la tabla pero para el segundo, tendrías que ver alguna manera de controlar el tamaño para que las fotos no sean muy grandes y pesadas.
El primer método: poner en un campo de texto la referencia a la foto (una referencia que todos vean, si es un sistema en red, poner la referencia a la carpeta de red y el nombre del archivo (por ej. \\servidor\fotos\juanperez.jpg)
Despues, en tu control image pones algo asi: thisform.foto.picture=personas.foto
El segundo método y que seguramente quieres usar, es guardando la foto en un memo de la tabla.
Para guardal la foto harías:
mArchivo=FileToStr("c:\fotos\juanperez.jpg")
replace personas.foto with mArchivo
Para recuperar la foto, en lugar de utilizar la propiedad PICTURE del image, utilizarías la propiedad pictureVAL.
thisform.foto.pictureVal=personas.foto
Si quieres guardar la foto que está en la tabla, podes usar la propiedad inversa de FileToStr() que es StrToFile()
=strToFile(personas.foto,"c:\fotos\juanPerez.jpg")
Por ultimo, si utilizas esta función FileToStr() desde el principio, guardando el dato en la propiedad PictureVal del image, podes utilizarlo directamente al momento de guardar los datos.
Supone que en un formulario cargas datos de empleados, pones un image para que carguen la foto y después presionan el botón "guardar" y todo se guarda. En este caso quedaría algo así.
En el botón para cargar la foto (click)
mArchivoFoto=getPict()
if !empty(mArchivoFoto)
   thisform.foto.pictureVal=fileToStr(mArchivoFoto)
Endif
En el botón guardar (click)
replace personas.foto with thisform.foto.pictureVal
Para traer los datos
thisform.foto.pictureVal=personas.foto
Para guardar una copia de la imagen que esta en la tabla:
mArchivoFoto=getFIle("JPG")
if !empty(mArchivoFoto)
   =strToFile(thisform.foto.pictureVal,mArchivoFoto)
Endif
Espero que mi respuesta sea de utilidad.
Christian
Keystone
Gracias por su enorme ayuda, estoy aprendiendo visual fox, si tienes un ejemplo de algún formulario con estas características se lo agradezco si me lo puedes mandar en mi coreo
Hola.
Lamentablemente no envío información por correo, ya que mi aporte apunta justamente a compartir la información con la comunidad y se basa principalmente en la capacitación.
Si querés te puedo proponer que empieces a hacer tu formulario y vamos viendo por este medio que iría en cada método.
Cualquier cosa estoy a tu disposición para cualquier consulta.
Christian
Keystone
Gracias por la disponibilidad, ya esta hecho el formulario, todo funciona bien, al presionar el botón siguiente cambia a los siguientes datos, solo falta insertar la foto, tengo un campo de tipo general llamado foto para guardar la image, pero no se que hacer. Gracias por su ayuda.
Hola:
No vamos a utilizar un campo GENERAL sino un campo MEMO.
Fíjate por favor en el post anterior y ahí dice que poner en cada botón. Pero siempre dentro del campo tipo memo.
Lo primero es en el click del botón para cargar la foto.
mArchivoFoto=getPict()
if !empty(mArchivoFoto)
   thisform.foto.pictureVal=fileToStr(mArchivoFoto)
Endif
Recordá que también tienes que tener un control Image en el formulario que se llame "Foto" para que este pequeño código funcione.
Luego, en el botón donde se guardan los datos:
replace personas.foto with thisform.foto.pictureVal
Ese código va junto con los otros donde actualizas los valores de los campos de la tabla.
Saludos
Christian
Keystone
Gracias compañero, tu ayuda me fue muy valioso, ya funciona mi formulario con foto,
use el primer método que es poner referencia en un campo.
Si no es mucha molestia estaré en contacto contigo para mi próxima pregunta, como lo mencione soy un novato pero quiero aprender, saludos
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje
¿No es la pregunta que estabas buscando?
Puedes explorar otras preguntas del tema Visual Fox Pro o hacer tu propia pregunta: