FoxPro/Visual FoxPro - AGREGAR RUTA DE FOTOS EN UNA TABLA TEMP

   
Vista:

AGREGAR RUTA DE FOTOS EN UNA TABLA TEMP

Publicado por HELDER  (710 intervenciones) el 10/02/2011 23:35:08
HOLA COMPAÑEROS

QUIERO AGREGAR LA RUTA DE UNA CANTIDAD DE IMAGENES QUE EXISTEN EN DETERMINADO DIRECTORIO, Y ESAS RUTAS ALMACENARLAS EN UNA TABLA TEMP,

TENGO ESTE CODIGO EL CUAL AGREGO LA RUTA EN UNA MATRIZ, PERO SIEMPRE ME ALMACENA SOLO LA RUTA DE LA PRIMERA IMAGEN DEL DIRECTORIO.

PUBLIC cRut2, cFileName, cRef, g

cFileName = GETFILE("jpg","Indique Localizacion")
IF !EMPTY(cFileName) THEN

cDi = SUBSTR(cFileName,1,3)
cRut2 = SUBSTR( cFileName, 1, RAT( "\", cFileName ))
cRut_ocr = ALLTRIM(cRut2)

SET DEFAULT TO ALLTRIM(cRut2)
SET PATH TO ALLTRIM(cRut2)

g = ADIR(aA1, '*.jpg',"H")

CREATE CURSOR _FTO (n c(50))
SELECT _FTO
APPEND FROM ARRAY aA1
INDEX on n TAG ord1
SET ORDER TO ord1
GO TOP

nC = g

CREATE CURSOR _foto (archivo c(200))


SELECT _FTO
FOR i = 1 TO nC
SELECT _fto
cRef = cRut2 + ALLTRIM(n)
SELECT _foto
APPEND BLANK
replace archivo WITH ALLTRIM(cRef)
SKIP
ENDFOR
ENDIF

SELECT _foto
BROWSE


SALUDOS
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

RE:AGREGAR RUTA DE FOTOS EN UNA TABLA TEMP

Publicado por andy (18 intervenciones) el 11/02/2011 12:35:17
Una cosa,
Visual Foxpro desde la version 6 en adelante, tiene la funcion GETPICT(), Que te muestra todos los formatos graficos soportados.
Ahora si guardas la ruta completa en un campo de la tabla, ¿que pasa cuando por alguna razon, esa carpeta, o sub-carpeta debes moverla, o colocarla en otra ubicacion? ¿O si la aplicacion corre en red?
En mi caso utilizo otra tecnica, que consiste en almacenar, en la tabla, el nombre del archivo y su extencion con esto.

m.foto=getpict()
m.foto=justfname(m.foto)

Luego puedo establecer una variable con la ubicacion de la carpeta de FOTOS o
con SET PATH hacer lo mismo y establecer la carpeta donde buscar esas imagenes.
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

RE:AGREGAR RUTA DE FOTOS EN UNA TABLA TEMP

Publicado por Gabriel (112 intervenciones) el 13/02/2011 07:48:44
Hola,

Tu problema está en el recorrifo a haces al cursor _fto.

* Al momento que realizas el Skip, lo está haciendo pero al cursor _foto, ya que es el cursor seleccionado. Para corregirlo bas con colocar : Select _fto antes del SKIP.

* Para recorrer un cursor lo debemos hacer con un SCAN y nos olvidamos del Skip.
* Te dejo este código, quizá te ayude en algo.

**********************************************************************
* Cargar archivos de un directorio a un cursor. (Ruta, Nombre)
**********************************************************************

* Cursor
CREATE CURSOR cFotos(ruta c(200), foto c(50))

* Establecer directorio de fotos.
lcRuta = GETDIR('', 'Seleccione la carpeta donde están ubicadas las fotos', 'Carga de fotos')
IF EMPTY(ALLTRIM(lcRuta))
MESSAGEBOX('Por favor, selecione una carpeta...', 48, 'Titulo')
RETURN
ENDIF

* Cargar las fotos.
SET DEFAULT TO "&lcRuta"
lnCantFot = ADIR(aFotos, '*.png',"H")

IF lnCantFot = 0
MESSAGEBOX('No se ubicaron fotos con extensión *.BMP', 48, 'Titulo')
RETURN
ELSE
MESSAGEBOX('Se encontraron '+ALLTRIM(STR(lnCantFot))+' fotos...',0+64, 'Titulo')
ENDIF

* Agregar las fotos al cursor.
FOR i = 1 TO ALEN(aFotos, 1)
SELECT cFotos
APPEND BLANK
REPLACE ruta WITH lcRuta, foto WITH aFotos[i, 1]
ENDFOR

SELECT cFotos
GO TOP
BROWSE

Saludos.
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

AGREGAR RUTA DE FOTOS EN UNA TABLA TEMP

Publicado por claudio (1 intervención) el 02/07/2014 15:28:20
Estimado te falta un select _fto, por eso siempre te agrega solo 1


SELECT _FTO
FOR i = 1 TO nC && aqui yo haria un cicli scan while !eof()
SELECT _fto
cRef = cRut2 + ALLTRIM(n)
SELECT _foto
APPEND BLANK
replace archivo WITH ALLTRIM(cRef)

*** aqui te falta el select
SELECT _FTO
SKIP
ENDFOR
ENDIF
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