** Puedes grabar un campo general de la siguiente forma
x = FILETOSTR(GETFILE())
REPLACE template WITH x
*** Haciendo un append blank previamente, claro
*** Y recuperarlo es muy sencillo
SELECT ;
Template ;
FROM ;
CATemplates ;
WHERE ;
RefTemplate = 1 ;
INTO ;
CURSOR csrCATemplates
Y después con, por ejemplo, un strtofile las puedes grabar a disco y tratarlas.
Ahora bien, si lo que pretendes es guardar imágenes en tablas VFP, en mi opinión, eso no es una buena idea, lo que pasa es que cuando guardas muchas imágenes las tablas pesan muchísimo y todo se vuelve muy, muy lento.
Lo que yo hago, no digo que sea lo mejor, solo lo que yo hago, es guardar el nombre del archivo de imagen en un campo de texto y recuperar la foto en dinámico.
Ten en cuenta de no grabar la ruta, solo el nombre, de esa forma puedes parametrizar el sitio donde vas a almacenar las imágenes y cambiarlo rápidamente, sin tener que hacer un proceso que modifique toda la tabla.
Un saludo,
Pepe Llopis
Dependiendo del escenario puedes simular tú mismo la funcionalidad que deseas, por ejemplo imaginemos que estás mostrando la foto en un campo de imagen, puedes en el evento clic hacer lo siguiente:
Obtienes con un select o como quieras el stream de la imagen
Lo grabas a un archivo de trabajo con strtofile y sys(2023) para obtener el path temporal, realmente si lo estás mostrando ya tendrás este paso hecho.
A continuación lo editas con tu programa favorito, lo más sencillo es con macrosustitución, por ejemplo imagina que usas el paint:
lcComand = "RUN /n mspaint "+CHR(34)+lcNombrearchivoTemporalFoto+CHR(34)
&lcComando
También puedes codificar esto en un commandbutton o donde mejor te apañe.
En fin, soluciones hay, solo es cuestión de darle un par de vueltas al tema.
Un abrazo,
Pepe Llopis