FoxPro/Visual FoxPro - Mostrar fotos en visual fox

 
Vista:
sin imagen de perfil

Mostrar fotos en visual fox

Publicado por Ruben Dario (57 intervenciones) el 28/10/2014 11:18:55
Buenos Días

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?

Mil gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Mostrar fotos en visual fox

Publicado por Fidel José (558 intervenciones) el 28/10/2014 14:37:19
Depende de que tengas permisos para la carpeta del servidor donde están las fotos y siempre que estemos hablando de una LAN.
Si hablamos de una LAN, si conoces la ruta en la que se guardan las imágenes y tienes los permisos necesarios, puedes intentar con una rutina como la que sigue:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
PROCEDURE Copia_Imagen
LPARAMETERS tcFolderSource , tcFolderTarget , tcExtension
LOCAL lcFolderTarget,lcFolderSource,lcExtension,i,;
	lnFiSource,lcMensaje,lError,;
	lcFileTarget,lcFileSource,;
	lncopia,lnOmit,lcapostilla,;
	loFso as Object,oFile as Object
 
* Se recomienda Scripting.FileSystemObject
loFso=NEWOBJECT("Scripting.FileSystemObject")
 
* Test de parámetros
* Advertencia: En lugar de "\\central..." y "c:\theodore..." coloca lo que corresponda.
* También puedes devolver si los parámetros están vacíos.
 
lcFolderSource=EVL(tcFolderSource,"\\central\theodore\graphics")
lcFolderTarget=EVL(tcFolderTarget,"c:\theodore\entrada\fotos")
lcExtension=EVL(tcExtension,"jpg")
 
STORE 0 TO lnCopia,lnOmit
* Comprueba carpeta de destino
IF !loFso.FolderExists(lcFolderTarget)
	MD &lcFolderTarget
ENDIF
 
* Comprueba exitencia de carpeta fuente
IF !loFso.FolderExists(lcFolderSource)
	MESSAGEBOX("La carpeta Fuente "+lcFolderSource+" no existe!",0,"Mensaje")
	loFso=null
	RETURN
ENDIF
 
* Genera el array gaSource con las imágenes de lcFolderSource
lnFiSource=ADIR(gaSource,ADDBS(lcFolderSource)+"*."+lcExtension)
* Si lnFiSource=0, no hay imágenes extensión lcExtension
IF EMPTY(lnfiSource)
	MESSAGEBOX("No hay imágenes en "+lcFolderSource,0,"Mensaje")
	loFso=null
	RETURN
ENDIF
 
 
* Comienza el bucle de lectura
lcMensaje=""
lError=.f.
TRY
	LOCAL loex as Exception
	FOR i=1 TO lnfiSource
		lCopia=.t.
		lcFileSource=FORCEPATH(gaSource[i,1],lcFolderSource)
		lcMensaje="Copiando "+LOWER(lcFileSource)+" a "+LOWER(lcFolderTarget)
 
		ofile=loFso.GETFILE(lcFileSource)
		ltSource=ofile.DateLastModified
		lcfileTarget=FORCEPATH(gaSource[i,1],lcFolderTarget)
 
		IF loFso.FileExists(lcFileTarget)
			* si existe el archivo en destino, comprueba las fechas
			ofile=loFso.GETFILE(lcFileTarget)
			ltTarget=ofile.DateLastModified
			IF ltSource <= ltTarget
				lnOmit = lnOmit + 1
				lcopia=.f.
			ENDIF
 
 
		ENDIF
		IF lCopia
			WAIT lcMensaje WINDOW AT 12,15 NOWAIT
			loFso.CopyFile(lcFileSource , ADDBS(lcFolderTarget) )
			WAIT CLEAR
			lnCopia = lnCopia + 1
		ENDIF
 
	ENDFOR
CATCH TO loex
	lError= .t.
	loex.UserValue=PROGRAM()+CHR(13)+lcMensaje+CHR(13)
	lcMensaje="Se produjo un error"+CHR(13);
		+loex.UserValue+CHR(13);
		+loex.Message+CHR(13);
		+"Error Nro "+TRANSFORM(loex.ErrorNo)+CHR(13);
		+"Linea "+TRANSFORM(loex.LineNo)
FINALLY
	lcApostilla=TRANSFORM(lncopia)+" Archivos copiados"+CHR(13);
		+TRANSFORM(lnomit)+" Archivos omitidos."
	oFile=null
	loFso=null
	MESSAGEBOX(IIF(lError,lcMensaje,"Proceso Terminado"+CHR(13)+lcApostilla),0,"Mensaje")
ENDTRY
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Mostrar fotos en visual fox

Publicado por Ernesto (4623 intervenciones) el 28/10/2014 22:29:06
Bueno me imagino que las fotos las mostraras en un control de imagen...
Bueno si es así haz lo siguiente:

Thisform.Nombredelcontroldeimagen.Picture=CarpetadondeestanlasFotos+'\'+Alltrim(Transform(Codigodeltrabajador))+'.ExtensiondelaFoto'

Un ejemplo Seria mas o menos así:

En el formulario tengo un control de imagen con el nombre "FOTO" y la carpeta donde tengo guardadas las fotos es "C:\Fotos" y el nombre del campo donde guardo el código del trabajador es "CODE" y que la extensión de las fotos son "JPG" entonces seria algo mas o menos así:

Thisform.FOTO.Picture="C:\Fotos\"+Alltrim(Transform(CODE))+'.Jpg"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar