Necesito ayuda con el almacenamiento de imágenes!
¿Tengo un proyecto de un registro de alumnos uno de los requisitos es que me almacena una fotografía del alumno que se registra eso de almacenar la fotografía ya lo hice y en el form se tiene que navegar por todos los registros el problema que tengo es que cuando paso los registros la imagen no cambia la imagen se muestra en un control imagen nada más se cambia si le doy clic y si le aplico un refresh no me lo acepta como puedo hacer para que la imagen cambien?
De antemano muchas gracias
De antemano muchas gracias
1 Respuesta
Respuesta de maxisis
1
1
maxisis, Experiencia de 10 años en FoxPro 2
Para poder ayudarte es necesaria saber algunas cosas más.
Necesito saber que VFP usás, como guardás la imagen y como vinculás el control Image a la imagen.
Pásame esos datos y vemos como seguimos.
Necesito saber que VFP usás, como guardás la imagen y como vinculás el control Image a la imagen.
Pásame esos datos y vemos como seguimos.
Pues la versión es 9.0 y para guardar la imagen la guarda en una tabla lo que se guarda en la tabla es la ruta de la imagen en la tabla por medio de una variable que utilizo y la tuta que se almacena en la variable se muestra en un texbox y el contro imagen le digo que sea igual a la ruta que se muestra en el texbox...
No se si me doy a entender dejo me msn por algo
[email protected]
No se si me doy a entender dejo me msn por algo
[email protected]
Ya que usás VFP 9 te recomiendo que en tu tabla uses para el campo Foto el tipo de datos Memo (Binary) y que te guardes el contenido de la imagen. Después vinculá directamente la propiedad PictureVal al campo Foto
Para guardar la foto tendrías que hacer así:
REPLACE Foto WITH FILETOSTR(<ruta completa de la imagen>)
Y cada vez que te movés de registro hacés:
ThisForm.Imagen.PictureVal = tabla.Foto
Y listo.
De esta forma, no te afecta la ruta de la imagen, ya que la imagen la tenés dentro de la tabla.
Espero te sirva. Suerte.
Para guardar la foto tendrías que hacer así:
REPLACE Foto WITH FILETOSTR(<ruta completa de la imagen>)
Y cada vez que te movés de registro hacés:
ThisForm.Imagen.PictureVal = tabla.Foto
Y listo.
De esta forma, no te afecta la ruta de la imagen, ya que la imagen la tenés dentro de la tabla.
Espero te sirva. Suerte.
Tengo para guardar la imagen un botón que el código del botón lo tengo así }
nombreimagen = getpict('','Buscar Imagen','Escoger')
thisform.txtfotografia.Value = nombreimagen
y por lo que te entendi tendria q remplasar eso por esto
REPLACE Foto WITH FILETOSTR(<ruta completa de la imagen>)
nose si entendi??????????????
nombreimagen = getpict('','Buscar Imagen','Escoger')
thisform.txtfotografia.Value = nombreimagen
y por lo que te entendi tendria q remplasar eso por esto
REPLACE Foto WITH FILETOSTR(<ruta completa de la imagen>)
nose si entendi??????????????
Claro.
En tu caso, tendrías que hacer así:
REPLACE Foto WITH FILETOSTR(nombreimagen)
Y listo. Ya guardás en tu campo la imagen en sí, no la ruta. Hasta te podrías llevar esa tabla a otro equipo y seguirías teniendo la imagen.
En tu caso, tendrías que hacer así:
REPLACE Foto WITH FILETOSTR(nombreimagen)
Y listo. Ya guardás en tu campo la imagen en sí, no la ruta. Hasta te podrías llevar esa tabla a otro equipo y seguirías teniendo la imagen.
El nombre del campo que guarda la foto. En tu tabla deberías tener un campo tipo Memo (Binary) que guarde la foto.
Lo puse así para mostrarte como guardar el contenido de la imagen.
Vos tenías esta línea de código:
nombreimagen = getpict('','Buscar Imagen','Escoger')
Ahí guardabas la ruta de la imagen
Después agregá esto:
REPLACE Foto WITH FILETOSTR(nombreimagen)
Donde Foto debería ser el nombre del campo que va a guardar la imagen (ponele el nombre que te guste).
¿Me explico?
Vos tenías esta línea de código:
nombreimagen = getpict('','Buscar Imagen','Escoger')
Ahí guardabas la ruta de la imagen
Después agregá esto:
REPLACE Foto WITH FILETOSTR(nombreimagen)
Donde Foto debería ser el nombre del campo que va a guardar la imagen (ponele el nombre que te guste).
¿Me explico?
Pero tu me dices que quite lo que tenia y al quitarlo dice que no encuentra la bariavle nombreimagen
Si ya esta y si hoy que es lo que tengo que poner en a propiedad pictureval del control picture para que las muestre bastara con el nombre del campo
Una vez que tengas las imágenes guardadas en el campo (suponiendo que el campo que guarda la foto se llama "foto") tendrías que hacer esto cuando pases a la ficha de otro alumno:
ThisForm.Imagen.PictureVal = tutabla.foto
Y listo.
ThisForm.Imagen.PictureVal = tutabla.foto
Y listo.
Cuando quieras seguimos.
Para repasar:
-En tu tabla (como ejemplo voy a usar como nombre "tutabla"), tenés que tener un campo tipo Memo (Binary) para guardar la imagen. Supongamos que el nombre de ese campo es "Foto".
-Tenés que tener un botón o algo para seleccionar la imagen y guardarla en la tabla. Supongamos que es un botón. En el evento Click de ese botón tendrías que tener:
nombreimagen = getpict('','Buscar Imagen','Escoger')
REPLACE Foto WITH FILETOSTR(nombreimagen)
-Tenés que tener un control "Image" para mostrar las fotos.
-En los botones de navegación entre alumnos, tendrías que refrescar la imagen:
ThisForm.Imagen.PictureVal = tutabla.foto
Y listo.
Fíjate si tenés todo así y avisame. Suerte.
Para repasar:
-En tu tabla (como ejemplo voy a usar como nombre "tutabla"), tenés que tener un campo tipo Memo (Binary) para guardar la imagen. Supongamos que el nombre de ese campo es "Foto".
-Tenés que tener un botón o algo para seleccionar la imagen y guardarla en la tabla. Supongamos que es un botón. En el evento Click de ese botón tendrías que tener:
nombreimagen = getpict('','Buscar Imagen','Escoger')
REPLACE Foto WITH FILETOSTR(nombreimagen)
-Tenés que tener un control "Image" para mostrar las fotos.
-En los botones de navegación entre alumnos, tendrías que refrescar la imagen:
ThisForm.Imagen.PictureVal = tutabla.foto
Y listo.
Fíjate si tenés todo así y avisame. Suerte.
- Compartir respuesta
- Anónimo
ahora mismo